1 /* WARNING: This is auto-generated file. Do not modify, since changes will
2 * be lost! Modify the generating script instead.
5 ** Copyright (c) 2019-2021 The Khronos Group Inc.
7 ** SPDX-License-Identifier: Apache-2.0
10 #ifndef VULKAN_VIDEO_CODEC_COMMON_H_
11 #define VULKAN_VIDEO_CODEC_COMMON_H_ 1
17 #define VK_MAKE_VIDEO_STD_VERSION(major, minor, patch) \
18 ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
24 #endif // VULKAN_VIDEO_CODEC_COMMON_H_
26 ** Copyright (c) 2019-2021 The Khronos Group Inc.
28 ** SPDX-License-Identifier: Apache-2.0
31 #ifndef VULKAN_VIDEO_CODEC_H264STD_H_
32 #define VULKAN_VIDEO_CODEC_H264STD_H_ 1
40 // Vulkan 0.9 provisional Vulkan video H.264 encode and decode std specification version number
41 #define VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9 VK_MAKE_VIDEO_STD_VERSION(0, 9, 0) // Patch version should always be set to 0
43 // Format must be in the form XX.XX where the first two digits are the major and the second two, the minor.
44 #define VK_STD_VULKAN_VIDEO_CODEC_H264_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9
45 #define VK_STD_VULKAN_VIDEO_CODEC_H264_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264"
47 // *************************************************
48 // Video H.264 common definitions:
49 // *************************************************
51 typedef enum StdVideoH264ChromaFormatIdc {
52 std_video_h264_chroma_format_idc_monochrome = 0,
53 std_video_h264_chroma_format_idc_420 = 1,
54 std_video_h264_chroma_format_idc_422 = 2,
55 std_video_h264_chroma_format_idc_444 = 3,
56 } StdVideoH264ChromaFormatIdc;
58 typedef enum StdVideoH264ProfileIdc {
59 std_video_h264_profile_idc_baseline = 66, /* Only constrained baseline is supported */
60 std_video_h264_profile_idc_main = 77,
61 std_video_h264_profile_idc_high = 100,
62 std_video_h264_profile_idc_high_444_predictive = 244,
63 std_video_h264_profile_idc_invalid = 0x7FFFFFFF
64 } StdVideoH264ProfileIdc;
66 typedef enum StdVideoH264Level {
67 std_video_h264_level_1_0 = 0,
68 std_video_h264_level_1_1 = 1,
69 std_video_h264_level_1_2 = 2,
70 std_video_h264_level_1_3 = 3,
71 std_video_h264_level_2_0 = 4,
72 std_video_h264_level_2_1 = 5,
73 std_video_h264_level_2_2 = 6,
74 std_video_h264_level_3_0 = 7,
75 std_video_h264_level_3_1 = 8,
76 std_video_h264_level_3_2 = 9,
77 std_video_h264_level_4_0 = 10,
78 std_video_h264_level_4_1 = 11,
79 std_video_h264_level_4_2 = 12,
80 std_video_h264_level_5_0 = 13,
81 std_video_h264_level_5_1 = 14,
82 std_video_h264_level_5_2 = 15,
83 std_video_h264_level_6_0 = 16,
84 std_video_h264_level_6_1 = 17,
85 std_video_h264_level_6_2 = 18,
86 std_video_h264_level_invalid = 0x7FFFFFFF
89 typedef enum StdVideoH264PocType {
90 std_video_h264_poc_type_0 = 0,
91 std_video_h264_poc_type_1 = 1,
92 std_video_h264_poc_type_2 = 2,
93 std_video_h264_poc_type_invalid = 0x7FFFFFFF
94 } StdVideoH264PocType;
96 typedef enum StdVideoH264AspectRatioIdc {
97 std_video_h264_aspect_ratio_idc_unspecified = 0,
98 std_video_h264_aspect_ratio_idc_square = 1,
99 std_video_h264_aspect_ratio_idc_12_11 = 2,
100 std_video_h264_aspect_ratio_idc_10_11 = 3,
101 std_video_h264_aspect_ratio_idc_16_11 = 4,
102 std_video_h264_aspect_ratio_idc_40_33 = 5,
103 std_video_h264_aspect_ratio_idc_24_11 = 6,
104 std_video_h264_aspect_ratio_idc_20_11 = 7,
105 std_video_h264_aspect_ratio_idc_32_11 = 8,
106 std_video_h264_aspect_ratio_idc_80_33 = 9,
107 std_video_h264_aspect_ratio_idc_18_11 = 10,
108 std_video_h264_aspect_ratio_idc_15_11 = 11,
109 std_video_h264_aspect_ratio_idc_64_33 = 12,
110 std_video_h264_aspect_ratio_idc_160_99 = 13,
111 std_video_h264_aspect_ratio_idc_4_3 = 14,
112 std_video_h264_aspect_ratio_idc_3_2 = 15,
113 std_video_h264_aspect_ratio_idc_2_1 = 16,
114 std_video_h264_aspect_ratio_idc_extended_sar = 255,
115 std_video_h264_aspect_ratio_idc_invalid = 0x7FFFFFFF
116 } StdVideoH264AspectRatioIdc;
118 typedef enum StdVideoH264WeightedBiPredIdc {
119 std_video_h264_default_weighted_b_slices_prediction_idc = 0,
120 std_video_h264_explicit_weighted_b_slices_prediction_idc = 1,
121 std_video_h264_implicit_weighted_b_slices_prediction_idc = 2,
122 std_video_h264_invalid_weighted_b_slices_prediction_idc = 0x7FFFFFFF
123 } StdVideoH264WeightedBiPredIdc;
125 typedef enum StdVideoH264ModificationOfPicNumsIdc {
126 std_video_h264_modification_of_pic_nums_idc_short_term_subtract = 0,
127 std_video_h264_modification_of_pic_nums_idc_short_term_add = 1,
128 std_video_h264_modification_of_pic_nums_idc_long_term = 2,
129 std_video_h264_modification_of_pic_nums_idc_end = 3,
130 std_video_h264_modification_of_pic_nums_idc_invalid = 0x7FFFFFFF
131 } StdVideoH264ModificationOfPicNumsIdc;
133 typedef enum StdVideoH264MemMgmtControlOp {
134 std_video_h264_mem_mgmt_control_op_end = 0,
135 std_video_h264_mem_mgmt_control_op_unmark_short_term = 1,
136 std_video_h264_mem_mgmt_control_op_unmark_long_term = 2,
137 std_video_h264_mem_mgmt_control_op_mark_long_term = 3,
138 std_video_h264_mem_mgmt_control_op_set_max_long_term_index = 4,
139 std_video_h264_mem_mgmt_control_op_unmark_all = 5,
140 std_video_h264_mem_mgmt_control_op_mark_current_as_long_term = 6,
141 std_video_h264_mem_mgmt_control_op_invalid = 0x7FFFFFFF
142 } StdVideoH264MemMgmtControlOp;
144 typedef enum StdVideoH264CabacInitIdc {
145 std_video_h264_cabac_init_idc_0 = 0,
146 std_video_h264_cabac_init_idc_1 = 1,
147 std_video_h264_cabac_init_idc_2 = 2,
148 std_video_h264_cabac_init_idc_invalid = 0x7FFFFFFF
149 } StdVideoH264CabacInitIdc;
151 typedef enum StdVideoH264DisableDeblockingFilterIdc {
152 std_video_h264_disable_deblocking_filter_idc_disabled = 0,
153 std_video_h264_disable_deblocking_filter_idc_enabled = 1,
154 std_video_h264_disable_deblocking_filter_idc_partial = 2,
155 std_video_h264_disable_deblocking_filter_idc_invalid = 0x7FFFFFFF
156 } StdVideoH264DisableDeblockingFilterIdc;
158 typedef enum StdVideoH264PictureType {
159 std_video_h264_picture_type_i = 0,
160 std_video_h264_picture_type_p = 1,
161 std_video_h264_picture_type_b = 2,
162 std_video_h264_picture_type_invalid = 0x7FFFFFFF
163 } StdVideoH264PictureType;
165 typedef enum StdVideoH264SliceType {
166 std_video_h264_slice_type_i = 0,
167 std_video_h264_slice_type_p = 1,
168 std_video_h264_slice_type_b = 2,
169 std_video_h264_slice_type_invalid = 0x7FFFFFFF
170 } StdVideoH264SliceType;
172 typedef enum StdVideoH264NonVclNaluType {
173 std_video_h264_non_vcl_nalu_type_sps = 0,
174 std_video_h264_non_vcl_nalu_type_pps = 1,
175 std_video_h264_non_vcl_nalu_type_aud = 2,
176 std_video_h264_non_vcl_nalu_type_prefix = 3,
177 std_video_h264_non_vcl_nalu_type_end_of_sequence = 4,
178 std_video_h264_non_vcl_nalu_type_end_of_stream = 5,
179 std_video_h264_non_vcl_nalu_type_precoded = 6,
180 std_video_h264_non_vcl_nalu_type_invalid = 0x7FFFFFFF
181 } StdVideoH264NonVclNaluType;
183 typedef struct StdVideoH264SpsVuiFlags {
184 deUint32 aspect_ratio_info_present_flag:1;
185 deUint32 overscan_info_present_flag:1;
186 deUint32 overscan_appropriate_flag:1;
187 deUint32 video_signal_type_present_flag:1;
188 deUint32 video_full_range_flag:1;
189 deUint32 color_description_present_flag:1;
190 deUint32 chroma_loc_info_present_flag:1;
191 deUint32 timing_info_present_flag:1;
192 deUint32 fixed_frame_rate_flag:1;
193 deUint32 bitstream_restriction_flag:1;
194 deUint32 nal_hrd_parameters_present_flag:1;
195 deUint32 vcl_hrd_parameters_present_flag:1;
196 } StdVideoH264SpsVuiFlags;
198 typedef struct StdVideoH264HrdParameters {
199 deUint8 cpb_cnt_minus1;
200 deUint8 bit_rate_scale;
201 deUint8 cpb_size_scale;
202 deUint32 bit_rate_value_minus1[32];
203 deUint32 cpb_size_value_minus1[32];
204 deUint8 cbr_flag[32];
205 deUint32 initial_cpb_removal_delay_length_minus1;
206 deUint32 cpb_removal_delay_length_minus1;
207 deUint32 dpb_output_delay_length_minus1;
208 deUint32 time_offset_length;
209 } StdVideoH264HrdParameters;
211 typedef struct StdVideoH264SequenceParameterSetVui {
212 StdVideoH264AspectRatioIdc aspect_ratio_idc;
215 deUint8 video_format;
216 deUint8 color_primaries;
217 deUint8 transfer_characteristics;
218 deUint8 matrix_coefficients;
219 deUint32 num_units_in_tick;
221 StdVideoH264HrdParameters hrd_parameters;
222 deUint8 num_reorder_frames;
223 deUint8 max_dec_frame_buffering;
224 StdVideoH264SpsVuiFlags flags;
225 } StdVideoH264SequenceParameterSetVui;
227 typedef struct StdVideoH264SpsFlags {
228 deUint32 constraint_set0_flag:1;
229 deUint32 constraint_set1_flag:1;
230 deUint32 constraint_set2_flag:1;
231 deUint32 constraint_set3_flag:1;
232 deUint32 constraint_set4_flag:1;
233 deUint32 constraint_set5_flag:1;
234 deUint32 direct_8x8_inference_flag:1;
235 deUint32 mb_adaptive_frame_field_flag:1;
236 deUint32 frame_mbs_only_flag:1;
237 deUint32 delta_pic_order_always_zero_flag:1;
238 deUint32 residual_colour_transform_flag:1;
239 deUint32 gaps_in_frame_num_value_allowed_flag:1;
240 deUint32 first_picture_after_seek_flag:1; // where is this being documented?
241 deUint32 qpprime_y_zero_transform_bypass_flag:1;
242 deUint32 frame_cropping_flag:1;
243 deUint32 scaling_matrix_present_flag:1;
244 deUint32 vui_parameters_present_flag:1;
245 } StdVideoH264SpsFlags;
247 typedef struct StdVideoH264ScalingLists
249 // scaling_list_present_mask has one bit for each
250 // seq_scaling_list_present_flag[i] for SPS OR
251 // pic_scaling_list_present_flag[i] for PPS,
252 // bit 0 - 5 are for each entry of ScalingList4x4
253 // bit 6 - 7 are for each entry plus 6 for ScalingList8x8
254 deUint8 scaling_list_present_mask;
255 // use_default_scaling_matrix_mask has one bit for each
256 // UseDefaultScalingMatrix4x4Flag[ i ] and
257 // UseDefaultScalingMatrix8x8Flag[ i - 6 ] for SPS OR PPS
258 // bit 0 - 5 are for each entry of ScalingList4x4
259 // bit 6 - 7 are for each entry plus 6 for ScalingList8x8
260 deUint8 use_default_scaling_matrix_mask;
261 deUint8 ScalingList4x4[6][16];
262 deUint8 ScalingList8x8[2][64];
263 } StdVideoH264ScalingLists;
265 typedef struct StdVideoH264SequenceParameterSet
267 StdVideoH264ProfileIdc profile_idc;
268 StdVideoH264Level level_idc;
269 deUint8 seq_parameter_set_id;
270 StdVideoH264ChromaFormatIdc chroma_format_idc;
271 deUint8 bit_depth_luma_minus8;
272 deUint8 bit_depth_chroma_minus8;
273 deUint8 log2_max_frame_num_minus4;
274 StdVideoH264PocType pic_order_cnt_type;
275 deUint8 log2_max_pic_order_cnt_lsb_minus4;
276 deInt32 offset_for_non_ref_pic;
277 deInt32 offset_for_top_to_bottom_field;
278 deUint8 num_ref_frames_in_pic_order_cnt_cycle;
279 deUint8 max_num_ref_frames;
280 deUint32 pic_width_in_mbs_minus1;
281 deUint32 pic_height_in_map_units_minus1;
282 deUint32 frame_crop_left_offset;
283 deUint32 frame_crop_right_offset;
284 deUint32 frame_crop_top_offset;
285 deUint32 frame_crop_bottom_offset;
286 StdVideoH264SpsFlags flags;
287 deInt32 offset_for_ref_frame[255]; // The number of valid values are defined by the num_ref_frames_in_pic_order_cnt_cycle
288 StdVideoH264ScalingLists* pScalingLists; // Must be a valid pointer if scaling_matrix_present_flag is set
289 StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui; // Must be a valid pointer if StdVideoH264SpsFlags:vui_parameters_present_flag is set
290 } StdVideoH264SequenceParameterSet;
292 typedef struct StdVideoH264PpsFlags {
293 deUint32 transform_8x8_mode_flag:1;
294 deUint32 redundant_pic_cnt_present_flag:1;
295 deUint32 constrained_intra_pred_flag:1;
296 deUint32 deblocking_filter_control_present_flag:1;
297 deUint32 weighted_bipred_idc_flag:1;
298 deUint32 weighted_pred_flag:1;
299 deUint32 pic_order_present_flag:1;
300 deUint32 entropy_coding_mode_flag:1;
301 deUint32 scaling_matrix_present_flag:1;
302 } StdVideoH264PpsFlags;
304 typedef struct StdVideoH264PictureParameterSet
306 deUint8 seq_parameter_set_id;
307 deUint8 pic_parameter_set_id;
308 deUint8 num_ref_idx_l0_default_active_minus1;
309 deUint8 num_ref_idx_l1_default_active_minus1;
310 StdVideoH264WeightedBiPredIdc weighted_bipred_idc;
311 deInt8 pic_init_qp_minus26;
312 deInt8 pic_init_qs_minus26;
313 deInt8 chroma_qp_index_offset;
314 deInt8 second_chroma_qp_index_offset;
315 StdVideoH264PpsFlags flags;
316 StdVideoH264ScalingLists* pScalingLists; // Must be a valid pointer if StdVideoH264PpsFlags::scaling_matrix_present_flag is set.
317 } StdVideoH264PictureParameterSet;
323 #endif // VULKAN_VIDEO_CODEC_H264STD_H_
325 ** Copyright (c) 2019-2021 The Khronos Group Inc.
327 ** SPDX-License-Identifier: Apache-2.0
330 #ifndef VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_
331 #define VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ 1
339 // *************************************************
340 // Video H.264 Encode related parameters:
341 // *************************************************
343 typedef struct StdVideoEncodeH264SliceHeaderFlags {
345 deUint32 is_reference_flag:1;
346 deUint32 num_ref_idx_active_override_flag:1;
347 deUint32 no_output_of_prior_pics_flag:1;
348 deUint32 long_term_reference_flag:1;
349 deUint32 adaptive_ref_pic_marking_mode_flag:1;
350 deUint32 no_prior_references_available_flag:1;
351 } StdVideoEncodeH264SliceHeaderFlags;
353 typedef struct StdVideoEncodeH264PictureInfoFlags {
355 deUint32 is_reference_flag:1;
356 deUint32 long_term_reference_flag:1;
357 } StdVideoEncodeH264PictureInfoFlags;
359 typedef struct StdVideoEncodeH264RefMgmtFlags {
360 deUint32 ref_pic_list_modification_l0_flag:1;
361 deUint32 ref_pic_list_modification_l1_flag:1;
362 } StdVideoEncodeH264RefMgmtFlags;
364 typedef struct StdVideoEncodeH264RefListModEntry {
365 StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc;
366 deUint16 abs_diff_pic_num_minus1;
367 deUint16 long_term_pic_num;
368 } StdVideoEncodeH264RefListModEntry;
370 typedef struct StdVideoEncodeH264RefPicMarkingEntry {
371 StdVideoH264MemMgmtControlOp operation;
372 deUint16 difference_of_pic_nums_minus1;
373 deUint16 long_term_pic_num;
374 deUint16 long_term_frame_idx;
375 deUint16 max_long_term_frame_idx_plus1;
376 } StdVideoEncodeH264RefPicMarkingEntry;
378 typedef struct StdVideoEncodeH264RefMemMgmtCtrlOperations {
379 StdVideoEncodeH264RefMgmtFlags flags;
380 deUint8 refList0ModOpCount;
381 StdVideoEncodeH264RefListModEntry* pRefList0ModOperations;
382 deUint8 refList1ModOpCount;
383 StdVideoEncodeH264RefListModEntry* pRefList1ModOperations;
384 deUint8 refPicMarkingOpCount;
385 StdVideoEncodeH264RefPicMarkingEntry* pRefPicMarkingOperations;
386 } StdVideoEncodeH264RefMemMgmtCtrlOperations;
388 typedef struct StdVideoEncodeH264PictureInfo {
389 StdVideoEncodeH264PictureInfoFlags flags;
390 StdVideoH264PictureType pictureType;
392 deUint32 pictureOrderCount;
393 deUint16 long_term_pic_num;
394 deUint16 long_term_frame_idx;
395 } StdVideoEncodeH264PictureInfo;
397 typedef struct StdVideoEncodeH264SliceHeader {
398 StdVideoEncodeH264SliceHeaderFlags flags;
399 StdVideoH264SliceType slice_type;
400 deUint8 seq_parameter_set_id;
401 deUint8 pic_parameter_set_id;
403 deUint8 num_ref_idx_l0_active_minus1;
404 deUint8 num_ref_idx_l1_active_minus1;
405 StdVideoH264CabacInitIdc cabac_init_idc;
406 StdVideoH264DisableDeblockingFilterIdc disable_deblocking_filter_idc;
407 deInt8 slice_alpha_c0_offset_div2;
408 deInt8 slice_beta_offset_div2;
409 StdVideoEncodeH264RefMemMgmtCtrlOperations* pMemMgmtCtrlOperations;
410 } StdVideoEncodeH264SliceHeader;
417 #endif // VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_
419 ** Copyright (c) 2019-2021 The Khronos Group Inc.
421 ** SPDX-License-Identifier: Apache-2.0
424 #ifndef VULKAN_VIDEO_CODEC_H265STD_H_
425 #define VULKAN_VIDEO_CODEC_H265STD_H_ 1
433 // Vulkan 0.5 version number WIP
434 #define VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_5 VK_MAKE_VIDEO_STD_VERSION(0, 5, 0) // Patch version should always be set to 0
436 // Format must be in the form XX.XX where the first two digits are the major and the second two, the minor.
437 #define VK_STD_VULKAN_VIDEO_CODEC_H265_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_5
438 #define VK_STD_VULKAN_VIDEO_CODEC_H265_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265"
440 typedef enum StdVideoH265ChromaFormatIdc {
441 std_video_h265_chroma_format_idc_monochrome = 0,
442 std_video_h265_chroma_format_idc_420 = 1,
443 std_video_h265_chroma_format_idc_422 = 2,
444 std_video_h265_chroma_format_idc_444 = 3,
445 } StdVideoH265ChromaFormatIdc;
447 typedef enum StdVideoH265ProfileIdc {
448 std_video_h265_profile_idc_main = 1,
449 std_video_h265_profile_idc_main_10 = 2,
450 std_video_h265_profile_idc_main_still_picture = 3,
451 std_video_h265_profile_idc_format_range_extensions = 4,
452 std_video_h265_profile_idc_scc_extensions = 9,
453 std_video_h265_profile_idc_invalid = 0x7FFFFFFF
454 } StdVideoH265ProfileIdc;
456 typedef enum StdVideoH265Level {
457 std_video_h265_level_1_0 = 0,
458 std_video_h265_level_2_0 = 1,
459 std_video_h265_level_2_1 = 2,
460 std_video_h265_level_3_0 = 3,
461 std_video_h265_level_3_1 = 4,
462 std_video_h265_level_4_0 = 5,
463 std_video_h265_level_4_1 = 6,
464 std_video_h265_level_5_0 = 7,
465 std_video_h265_level_5_1 = 8,
466 std_video_h265_level_5_2 = 9,
467 std_video_h265_level_6_0 = 10,
468 std_video_h265_level_6_1 = 11,
469 std_video_h265_level_6_2 = 12,
470 std_video_h265_level_invalid = 0x7FFFFFFF
474 typedef struct StdVideoH265DecPicBufMgr
476 deUint32 max_latency_increase_plus1[7];
477 deUint8 max_dec_pic_buffering_minus1[7];
478 deUint8 max_num_reorder_pics[7];
479 } StdVideoH265DecPicBufMgr;
481 typedef struct StdVideoH265SubLayerHrdParameters {
482 deUint32 bit_rate_value_minus1[32];
483 deUint32 cpb_size_value_minus1[32];
484 deUint32 cpb_size_du_value_minus1[32];
485 deUint32 bit_rate_du_value_minus1[32];
486 deUint32 cbr_flag; // each bit represents a range of CpbCounts (bit 0 - cpb_cnt_minus1) per sub-layer
487 } StdVideoH265SubLayerHrdParameters;
489 typedef struct StdVideoH265HrdFlags {
490 deUint32 nal_hrd_parameters_present_flag : 1;
491 deUint32 vcl_hrd_parameters_present_flag : 1;
492 deUint32 sub_pic_hrd_params_present_flag : 1;
493 deUint32 sub_pic_cpb_params_in_pic_timing_sei_flag : 1;
494 deUint8 fixed_pic_rate_general_flag; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1
495 deUint8 fixed_pic_rate_within_cvs_flag; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1
496 deUint8 low_delay_hrd_flag; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1
497 } StdVideoH265HrdFlags;
499 typedef struct StdVideoH265HrdParameters {
500 deUint8 tick_divisor_minus2;
501 deUint8 du_cpb_removal_delay_increment_length_minus1;
502 deUint8 dpb_output_delay_du_length_minus1;
503 deUint8 bit_rate_scale;
504 deUint8 cpb_size_scale;
505 deUint8 cpb_size_du_scale;
506 deUint8 initial_cpb_removal_delay_length_minus1;
507 deUint8 au_cpb_removal_delay_length_minus1;
508 deUint8 dpb_output_delay_length_minus1;
509 deUint8 cpb_cnt_minus1[7];
510 deUint16 elemental_duration_in_tc_minus1[7];
511 StdVideoH265SubLayerHrdParameters* SubLayerHrdParametersNal[7];
512 StdVideoH265SubLayerHrdParameters* SubLayerHrdParametersVcl[7];
513 StdVideoH265HrdFlags flags;
514 } StdVideoH265HrdParameters;
516 typedef struct StdVideoH265VpsFlags {
517 deUint32 vps_temporal_id_nesting_flag : 1;
518 deUint32 vps_sub_layer_ordering_info_present_flag : 1;
519 deUint32 vps_timing_info_present_flag : 1;
520 deUint32 vps_poc_proportional_to_timing_flag : 1;
521 } StdVideoH265VpsFlags;
523 typedef struct StdVideoH265VideoParameterSet
525 deUint8 vps_video_parameter_set_id;
526 deUint8 vps_max_sub_layers_minus1;
527 deUint32 vps_num_units_in_tick;
528 deUint32 vps_time_scale;
529 deUint32 vps_num_ticks_poc_diff_one_minus1;
530 StdVideoH265DecPicBufMgr* pDecPicBufMgr;
531 StdVideoH265HrdParameters* hrd_parameters;
532 StdVideoH265VpsFlags flags;
533 } StdVideoH265VideoParameterSet;
535 typedef struct StdVideoH265ScalingLists
537 deUint8 ScalingList4x4[6][16]; // ScalingList[ 0 ][ MatrixID ][ i ] (sizeID = 0)
538 deUint8 ScalingList8x8[6][64]; // ScalingList[ 1 ][ MatrixID ][ i ] (sizeID = 1)
539 deUint8 ScalingList16x16[6][64]; // ScalingList[ 2 ][ MatrixID ][ i ] (sizeID = 2)
540 deUint8 ScalingList32x32[2][64]; // ScalingList[ 3 ][ MatrixID ][ i ] (sizeID = 3)
541 deUint8 ScalingListDCCoef16x16[6]; // scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8, sizeID = 2
542 deUint8 ScalingListDCCoef32x32[2]; // scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8. sizeID = 3
543 } StdVideoH265ScalingLists;
545 typedef struct StdVideoH265SpsVuiFlags {
546 deUint32 aspect_ratio_info_present_flag : 1;
547 deUint32 overscan_info_present_flag : 1;
548 deUint32 overscan_appropriate_flag : 1;
549 deUint32 video_signal_type_present_flag : 1;
550 deUint32 video_full_range_flag : 1;
551 deUint32 colour_description_present_flag : 1;
552 deUint32 chroma_loc_info_present_flag : 1;
553 deUint32 neutral_chroma_indication_flag : 1;
554 deUint32 field_seq_flag : 1;
555 deUint32 frame_field_info_present_flag : 1;
556 deUint32 default_display_window_flag : 1;
557 deUint32 vui_timing_info_present_flag : 1;
558 deUint32 vui_poc_proportional_to_timing_flag : 1;
559 deUint32 vui_hrd_parameters_present_flag : 1;
560 deUint32 bitstream_restriction_flag : 1;
561 deUint32 tiles_fixed_structure_flag : 1;
562 deUint32 motion_vectors_over_pic_boundaries_flag : 1;
563 deUint32 restricted_ref_pic_lists_flag : 1;
564 } StdVideoH265SpsVuiFlags;
566 typedef struct StdVideoH265SequenceParameterSetVui {
567 deUint8 aspect_ratio_idc;
570 deUint8 video_format;
571 deUint8 colour_primaries;
572 deUint8 transfer_characteristics;
573 deUint8 matrix_coeffs;
574 deUint8 chroma_sample_loc_type_top_field;
575 deUint8 chroma_sample_loc_type_bottom_field;
576 deUint16 def_disp_win_left_offset;
577 deUint16 def_disp_win_right_offset;
578 deUint16 def_disp_win_top_offset;
579 deUint16 def_disp_win_bottom_offset;
580 deUint32 vui_num_units_in_tick;
581 deUint32 vui_time_scale;
582 deUint32 vui_num_ticks_poc_diff_one_minus1;
583 StdVideoH265HrdParameters* hrd_parameters;
584 deUint16 min_spatial_segmentation_idc;
585 deUint8 max_bytes_per_pic_denom;
586 deUint8 max_bits_per_min_cu_denom;
587 deUint8 log2_max_mv_length_horizontal;
588 deUint8 log2_max_mv_length_vertical;
589 StdVideoH265SpsVuiFlags flags;
590 } StdVideoH265SequenceParameterSetVui;
592 typedef struct StdVideoH265PredictorPaletteEntries
594 deUint16 PredictorPaletteEntries[3][128];
595 } StdVideoH265PredictorPaletteEntries;
598 typedef struct StdVideoH265SpsFlags {
599 deUint32 sps_temporal_id_nesting_flag : 1;
600 deUint32 separate_colour_plane_flag : 1;
601 deUint32 scaling_list_enabled_flag : 1;
602 deUint32 sps_scaling_list_data_present_flag : 1;
603 deUint32 amp_enabled_flag : 1;
604 deUint32 sample_adaptive_offset_enabled_flag : 1;
605 deUint32 pcm_enabled_flag : 1;
606 deUint32 pcm_loop_filter_disabled_flag : 1;
607 deUint32 long_term_ref_pics_present_flag : 1;
608 deUint32 sps_temporal_mvp_enabled_flag : 1;
609 deUint32 strong_intra_smoothing_enabled_flag : 1;
610 deUint32 vui_parameters_present_flag : 1;
611 deUint32 sps_extension_present_flag : 1;
612 deUint32 sps_range_extension_flag : 1;
614 // extension SPS flags, valid when std_video_h265_profile_idc_format_range_extensions is set
615 deUint32 transform_skip_rotation_enabled_flag : 1;
616 deUint32 transform_skip_context_enabled_flag : 1;
617 deUint32 implicit_rdpcm_enabled_flag : 1;
618 deUint32 explicit_rdpcm_enabled_flag : 1;
619 deUint32 extended_precision_processing_flag : 1;
620 deUint32 intra_smoothing_disabled_flag : 1;
621 deUint32 high_precision_offsets_enabled_flag : 1;
622 deUint32 persistent_rice_adaptation_enabled_flag : 1;
623 deUint32 cabac_bypass_alignment_enabled_flag : 1;
625 // extension SPS flags, valid when std_video_h265_profile_idc_scc_extensions is set
626 deUint32 sps_curr_pic_ref_enabled_flag : 1;
627 deUint32 palette_mode_enabled_flag : 1;
628 deUint32 sps_palette_predictor_initializer_present_flag : 1;
629 deUint32 intra_boundary_filtering_disabled_flag : 1;
630 } StdVideoH265SpsFlags;
632 typedef struct StdVideoH265SequenceParameterSet
634 StdVideoH265ProfileIdc profile_idc;
635 StdVideoH265Level level_idc;
636 deUint32 pic_width_in_luma_samples;
637 deUint32 pic_height_in_luma_samples;
638 deUint8 sps_video_parameter_set_id;
639 deUint8 sps_max_sub_layers_minus1;
640 deUint8 sps_seq_parameter_set_id;
641 deUint8 chroma_format_idc;
642 deUint8 bit_depth_luma_minus8;
643 deUint8 bit_depth_chroma_minus8;
644 deUint8 log2_max_pic_order_cnt_lsb_minus4;
645 deUint8 sps_max_dec_pic_buffering_minus1;
646 deUint8 log2_min_luma_coding_block_size_minus3;
647 deUint8 log2_diff_max_min_luma_coding_block_size;
648 deUint8 log2_min_luma_transform_block_size_minus2;
649 deUint8 log2_diff_max_min_luma_transform_block_size;
650 deUint8 max_transform_hierarchy_depth_inter;
651 deUint8 max_transform_hierarchy_depth_intra;
652 deUint8 num_short_term_ref_pic_sets;
653 deUint8 num_long_term_ref_pics_sps;
654 deUint8 pcm_sample_bit_depth_luma_minus1;
655 deUint8 pcm_sample_bit_depth_chroma_minus1;
656 deUint8 log2_min_pcm_luma_coding_block_size_minus3;
657 deUint8 log2_diff_max_min_pcm_luma_coding_block_size;
658 deUint32 conf_win_left_offset;
659 deUint32 conf_win_right_offset;
660 deUint32 conf_win_top_offset;
661 deUint32 conf_win_bottom_offset;
662 StdVideoH265DecPicBufMgr* pDecPicBufMgr;
663 StdVideoH265SpsFlags flags;
664 StdVideoH265ScalingLists* pScalingLists; // Must be a valid pointer if sps_scaling_list_data_present_flag is set
665 StdVideoH265SequenceParameterSetVui* pSequenceParameterSetVui; // Must be a valid pointer if StdVideoH265SpsFlags:vui_parameters_present_flag is set palette_max_size;
667 // extension SPS flags, valid when std_video_h265_profile_idc_scc_extensions is set
668 deUint8 palette_max_size;
669 deUint8 delta_palette_max_predictor_size;
670 deUint8 motion_vector_resolution_control_idc;
671 deUint8 sps_num_palette_predictor_initializer_minus1;
672 StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; // Must be a valid pointer if sps_palette_predictor_initializer_present_flag is set
673 } StdVideoH265SequenceParameterSet;
676 typedef struct StdVideoH265PpsFlags {
677 deUint32 dependent_slice_segments_enabled_flag : 1;
678 deUint32 output_flag_present_flag : 1;
679 deUint32 sign_data_hiding_enabled_flag : 1;
680 deUint32 cabac_init_present_flag : 1;
681 deUint32 constrained_intra_pred_flag : 1;
682 deUint32 transform_skip_enabled_flag : 1;
683 deUint32 cu_qp_delta_enabled_flag : 1;
684 deUint32 pps_slice_chroma_qp_offsets_present_flag : 1;
685 deUint32 weighted_pred_flag : 1;
686 deUint32 weighted_bipred_flag : 1;
687 deUint32 transquant_bypass_enabled_flag : 1;
688 deUint32 tiles_enabled_flag : 1;
689 deUint32 entropy_coding_sync_enabled_flag : 1;
690 deUint32 uniform_spacing_flag : 1;
691 deUint32 loop_filter_across_tiles_enabled_flag : 1;
692 deUint32 pps_loop_filter_across_slices_enabled_flag : 1;
693 deUint32 deblocking_filter_control_present_flag : 1;
694 deUint32 deblocking_filter_override_enabled_flag : 1;
695 deUint32 pps_deblocking_filter_disabled_flag : 1;
696 deUint32 pps_scaling_list_data_present_flag : 1;
697 deUint32 lists_modification_present_flag : 1;
698 deUint32 slice_segment_header_extension_present_flag : 1;
699 deUint32 pps_extension_present_flag : 1;
701 // extension PPS flags, valid when std_video_h265_profile_idc_format_range_extensions is set
702 deUint32 cross_component_prediction_enabled_flag : 1;
703 deUint32 chroma_qp_offset_list_enabled_flag : 1;
705 // extension PPS flags, valid when std_video_h265_profile_idc_scc_extensions is set
706 deUint32 pps_curr_pic_ref_enabled_flag : 1;
707 deUint32 residual_adaptive_colour_transform_enabled_flag : 1;
708 deUint32 pps_slice_act_qp_offsets_present_flag : 1;
709 deUint32 pps_palette_predictor_initializer_present_flag : 1;
710 deUint32 monochrome_palette_flag : 1;
711 deUint32 pps_range_extension_flag : 1;
712 } StdVideoH265PpsFlags;
714 typedef struct StdVideoH265PictureParameterSet
716 deUint8 pps_pic_parameter_set_id;
717 deUint8 pps_seq_parameter_set_id;
718 deUint8 num_extra_slice_header_bits;
719 deUint8 num_ref_idx_l0_default_active_minus1;
720 deUint8 num_ref_idx_l1_default_active_minus1;
721 deInt8 init_qp_minus26;
722 deUint8 diff_cu_qp_delta_depth;
723 deInt8 pps_cb_qp_offset;
724 deInt8 pps_cr_qp_offset;
725 deUint8 num_tile_columns_minus1;
726 deUint8 num_tile_rows_minus1;
727 deUint16 column_width_minus1[19];
728 deUint16 row_height_minus1[21];
729 deInt8 pps_beta_offset_div2;
730 deInt8 pps_tc_offset_div2;
731 deUint8 log2_parallel_merge_level_minus2;
732 StdVideoH265PpsFlags flags;
733 StdVideoH265ScalingLists* pScalingLists; // Must be a valid pointer if pps_scaling_list_data_present_flag is set
735 // extension PPS, valid when std_video_h265_profile_idc_format_range_extensions is set
736 deUint8 log2_max_transform_skip_block_size_minus2;
737 deUint8 diff_cu_chroma_qp_offset_depth;
738 deUint8 chroma_qp_offset_list_len_minus1;
739 deInt8 cb_qp_offset_list[6];
740 deInt8 cr_qp_offset_list[6];
741 deUint8 log2_sao_offset_scale_luma;
742 deUint8 log2_sao_offset_scale_chroma;
744 // extension PPS, valid when std_video_h265_profile_idc_scc_extensions is set
745 deInt8 pps_act_y_qp_offset_plus5;
746 deInt8 pps_act_cb_qp_offset_plus5;
747 deInt8 pps_act_cr_qp_offset_plus5;
748 deUint8 pps_num_palette_predictor_initializer;
749 deUint8 luma_bit_depth_entry_minus8;
750 deUint8 chroma_bit_depth_entry_minus8;
751 StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; // Must be a valid pointer if pps_palette_predictor_initializer_present_flag is set
752 } StdVideoH265PictureParameterSet;
758 #endif // VULKAN_VIDEO_CODEC_H265STD_H_
760 ** Copyright (c) 2019-2020 The Khronos Group Inc.
762 ** SPDX-License-Identifier: Apache-2.0
765 #ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
766 #define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1
774 // *************************************************
775 // Video H.264 Decode related parameters:
776 // *************************************************
778 typedef struct StdVideoDecodeH264PictureInfoFlags {
779 deUint32 field_pic_flag:1; // Is field picture
780 deUint32 is_intra:1; // Is intra picture
781 deUint32 bottom_field_flag:1; // bottom (true) or top (false) field if field_pic_flag is set.
782 deUint32 is_reference:1; // This only applies to picture info, and not to the DPB lists.
783 deUint32 complementary_field_pair:1; // complementary field pair, complementary non-reference field pair, complementary reference field pair
784 } StdVideoDecodeH264PictureInfoFlags;
786 typedef struct StdVideoDecodeH264PictureInfo {
787 deUint8 seq_parameter_set_id; // Selecting SPS from the Picture Parameters
788 deUint8 pic_parameter_set_id; // Selecting PPS from the Picture Parameters and the SPS
789 deUint16 reserved; // for structure members 32-bit packing/alignment
790 deUint16 frame_num; // 7.4.3 Slice header semantics
791 deUint16 idr_pic_id; // 7.4.3 Slice header semantics
792 // PicOrderCnt is based on TopFieldOrderCnt and BottomFieldOrderCnt. See 8.2.1 Decoding process for picture order count type 0 - 2
793 deInt32 PicOrderCnt[2]; // TopFieldOrderCnt and BottomFieldOrderCnt fields.
794 StdVideoDecodeH264PictureInfoFlags flags;
795 } StdVideoDecodeH264PictureInfo;
797 typedef struct StdVideoDecodeH264ReferenceInfoFlags {
798 deUint32 top_field_flag:1; // Reference is used for top field reference.
799 deUint32 bottom_field_flag:1; // Reference is used for bottom field reference.
800 deUint32 is_long_term:1; // this is a long term reference
801 deUint32 is_non_existing:1; // Must be handled in accordance with 8.2.5.2: Decoding process for gaps in frame_num
802 } StdVideoDecodeH264ReferenceInfoFlags;
804 typedef struct StdVideoDecodeH264ReferenceInfo {
805 // FrameNum = is_long_term ? long_term_frame_idx : frame_num
806 deUint16 FrameNum; // 7.4.3.3 Decoded reference picture marking semantics
807 deUint16 reserved; // for structure members 32-bit packing/alignment
808 deInt32 PicOrderCnt[2]; // TopFieldOrderCnt and BottomFieldOrderCnt fields.
809 StdVideoDecodeH264ReferenceInfoFlags flags;
810 } StdVideoDecodeH264ReferenceInfo;
812 typedef struct StdVideoDecodeH264MvcElementFlags {
814 deUint32 anchor_pic:1;
815 deUint32 inter_view:1;
816 } StdVideoDecodeH264MvcElementFlags;
818 typedef struct StdVideoDecodeH264MvcElement {
819 StdVideoDecodeH264MvcElementFlags flags;
820 deUint16 viewOrderIndex;
822 deUint16 temporalId; // move out?
823 deUint16 priorityId; // move out?
824 deUint16 numOfAnchorRefsInL0;
825 deUint16 viewIdOfAnchorRefsInL0[15];
826 deUint16 numOfAnchorRefsInL1;
827 deUint16 viewIdOfAnchorRefsInL1[15];
828 deUint16 numOfNonAnchorRefsInL0;
829 deUint16 viewIdOfNonAnchorRefsInL0[15];
830 deUint16 numOfNonAnchorRefsInL1;
831 deUint16 viewIdOfNonAnchorRefsInL1[15];
832 } StdVideoDecodeH264MvcElement;
834 typedef struct StdVideoDecodeH264Mvc {
836 deUint32 mvcElementCount;
837 StdVideoDecodeH264MvcElement* pMvcElements;
838 } StdVideoDecodeH264Mvc;
845 #endif // VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
847 ** Copyright (c) 2019-2021 The Khronos Group Inc.
849 ** SPDX-License-Identifier: Apache-2.0
852 #ifndef VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
853 #define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1
861 // *************************************************
862 // Video h265 Decode related parameters:
863 // *************************************************
865 typedef struct StdVideoDecodeH265PictureInfoFlags {
866 deUint32 IrapPicFlag : 1;
867 deUint32 IdrPicFlag : 1;
868 deUint32 IsReference : 1;
869 deUint32 short_term_ref_pic_set_sps_flag : 1;
870 } StdVideoDecodeH265PictureInfoFlags;
872 typedef struct StdVideoDecodeH265PictureInfo {
873 deUint8 vps_video_parameter_set_id;
874 deUint8 sps_seq_parameter_set_id;
875 deUint8 pps_pic_parameter_set_id;
876 deUint8 num_short_term_ref_pic_sets;
877 deInt32 PicOrderCntVal;
878 deUint16 NumBitsForSTRefPicSetInSlice; // number of bits used in st_ref_pic_set()
879 //when short_term_ref_pic_set_sps_flag is 0; otherwise set to 0.
880 deUint8 NumDeltaPocsOfRefRpsIdx; // NumDeltaPocs[ RefRpsIdx ] when short_term_ref_pic_set_sps_flag = 1, otherwise 0
881 deUint8 RefPicSetStCurrBefore[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing
882 //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
883 deUint8 RefPicSetStCurrAfter[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing
884 //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
885 deUint8 RefPicSetLtCurr[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing
886 //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
887 StdVideoDecodeH265PictureInfoFlags flags;
888 } StdVideoDecodeH265PictureInfo;
890 typedef struct StdVideoDecodeH265ReferenceInfoFlags {
891 deUint32 is_long_term : 1;
892 deUint32 is_non_existing : 1;
893 } StdVideoDecodeH265ReferenceInfoFlags;
895 typedef struct StdVideoDecodeH265ReferenceInfo {
896 deInt32 PicOrderCntVal;
897 StdVideoDecodeH265ReferenceInfoFlags flags;
898 } StdVideoDecodeH265ReferenceInfo;
904 #endif // VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
905 #ifndef VULKAN_CORE_H_
906 #define VULKAN_CORE_H_ 1
909 ** Copyright 2015-2021 The Khronos Group Inc.
911 ** SPDX-License-Identifier: Apache-2.0
915 ** This header is generated from the Khronos Vulkan XML API Registry.
926 #define VK_VERSION_1_0 1
929 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
932 #ifndef VK_USE_64_BIT_PTR_DEFINES
933 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
934 #define VK_USE_64_BIT_PTR_DEFINES 1
936 #define VK_USE_64_BIT_PTR_DEFINES 0
941 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
942 #if (VK_USE_64_BIT_PTR_DEFINES==1)
943 #if __cplusplus >= 201103L
944 #define VK_NULL_HANDLE nullptr
946 #define VK_NULL_HANDLE 0
949 #define VK_NULL_HANDLE 0ULL
953 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
954 #if (VK_USE_64_BIT_PTR_DEFINES==1)
955 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
957 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef deUint64 object;
961 // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead.
962 #define VK_MAKE_VERSION(major, minor, patch) \
963 ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
965 // 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.
966 //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
968 #define VK_MAKE_API_VERSION(variant, major, minor, patch) \
969 ((((deUint32)(variant)) << 29) | (((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
971 // Vulkan 1.0 version number
972 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
974 // Version of this file
975 #define VK_HEADER_VERSION 175
977 // Complete version of this file
978 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION)
980 // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead.
981 #define VK_VERSION_MAJOR(version) ((deUint32)(version) >> 22)
983 // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead.
984 #define VK_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU)
986 // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead.
987 #define VK_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU)
989 #define VK_API_VERSION_VARIANT(version) ((deUint32)(version) >> 29)
990 #define VK_API_VERSION_MAJOR(version) (((deUint32)(version) >> 22) & 0x7FU)
991 #define VK_API_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU)
992 #define VK_API_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU)
993 typedef deUint32 VkBool32;
994 typedef deUint64 VkDeviceAddress;
995 typedef deUint64 VkDeviceSize;
996 typedef deUint32 VkFlags;
997 typedef deUint32 VkSampleMask;
998 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
999 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
1000 VK_DEFINE_HANDLE(VkInstance)
1001 VK_DEFINE_HANDLE(VkPhysicalDevice)
1002 VK_DEFINE_HANDLE(VkDevice)
1003 VK_DEFINE_HANDLE(VkQueue)
1004 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
1005 VK_DEFINE_HANDLE(VkCommandBuffer)
1006 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
1007 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
1008 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
1009 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
1010 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
1011 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
1012 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
1013 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
1014 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
1015 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
1016 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
1017 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
1018 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
1019 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
1020 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
1021 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
1022 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
1023 #define VK_ATTACHMENT_UNUSED (~0U)
1025 #define VK_LOD_CLAMP_NONE 1000.0F
1026 #define VK_QUEUE_FAMILY_IGNORED (~0U)
1027 #define VK_REMAINING_ARRAY_LAYERS (~0U)
1028 #define VK_REMAINING_MIP_LEVELS (~0U)
1029 #define VK_SUBPASS_EXTERNAL (~0U)
1031 #define VK_WHOLE_SIZE (~0ULL)
1032 #define VK_MAX_MEMORY_TYPES 32U
1033 #define VK_MAX_MEMORY_HEAPS 16U
1034 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U
1035 #define VK_UUID_SIZE 16U
1036 #define VK_MAX_EXTENSION_NAME_SIZE 256U
1037 #define VK_MAX_DESCRIPTION_SIZE 256U
1039 typedef enum VkResult {
1046 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
1047 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
1048 VK_ERROR_INITIALIZATION_FAILED = -3,
1049 VK_ERROR_DEVICE_LOST = -4,
1050 VK_ERROR_MEMORY_MAP_FAILED = -5,
1051 VK_ERROR_LAYER_NOT_PRESENT = -6,
1052 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
1053 VK_ERROR_FEATURE_NOT_PRESENT = -8,
1054 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
1055 VK_ERROR_TOO_MANY_OBJECTS = -10,
1056 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
1057 VK_ERROR_FRAGMENTED_POOL = -12,
1058 VK_ERROR_UNKNOWN = -13,
1059 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
1060 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
1061 VK_ERROR_FRAGMENTATION = -1000161000,
1062 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
1063 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
1064 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
1065 VK_SUBOPTIMAL_KHR = 1000001003,
1066 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
1067 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
1068 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
1069 VK_ERROR_INVALID_SHADER_NV = -1000012000,
1070 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
1071 VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
1072 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
1073 VK_THREAD_IDLE_KHR = 1000268000,
1074 VK_THREAD_DONE_KHR = 1000268001,
1075 VK_OPERATION_DEFERRED_KHR = 1000268002,
1076 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
1077 VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000,
1078 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
1079 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
1080 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
1081 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
1082 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
1083 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED_EXT,
1084 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
1087 typedef enum VkStructureType {
1088 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
1089 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
1090 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
1091 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
1092 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
1093 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
1094 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
1095 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
1096 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
1097 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
1098 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
1099 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
1100 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
1101 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
1102 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
1103 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
1104 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
1105 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
1106 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
1107 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
1108 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
1109 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
1110 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
1111 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
1112 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
1113 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
1114 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
1115 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
1116 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
1117 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
1118 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
1119 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
1120 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
1121 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
1122 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
1123 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
1124 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
1125 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
1126 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
1127 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
1128 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
1129 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
1130 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
1131 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
1132 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
1133 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
1134 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
1135 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
1136 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
1137 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
1138 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
1139 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
1140 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
1141 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
1142 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
1143 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
1144 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
1145 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
1146 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
1147 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
1148 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
1149 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
1150 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
1151 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
1152 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
1153 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
1154 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
1155 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
1156 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
1157 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
1158 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
1159 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
1160 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
1161 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
1162 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
1163 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
1164 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
1165 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
1166 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
1167 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
1168 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
1169 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
1170 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
1171 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
1172 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
1173 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
1174 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
1175 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
1176 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
1177 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
1178 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
1179 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
1180 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
1181 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
1182 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
1183 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
1184 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
1185 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
1186 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
1187 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
1188 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
1189 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
1190 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
1191 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
1192 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
1193 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
1194 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
1195 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
1196 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
1197 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
1198 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
1199 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
1200 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
1201 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
1202 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
1203 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
1204 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
1205 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
1206 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
1207 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
1208 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
1209 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
1210 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
1211 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
1212 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
1213 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
1214 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
1215 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
1216 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
1217 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
1218 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
1219 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
1220 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
1221 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
1222 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
1223 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
1224 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
1225 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
1226 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
1227 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
1228 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
1229 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
1230 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
1231 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
1232 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
1233 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
1234 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
1235 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
1236 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
1237 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
1238 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
1239 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
1240 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
1241 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
1242 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
1243 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
1244 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
1245 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
1246 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
1247 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
1248 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
1249 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
1250 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
1251 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
1252 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
1253 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
1254 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
1255 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
1256 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
1257 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
1258 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
1259 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
1260 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
1261 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
1262 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
1263 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
1264 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
1265 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
1266 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
1267 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
1268 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
1269 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
1270 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
1271 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
1272 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
1273 #ifdef VK_ENABLE_BETA_EXTENSIONS
1274 VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR = 1000023000,
1276 #ifdef VK_ENABLE_BETA_EXTENSIONS
1277 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001,
1279 #ifdef VK_ENABLE_BETA_EXTENSIONS
1280 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR = 1000023002,
1282 #ifdef VK_ENABLE_BETA_EXTENSIONS
1283 VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR = 1000023003,
1285 #ifdef VK_ENABLE_BETA_EXTENSIONS
1286 VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR = 1000023004,
1288 #ifdef VK_ENABLE_BETA_EXTENSIONS
1289 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005,
1291 #ifdef VK_ENABLE_BETA_EXTENSIONS
1292 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006,
1294 #ifdef VK_ENABLE_BETA_EXTENSIONS
1295 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007,
1297 #ifdef VK_ENABLE_BETA_EXTENSIONS
1298 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008,
1300 #ifdef VK_ENABLE_BETA_EXTENSIONS
1301 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009,
1303 #ifdef VK_ENABLE_BETA_EXTENSIONS
1304 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010,
1306 #ifdef VK_ENABLE_BETA_EXTENSIONS
1307 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR = 1000023011,
1309 #ifdef VK_ENABLE_BETA_EXTENSIONS
1310 VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000023012,
1312 #ifdef VK_ENABLE_BETA_EXTENSIONS
1313 VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR = 1000023013,
1315 #ifdef VK_ENABLE_BETA_EXTENSIONS
1316 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
1318 #ifdef VK_ENABLE_BETA_EXTENSIONS
1319 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
1321 #ifdef VK_ENABLE_BETA_EXTENSIONS
1322 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
1324 #ifdef VK_ENABLE_BETA_EXTENSIONS
1325 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
1327 #ifdef VK_ENABLE_BETA_EXTENSIONS
1328 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
1330 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
1331 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
1332 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
1333 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
1334 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
1335 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
1336 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
1337 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
1338 #ifdef VK_ENABLE_BETA_EXTENSIONS
1339 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
1341 #ifdef VK_ENABLE_BETA_EXTENSIONS
1342 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT = 1000038001,
1344 #ifdef VK_ENABLE_BETA_EXTENSIONS
1345 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038002,
1347 #ifdef VK_ENABLE_BETA_EXTENSIONS
1348 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038003,
1350 #ifdef VK_ENABLE_BETA_EXTENSIONS
1351 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038004,
1353 #ifdef VK_ENABLE_BETA_EXTENSIONS
1354 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038005,
1356 #ifdef VK_ENABLE_BETA_EXTENSIONS
1357 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038006,
1359 #ifdef VK_ENABLE_BETA_EXTENSIONS
1360 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038007,
1362 #ifdef VK_ENABLE_BETA_EXTENSIONS
1363 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038008,
1365 #ifdef VK_ENABLE_BETA_EXTENSIONS
1366 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000,
1368 #ifdef VK_ENABLE_BETA_EXTENSIONS
1369 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT = 1000040001,
1371 #ifdef VK_ENABLE_BETA_EXTENSIONS
1372 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040002,
1374 #ifdef VK_ENABLE_BETA_EXTENSIONS
1375 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040003,
1377 #ifdef VK_ENABLE_BETA_EXTENSIONS
1378 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040004,
1380 #ifdef VK_ENABLE_BETA_EXTENSIONS
1381 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040005,
1383 #ifdef VK_ENABLE_BETA_EXTENSIONS
1384 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040006,
1386 #ifdef VK_ENABLE_BETA_EXTENSIONS
1387 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007,
1389 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
1390 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
1391 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
1392 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
1393 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
1394 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
1395 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
1396 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
1397 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
1398 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
1399 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000,
1400 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
1401 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
1402 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
1403 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
1404 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
1405 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
1406 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
1407 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
1408 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
1409 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
1410 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
1411 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
1412 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
1413 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
1414 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
1415 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
1416 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
1417 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
1418 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
1419 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
1420 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
1421 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
1422 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
1423 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
1424 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
1425 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
1426 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
1427 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
1428 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
1429 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
1430 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
1431 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
1432 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
1433 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
1434 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
1435 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
1436 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
1437 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
1438 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
1439 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
1440 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
1441 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
1442 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
1443 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
1444 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
1445 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
1446 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
1447 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
1448 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
1449 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
1450 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
1451 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
1452 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
1453 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
1454 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
1455 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
1456 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
1457 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
1458 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
1459 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
1460 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
1461 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
1462 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
1463 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
1464 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
1465 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
1466 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
1467 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
1468 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
1469 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
1470 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
1471 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,
1472 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001,
1473 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002,
1474 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003,
1475 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
1476 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
1477 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
1478 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
1479 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
1480 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
1481 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
1482 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
1483 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
1484 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
1485 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
1486 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
1487 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
1488 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
1489 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
1490 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
1491 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
1492 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
1493 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
1494 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
1495 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
1496 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
1497 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
1498 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
1499 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
1500 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
1501 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
1502 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
1503 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
1504 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
1505 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
1506 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
1507 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
1508 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
1509 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
1510 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
1511 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
1512 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
1513 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
1514 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
1515 #ifdef VK_ENABLE_BETA_EXTENSIONS
1516 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
1518 #ifdef VK_ENABLE_BETA_EXTENSIONS
1519 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
1521 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
1522 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
1523 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
1524 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
1525 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
1526 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
1527 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
1528 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
1529 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
1530 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
1531 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
1532 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
1533 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
1534 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
1535 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
1536 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
1537 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
1538 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
1539 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
1540 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
1541 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
1542 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
1543 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
1544 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
1545 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
1546 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
1547 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
1548 #ifdef VK_ENABLE_BETA_EXTENSIONS
1549 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000,
1551 #ifdef VK_ENABLE_BETA_EXTENSIONS
1552 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT = 1000187001,
1554 #ifdef VK_ENABLE_BETA_EXTENSIONS
1555 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187002,
1557 #ifdef VK_ENABLE_BETA_EXTENSIONS
1558 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187003,
1560 #ifdef VK_ENABLE_BETA_EXTENSIONS
1561 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187004,
1563 #ifdef VK_ENABLE_BETA_EXTENSIONS
1564 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187005,
1566 #ifdef VK_ENABLE_BETA_EXTENSIONS
1567 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187006,
1569 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
1570 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
1571 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
1572 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
1573 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
1574 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000,
1575 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
1576 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
1577 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
1578 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
1579 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
1580 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
1581 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
1582 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
1583 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
1584 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
1585 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
1586 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
1587 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
1588 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
1589 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
1590 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
1591 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
1592 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
1593 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
1594 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
1595 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000,
1596 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
1597 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
1598 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
1599 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
1600 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000,
1601 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001,
1602 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002,
1603 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
1604 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
1605 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
1606 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
1607 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
1608 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
1609 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
1610 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
1611 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
1612 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
1613 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
1614 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
1615 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
1616 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
1617 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
1618 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000,
1619 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
1620 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
1621 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
1622 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
1623 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
1624 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
1625 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
1626 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
1627 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
1628 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
1629 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
1630 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
1631 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
1632 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
1633 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
1634 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
1635 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
1636 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
1637 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
1638 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
1639 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
1640 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
1641 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
1642 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
1643 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
1644 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000,
1645 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
1646 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
1647 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
1648 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
1649 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
1650 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
1651 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
1652 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
1653 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000,
1654 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001,
1655 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
1656 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
1657 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
1658 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
1659 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
1660 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
1661 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
1662 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
1663 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
1664 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
1665 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
1666 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
1667 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
1668 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = 1000295000,
1669 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = 1000295001,
1670 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = 1000295002,
1671 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000,
1672 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
1673 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
1674 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = 1000314000,
1675 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = 1000314001,
1676 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = 1000314002,
1677 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = 1000314003,
1678 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = 1000314004,
1679 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = 1000314005,
1680 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = 1000314006,
1681 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = 1000314007,
1682 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
1683 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
1684 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000,
1685 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
1686 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
1687 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
1688 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
1689 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
1690 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
1691 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
1692 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000,
1693 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
1694 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000,
1695 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001,
1696 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002,
1697 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003,
1698 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004,
1699 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005,
1700 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006,
1701 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007,
1702 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008,
1703 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009,
1704 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010,
1705 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
1706 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
1707 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
1708 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
1709 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
1710 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
1711 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
1712 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
1713 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
1714 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
1715 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
1716 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
1717 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
1718 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
1719 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
1720 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1721 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
1722 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
1723 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
1724 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
1725 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
1726 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
1727 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
1728 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
1729 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
1730 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
1731 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
1732 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
1733 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
1734 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
1735 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
1736 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
1737 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
1738 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
1739 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
1740 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
1741 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
1742 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
1743 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
1744 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
1745 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
1746 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
1747 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
1748 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
1749 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
1750 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
1751 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
1752 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
1753 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
1754 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
1755 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1756 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1757 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
1758 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
1759 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
1760 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
1761 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
1762 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
1763 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
1764 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
1765 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
1766 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
1767 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
1768 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
1769 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
1770 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
1771 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
1772 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
1773 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
1774 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
1775 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
1776 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
1777 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
1778 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1779 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
1780 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
1781 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
1782 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
1783 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
1784 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
1785 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
1786 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
1787 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
1788 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
1789 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
1790 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
1791 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
1792 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
1793 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
1794 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
1795 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
1796 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
1797 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
1798 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
1799 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
1800 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
1801 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
1802 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
1803 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
1804 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
1805 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
1806 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
1807 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
1808 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
1809 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
1810 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
1811 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
1812 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
1813 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
1814 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
1815 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
1816 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
1817 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
1818 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
1819 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
1820 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
1821 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
1822 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
1823 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
1824 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
1825 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1826 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
1827 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
1828 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
1829 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1830 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
1831 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
1832 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
1833 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
1834 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
1837 typedef enum VkImageLayout {
1838 VK_IMAGE_LAYOUT_UNDEFINED = 0,
1839 VK_IMAGE_LAYOUT_GENERAL = 1,
1840 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
1841 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
1842 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
1843 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
1844 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
1845 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
1846 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
1847 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
1848 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
1849 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
1850 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
1851 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
1852 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
1853 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
1854 #ifdef VK_ENABLE_BETA_EXTENSIONS
1855 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
1857 #ifdef VK_ENABLE_BETA_EXTENSIONS
1858 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
1860 #ifdef VK_ENABLE_BETA_EXTENSIONS
1861 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
1863 #ifdef VK_ENABLE_BETA_EXTENSIONS
1864 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
1866 #ifdef VK_ENABLE_BETA_EXTENSIONS
1867 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
1869 #ifdef VK_ENABLE_BETA_EXTENSIONS
1870 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
1872 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
1873 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
1874 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
1875 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000,
1876 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001,
1877 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1878 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1879 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV,
1880 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1881 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1882 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1883 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1884 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1887 typedef enum VkObjectType {
1888 VK_OBJECT_TYPE_UNKNOWN = 0,
1889 VK_OBJECT_TYPE_INSTANCE = 1,
1890 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1891 VK_OBJECT_TYPE_DEVICE = 3,
1892 VK_OBJECT_TYPE_QUEUE = 4,
1893 VK_OBJECT_TYPE_SEMAPHORE = 5,
1894 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1895 VK_OBJECT_TYPE_FENCE = 7,
1896 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1897 VK_OBJECT_TYPE_BUFFER = 9,
1898 VK_OBJECT_TYPE_IMAGE = 10,
1899 VK_OBJECT_TYPE_EVENT = 11,
1900 VK_OBJECT_TYPE_QUERY_POOL = 12,
1901 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1902 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1903 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1904 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1905 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1906 VK_OBJECT_TYPE_RENDER_PASS = 18,
1907 VK_OBJECT_TYPE_PIPELINE = 19,
1908 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1909 VK_OBJECT_TYPE_SAMPLER = 21,
1910 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1911 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1912 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1913 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1914 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1915 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1916 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1917 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1918 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1919 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1920 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1921 #ifdef VK_ENABLE_BETA_EXTENSIONS
1922 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
1924 #ifdef VK_ENABLE_BETA_EXTENSIONS
1925 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
1927 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1928 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1929 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1930 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1931 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1932 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
1933 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
1934 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
1935 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1936 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1937 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1940 typedef enum VkVendorId {
1941 VK_VENDOR_ID_VIV = 0x10001,
1942 VK_VENDOR_ID_VSI = 0x10002,
1943 VK_VENDOR_ID_KAZAN = 0x10003,
1944 VK_VENDOR_ID_CODEPLAY = 0x10004,
1945 VK_VENDOR_ID_MESA = 0x10005,
1946 VK_VENDOR_ID_POCL = 0x10006,
1947 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1950 typedef enum VkPipelineCacheHeaderVersion {
1951 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
1952 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
1953 } VkPipelineCacheHeaderVersion;
1955 typedef enum VkSystemAllocationScope {
1956 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1957 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1958 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1959 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1960 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1961 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
1962 } VkSystemAllocationScope;
1964 typedef enum VkInternalAllocationType {
1965 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
1966 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
1967 } VkInternalAllocationType;
1969 typedef enum VkFormat {
1970 VK_FORMAT_UNDEFINED = 0,
1971 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
1972 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
1973 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
1974 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
1975 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
1976 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
1977 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
1978 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
1979 VK_FORMAT_R8_UNORM = 9,
1980 VK_FORMAT_R8_SNORM = 10,
1981 VK_FORMAT_R8_USCALED = 11,
1982 VK_FORMAT_R8_SSCALED = 12,
1983 VK_FORMAT_R8_UINT = 13,
1984 VK_FORMAT_R8_SINT = 14,
1985 VK_FORMAT_R8_SRGB = 15,
1986 VK_FORMAT_R8G8_UNORM = 16,
1987 VK_FORMAT_R8G8_SNORM = 17,
1988 VK_FORMAT_R8G8_USCALED = 18,
1989 VK_FORMAT_R8G8_SSCALED = 19,
1990 VK_FORMAT_R8G8_UINT = 20,
1991 VK_FORMAT_R8G8_SINT = 21,
1992 VK_FORMAT_R8G8_SRGB = 22,
1993 VK_FORMAT_R8G8B8_UNORM = 23,
1994 VK_FORMAT_R8G8B8_SNORM = 24,
1995 VK_FORMAT_R8G8B8_USCALED = 25,
1996 VK_FORMAT_R8G8B8_SSCALED = 26,
1997 VK_FORMAT_R8G8B8_UINT = 27,
1998 VK_FORMAT_R8G8B8_SINT = 28,
1999 VK_FORMAT_R8G8B8_SRGB = 29,
2000 VK_FORMAT_B8G8R8_UNORM = 30,
2001 VK_FORMAT_B8G8R8_SNORM = 31,
2002 VK_FORMAT_B8G8R8_USCALED = 32,
2003 VK_FORMAT_B8G8R8_SSCALED = 33,
2004 VK_FORMAT_B8G8R8_UINT = 34,
2005 VK_FORMAT_B8G8R8_SINT = 35,
2006 VK_FORMAT_B8G8R8_SRGB = 36,
2007 VK_FORMAT_R8G8B8A8_UNORM = 37,
2008 VK_FORMAT_R8G8B8A8_SNORM = 38,
2009 VK_FORMAT_R8G8B8A8_USCALED = 39,
2010 VK_FORMAT_R8G8B8A8_SSCALED = 40,
2011 VK_FORMAT_R8G8B8A8_UINT = 41,
2012 VK_FORMAT_R8G8B8A8_SINT = 42,
2013 VK_FORMAT_R8G8B8A8_SRGB = 43,
2014 VK_FORMAT_B8G8R8A8_UNORM = 44,
2015 VK_FORMAT_B8G8R8A8_SNORM = 45,
2016 VK_FORMAT_B8G8R8A8_USCALED = 46,
2017 VK_FORMAT_B8G8R8A8_SSCALED = 47,
2018 VK_FORMAT_B8G8R8A8_UINT = 48,
2019 VK_FORMAT_B8G8R8A8_SINT = 49,
2020 VK_FORMAT_B8G8R8A8_SRGB = 50,
2021 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
2022 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
2023 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
2024 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
2025 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
2026 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
2027 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
2028 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
2029 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
2030 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
2031 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
2032 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
2033 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
2034 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
2035 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
2036 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
2037 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
2038 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
2039 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
2040 VK_FORMAT_R16_UNORM = 70,
2041 VK_FORMAT_R16_SNORM = 71,
2042 VK_FORMAT_R16_USCALED = 72,
2043 VK_FORMAT_R16_SSCALED = 73,
2044 VK_FORMAT_R16_UINT = 74,
2045 VK_FORMAT_R16_SINT = 75,
2046 VK_FORMAT_R16_SFLOAT = 76,
2047 VK_FORMAT_R16G16_UNORM = 77,
2048 VK_FORMAT_R16G16_SNORM = 78,
2049 VK_FORMAT_R16G16_USCALED = 79,
2050 VK_FORMAT_R16G16_SSCALED = 80,
2051 VK_FORMAT_R16G16_UINT = 81,
2052 VK_FORMAT_R16G16_SINT = 82,
2053 VK_FORMAT_R16G16_SFLOAT = 83,
2054 VK_FORMAT_R16G16B16_UNORM = 84,
2055 VK_FORMAT_R16G16B16_SNORM = 85,
2056 VK_FORMAT_R16G16B16_USCALED = 86,
2057 VK_FORMAT_R16G16B16_SSCALED = 87,
2058 VK_FORMAT_R16G16B16_UINT = 88,
2059 VK_FORMAT_R16G16B16_SINT = 89,
2060 VK_FORMAT_R16G16B16_SFLOAT = 90,
2061 VK_FORMAT_R16G16B16A16_UNORM = 91,
2062 VK_FORMAT_R16G16B16A16_SNORM = 92,
2063 VK_FORMAT_R16G16B16A16_USCALED = 93,
2064 VK_FORMAT_R16G16B16A16_SSCALED = 94,
2065 VK_FORMAT_R16G16B16A16_UINT = 95,
2066 VK_FORMAT_R16G16B16A16_SINT = 96,
2067 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
2068 VK_FORMAT_R32_UINT = 98,
2069 VK_FORMAT_R32_SINT = 99,
2070 VK_FORMAT_R32_SFLOAT = 100,
2071 VK_FORMAT_R32G32_UINT = 101,
2072 VK_FORMAT_R32G32_SINT = 102,
2073 VK_FORMAT_R32G32_SFLOAT = 103,
2074 VK_FORMAT_R32G32B32_UINT = 104,
2075 VK_FORMAT_R32G32B32_SINT = 105,
2076 VK_FORMAT_R32G32B32_SFLOAT = 106,
2077 VK_FORMAT_R32G32B32A32_UINT = 107,
2078 VK_FORMAT_R32G32B32A32_SINT = 108,
2079 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
2080 VK_FORMAT_R64_UINT = 110,
2081 VK_FORMAT_R64_SINT = 111,
2082 VK_FORMAT_R64_SFLOAT = 112,
2083 VK_FORMAT_R64G64_UINT = 113,
2084 VK_FORMAT_R64G64_SINT = 114,
2085 VK_FORMAT_R64G64_SFLOAT = 115,
2086 VK_FORMAT_R64G64B64_UINT = 116,
2087 VK_FORMAT_R64G64B64_SINT = 117,
2088 VK_FORMAT_R64G64B64_SFLOAT = 118,
2089 VK_FORMAT_R64G64B64A64_UINT = 119,
2090 VK_FORMAT_R64G64B64A64_SINT = 120,
2091 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
2092 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
2093 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
2094 VK_FORMAT_D16_UNORM = 124,
2095 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
2096 VK_FORMAT_D32_SFLOAT = 126,
2097 VK_FORMAT_S8_UINT = 127,
2098 VK_FORMAT_D16_UNORM_S8_UINT = 128,
2099 VK_FORMAT_D24_UNORM_S8_UINT = 129,
2100 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
2101 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
2102 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
2103 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
2104 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
2105 VK_FORMAT_BC2_UNORM_BLOCK = 135,
2106 VK_FORMAT_BC2_SRGB_BLOCK = 136,
2107 VK_FORMAT_BC3_UNORM_BLOCK = 137,
2108 VK_FORMAT_BC3_SRGB_BLOCK = 138,
2109 VK_FORMAT_BC4_UNORM_BLOCK = 139,
2110 VK_FORMAT_BC4_SNORM_BLOCK = 140,
2111 VK_FORMAT_BC5_UNORM_BLOCK = 141,
2112 VK_FORMAT_BC5_SNORM_BLOCK = 142,
2113 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
2114 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
2115 VK_FORMAT_BC7_UNORM_BLOCK = 145,
2116 VK_FORMAT_BC7_SRGB_BLOCK = 146,
2117 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
2118 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
2119 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
2120 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
2121 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
2122 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
2123 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
2124 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
2125 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
2126 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
2127 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
2128 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
2129 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
2130 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
2131 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
2132 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
2133 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
2134 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
2135 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
2136 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
2137 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
2138 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
2139 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
2140 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
2141 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
2142 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
2143 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
2144 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
2145 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
2146 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
2147 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
2148 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
2149 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
2150 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
2151 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
2152 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
2153 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
2154 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
2155 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
2156 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
2157 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
2158 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
2159 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
2160 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
2161 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
2162 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
2163 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
2164 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
2165 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
2166 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
2167 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
2168 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
2169 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
2170 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
2171 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
2172 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
2173 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
2174 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
2175 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
2176 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
2177 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
2178 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
2179 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
2180 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
2181 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
2182 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
2183 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
2184 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
2185 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
2186 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
2187 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
2188 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
2189 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
2190 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
2191 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
2192 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
2193 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
2194 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
2195 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
2196 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
2197 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
2198 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
2199 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
2200 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
2201 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
2202 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
2203 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
2204 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
2205 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
2206 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
2207 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
2208 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
2209 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
2210 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
2211 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = 1000330000,
2212 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = 1000330001,
2213 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = 1000330002,
2214 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = 1000330003,
2215 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000,
2216 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001,
2217 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
2218 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
2219 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
2220 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
2221 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
2222 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
2223 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
2224 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
2225 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
2226 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
2227 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
2228 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
2229 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
2230 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
2231 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
2232 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
2233 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
2234 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
2235 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
2236 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
2237 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
2238 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
2239 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
2240 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
2241 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
2242 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
2243 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
2244 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
2245 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
2246 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
2247 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
2248 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
2249 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
2250 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
2251 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
2254 typedef enum VkImageTiling {
2255 VK_IMAGE_TILING_OPTIMAL = 0,
2256 VK_IMAGE_TILING_LINEAR = 1,
2257 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
2258 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
2261 typedef enum VkImageType {
2262 VK_IMAGE_TYPE_1D = 0,
2263 VK_IMAGE_TYPE_2D = 1,
2264 VK_IMAGE_TYPE_3D = 2,
2265 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
2268 typedef enum VkPhysicalDeviceType {
2269 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
2270 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
2271 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
2272 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
2273 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
2274 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
2275 } VkPhysicalDeviceType;
2277 typedef enum VkQueryType {
2278 VK_QUERY_TYPE_OCCLUSION = 0,
2279 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
2280 VK_QUERY_TYPE_TIMESTAMP = 2,
2281 #ifdef VK_ENABLE_BETA_EXTENSIONS
2282 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
2284 #ifdef VK_ENABLE_BETA_EXTENSIONS
2285 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
2287 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
2288 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
2289 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
2290 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
2291 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
2292 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
2293 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
2296 typedef enum VkSharingMode {
2297 VK_SHARING_MODE_EXCLUSIVE = 0,
2298 VK_SHARING_MODE_CONCURRENT = 1,
2299 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
2302 typedef enum VkComponentSwizzle {
2303 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
2304 VK_COMPONENT_SWIZZLE_ZERO = 1,
2305 VK_COMPONENT_SWIZZLE_ONE = 2,
2306 VK_COMPONENT_SWIZZLE_R = 3,
2307 VK_COMPONENT_SWIZZLE_G = 4,
2308 VK_COMPONENT_SWIZZLE_B = 5,
2309 VK_COMPONENT_SWIZZLE_A = 6,
2310 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
2311 } VkComponentSwizzle;
2313 typedef enum VkImageViewType {
2314 VK_IMAGE_VIEW_TYPE_1D = 0,
2315 VK_IMAGE_VIEW_TYPE_2D = 1,
2316 VK_IMAGE_VIEW_TYPE_3D = 2,
2317 VK_IMAGE_VIEW_TYPE_CUBE = 3,
2318 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
2319 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
2320 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
2321 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
2324 typedef enum VkBlendFactor {
2325 VK_BLEND_FACTOR_ZERO = 0,
2326 VK_BLEND_FACTOR_ONE = 1,
2327 VK_BLEND_FACTOR_SRC_COLOR = 2,
2328 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
2329 VK_BLEND_FACTOR_DST_COLOR = 4,
2330 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
2331 VK_BLEND_FACTOR_SRC_ALPHA = 6,
2332 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
2333 VK_BLEND_FACTOR_DST_ALPHA = 8,
2334 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
2335 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
2336 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
2337 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
2338 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
2339 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
2340 VK_BLEND_FACTOR_SRC1_COLOR = 15,
2341 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
2342 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
2343 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
2344 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
2347 typedef enum VkBlendOp {
2348 VK_BLEND_OP_ADD = 0,
2349 VK_BLEND_OP_SUBTRACT = 1,
2350 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
2351 VK_BLEND_OP_MIN = 3,
2352 VK_BLEND_OP_MAX = 4,
2353 VK_BLEND_OP_ZERO_EXT = 1000148000,
2354 VK_BLEND_OP_SRC_EXT = 1000148001,
2355 VK_BLEND_OP_DST_EXT = 1000148002,
2356 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
2357 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
2358 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
2359 VK_BLEND_OP_DST_IN_EXT = 1000148006,
2360 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
2361 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
2362 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
2363 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
2364 VK_BLEND_OP_XOR_EXT = 1000148011,
2365 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
2366 VK_BLEND_OP_SCREEN_EXT = 1000148013,
2367 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
2368 VK_BLEND_OP_DARKEN_EXT = 1000148015,
2369 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
2370 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
2371 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
2372 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
2373 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
2374 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
2375 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
2376 VK_BLEND_OP_INVERT_EXT = 1000148023,
2377 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
2378 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
2379 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
2380 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
2381 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
2382 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
2383 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
2384 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
2385 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
2386 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
2387 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
2388 VK_BLEND_OP_PLUS_EXT = 1000148035,
2389 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
2390 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
2391 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
2392 VK_BLEND_OP_MINUS_EXT = 1000148039,
2393 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
2394 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
2395 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
2396 VK_BLEND_OP_RED_EXT = 1000148043,
2397 VK_BLEND_OP_GREEN_EXT = 1000148044,
2398 VK_BLEND_OP_BLUE_EXT = 1000148045,
2399 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
2402 typedef enum VkCompareOp {
2403 VK_COMPARE_OP_NEVER = 0,
2404 VK_COMPARE_OP_LESS = 1,
2405 VK_COMPARE_OP_EQUAL = 2,
2406 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
2407 VK_COMPARE_OP_GREATER = 4,
2408 VK_COMPARE_OP_NOT_EQUAL = 5,
2409 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
2410 VK_COMPARE_OP_ALWAYS = 7,
2411 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
2414 typedef enum VkDynamicState {
2415 VK_DYNAMIC_STATE_VIEWPORT = 0,
2416 VK_DYNAMIC_STATE_SCISSOR = 1,
2417 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
2418 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
2419 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
2420 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
2421 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
2422 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
2423 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
2424 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
2425 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
2426 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
2427 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
2428 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
2429 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
2430 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
2431 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
2432 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
2433 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000,
2434 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001,
2435 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002,
2436 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003,
2437 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004,
2438 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005,
2439 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006,
2440 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007,
2441 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008,
2442 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009,
2443 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010,
2444 VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011,
2445 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
2446 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
2447 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
2450 typedef enum VkFrontFace {
2451 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
2452 VK_FRONT_FACE_CLOCKWISE = 1,
2453 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
2456 typedef enum VkVertexInputRate {
2457 VK_VERTEX_INPUT_RATE_VERTEX = 0,
2458 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
2459 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
2460 } VkVertexInputRate;
2462 typedef enum VkPrimitiveTopology {
2463 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
2464 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
2465 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
2466 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
2467 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
2468 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
2469 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
2470 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
2471 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
2472 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
2473 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
2474 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
2475 } VkPrimitiveTopology;
2477 typedef enum VkPolygonMode {
2478 VK_POLYGON_MODE_FILL = 0,
2479 VK_POLYGON_MODE_LINE = 1,
2480 VK_POLYGON_MODE_POINT = 2,
2481 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
2482 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
2485 typedef enum VkStencilOp {
2486 VK_STENCIL_OP_KEEP = 0,
2487 VK_STENCIL_OP_ZERO = 1,
2488 VK_STENCIL_OP_REPLACE = 2,
2489 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
2490 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
2491 VK_STENCIL_OP_INVERT = 5,
2492 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
2493 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
2494 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
2497 typedef enum VkLogicOp {
2498 VK_LOGIC_OP_CLEAR = 0,
2499 VK_LOGIC_OP_AND = 1,
2500 VK_LOGIC_OP_AND_REVERSE = 2,
2501 VK_LOGIC_OP_COPY = 3,
2502 VK_LOGIC_OP_AND_INVERTED = 4,
2503 VK_LOGIC_OP_NO_OP = 5,
2504 VK_LOGIC_OP_XOR = 6,
2506 VK_LOGIC_OP_NOR = 8,
2507 VK_LOGIC_OP_EQUIVALENT = 9,
2508 VK_LOGIC_OP_INVERT = 10,
2509 VK_LOGIC_OP_OR_REVERSE = 11,
2510 VK_LOGIC_OP_COPY_INVERTED = 12,
2511 VK_LOGIC_OP_OR_INVERTED = 13,
2512 VK_LOGIC_OP_NAND = 14,
2513 VK_LOGIC_OP_SET = 15,
2514 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
2517 typedef enum VkBorderColor {
2518 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
2519 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
2520 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
2521 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
2522 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
2523 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
2524 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
2525 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
2526 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
2529 typedef enum VkFilter {
2530 VK_FILTER_NEAREST = 0,
2531 VK_FILTER_LINEAR = 1,
2532 VK_FILTER_CUBIC_IMG = 1000015000,
2533 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
2534 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
2537 typedef enum VkSamplerAddressMode {
2538 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
2539 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
2540 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
2541 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
2542 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
2543 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
2544 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
2545 } VkSamplerAddressMode;
2547 typedef enum VkSamplerMipmapMode {
2548 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
2549 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
2550 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
2551 } VkSamplerMipmapMode;
2553 typedef enum VkDescriptorType {
2554 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
2555 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
2556 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
2557 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
2558 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
2559 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
2560 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
2561 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
2562 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
2563 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
2564 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
2565 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
2566 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
2567 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
2568 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
2569 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
2572 typedef enum VkAttachmentLoadOp {
2573 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
2574 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
2575 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
2576 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
2577 } VkAttachmentLoadOp;
2579 typedef enum VkAttachmentStoreOp {
2580 VK_ATTACHMENT_STORE_OP_STORE = 0,
2581 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
2582 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000,
2583 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
2584 } VkAttachmentStoreOp;
2586 typedef enum VkPipelineBindPoint {
2587 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
2588 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
2589 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
2590 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
2591 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
2592 } VkPipelineBindPoint;
2594 typedef enum VkCommandBufferLevel {
2595 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
2596 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
2597 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
2598 } VkCommandBufferLevel;
2600 typedef enum VkIndexType {
2601 VK_INDEX_TYPE_UINT16 = 0,
2602 VK_INDEX_TYPE_UINT32 = 1,
2603 VK_INDEX_TYPE_NONE_KHR = 1000165000,
2604 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
2605 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
2606 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
2609 typedef enum VkSubpassContents {
2610 VK_SUBPASS_CONTENTS_INLINE = 0,
2611 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
2612 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
2613 } VkSubpassContents;
2615 typedef enum VkAccessFlagBits {
2616 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
2617 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
2618 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
2619 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
2620 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
2621 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
2622 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
2623 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
2624 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
2625 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
2626 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
2627 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
2628 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
2629 VK_ACCESS_HOST_READ_BIT = 0x00002000,
2630 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
2631 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
2632 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
2633 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
2634 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
2635 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
2636 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
2637 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
2638 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
2639 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
2640 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
2641 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
2642 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
2643 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
2644 VK_ACCESS_NONE_KHR = 0,
2645 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
2646 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
2647 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV,
2648 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2650 typedef VkFlags VkAccessFlags;
2652 typedef enum VkImageAspectFlagBits {
2653 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
2654 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
2655 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
2656 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
2657 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
2658 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
2659 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
2660 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
2661 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
2662 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
2663 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
2664 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
2665 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
2666 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
2667 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2668 } VkImageAspectFlagBits;
2669 typedef VkFlags VkImageAspectFlags;
2671 typedef enum VkFormatFeatureFlagBits {
2672 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
2673 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
2674 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
2675 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
2676 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
2677 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
2678 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
2679 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
2680 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
2681 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
2682 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
2683 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
2684 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
2685 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
2686 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
2687 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
2688 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
2689 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
2690 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
2691 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
2692 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
2693 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
2694 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
2695 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
2696 #ifdef VK_ENABLE_BETA_EXTENSIONS
2697 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
2699 #ifdef VK_ENABLE_BETA_EXTENSIONS
2700 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
2702 #ifdef VK_ENABLE_BETA_EXTENSIONS
2703 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
2705 #ifdef VK_ENABLE_BETA_EXTENSIONS
2706 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
2708 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
2709 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
2710 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
2711 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
2712 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
2713 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
2714 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
2715 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
2716 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
2717 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
2718 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,
2719 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
2720 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
2721 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
2722 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2723 } VkFormatFeatureFlagBits;
2724 typedef VkFlags VkFormatFeatureFlags;
2726 typedef enum VkImageCreateFlagBits {
2727 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2728 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2729 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2730 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
2731 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
2732 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
2733 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
2734 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
2735 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
2736 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
2737 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
2738 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
2739 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
2740 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
2741 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
2742 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
2743 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
2744 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
2745 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
2746 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
2747 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
2748 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2749 } VkImageCreateFlagBits;
2750 typedef VkFlags VkImageCreateFlags;
2752 typedef enum VkSampleCountFlagBits {
2753 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
2754 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
2755 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
2756 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
2757 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
2758 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
2759 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
2760 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2761 } VkSampleCountFlagBits;
2762 typedef VkFlags VkSampleCountFlags;
2764 typedef enum VkImageUsageFlagBits {
2765 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2766 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
2767 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
2768 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
2769 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
2770 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
2771 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
2772 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
2773 #ifdef VK_ENABLE_BETA_EXTENSIONS
2774 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
2776 #ifdef VK_ENABLE_BETA_EXTENSIONS
2777 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
2779 #ifdef VK_ENABLE_BETA_EXTENSIONS
2780 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
2782 #ifdef VK_ENABLE_BETA_EXTENSIONS
2783 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
2785 #ifdef VK_ENABLE_BETA_EXTENSIONS
2786 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
2788 #ifdef VK_ENABLE_BETA_EXTENSIONS
2789 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
2791 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
2792 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
2793 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV,
2794 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2795 } VkImageUsageFlagBits;
2796 typedef VkFlags VkImageUsageFlags;
2797 typedef VkFlags VkInstanceCreateFlags;
2799 typedef enum VkMemoryHeapFlagBits {
2800 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
2801 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
2802 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
2803 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2804 } VkMemoryHeapFlagBits;
2805 typedef VkFlags VkMemoryHeapFlags;
2807 typedef enum VkMemoryPropertyFlagBits {
2808 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
2809 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
2810 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
2811 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
2812 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
2813 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
2814 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
2815 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
2816 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2817 } VkMemoryPropertyFlagBits;
2818 typedef VkFlags VkMemoryPropertyFlags;
2820 typedef enum VkQueueFlagBits {
2821 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
2822 VK_QUEUE_COMPUTE_BIT = 0x00000002,
2823 VK_QUEUE_TRANSFER_BIT = 0x00000004,
2824 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
2825 VK_QUEUE_PROTECTED_BIT = 0x00000010,
2826 #ifdef VK_ENABLE_BETA_EXTENSIONS
2827 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
2829 #ifdef VK_ENABLE_BETA_EXTENSIONS
2830 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
2832 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2834 typedef VkFlags VkQueueFlags;
2835 typedef VkFlags VkDeviceCreateFlags;
2837 typedef enum VkDeviceQueueCreateFlagBits {
2838 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
2839 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2840 } VkDeviceQueueCreateFlagBits;
2841 typedef VkFlags VkDeviceQueueCreateFlags;
2843 typedef enum VkPipelineStageFlagBits {
2844 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
2845 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
2846 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
2847 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
2848 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
2849 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
2850 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
2851 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
2852 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
2853 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
2854 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
2855 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
2856 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
2857 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
2858 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
2859 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
2860 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
2861 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
2862 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
2863 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
2864 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
2865 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00400000,
2866 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
2867 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
2868 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
2869 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
2870 VK_PIPELINE_STAGE_NONE_KHR = 0,
2871 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
2872 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
2873 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV,
2874 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2875 } VkPipelineStageFlagBits;
2876 typedef VkFlags VkPipelineStageFlags;
2877 typedef VkFlags VkMemoryMapFlags;
2879 typedef enum VkSparseMemoryBindFlagBits {
2880 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
2881 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2882 } VkSparseMemoryBindFlagBits;
2883 typedef VkFlags VkSparseMemoryBindFlags;
2885 typedef enum VkSparseImageFormatFlagBits {
2886 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
2887 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
2888 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
2889 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2890 } VkSparseImageFormatFlagBits;
2891 typedef VkFlags VkSparseImageFormatFlags;
2893 typedef enum VkFenceCreateFlagBits {
2894 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
2895 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2896 } VkFenceCreateFlagBits;
2897 typedef VkFlags VkFenceCreateFlags;
2898 typedef VkFlags VkSemaphoreCreateFlags;
2900 typedef enum VkEventCreateFlagBits {
2901 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 0x00000001,
2902 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2903 } VkEventCreateFlagBits;
2904 typedef VkFlags VkEventCreateFlags;
2906 typedef enum VkQueryPipelineStatisticFlagBits {
2907 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
2908 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
2909 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
2910 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
2911 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
2912 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
2913 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
2914 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
2915 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
2916 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
2917 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
2918 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2919 } VkQueryPipelineStatisticFlagBits;
2920 typedef VkFlags VkQueryPipelineStatisticFlags;
2921 typedef VkFlags VkQueryPoolCreateFlags;
2923 typedef enum VkQueryResultFlagBits {
2924 VK_QUERY_RESULT_64_BIT = 0x00000001,
2925 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
2926 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
2927 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
2928 #ifdef VK_ENABLE_BETA_EXTENSIONS
2929 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
2931 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2932 } VkQueryResultFlagBits;
2933 typedef VkFlags VkQueryResultFlags;
2935 typedef enum VkBufferCreateFlagBits {
2936 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2937 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2938 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2939 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
2940 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
2941 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2942 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2943 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2944 } VkBufferCreateFlagBits;
2945 typedef VkFlags VkBufferCreateFlags;
2947 typedef enum VkBufferUsageFlagBits {
2948 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2949 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
2950 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
2951 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
2952 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
2953 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
2954 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
2955 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
2956 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
2957 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
2958 #ifdef VK_ENABLE_BETA_EXTENSIONS
2959 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
2961 #ifdef VK_ENABLE_BETA_EXTENSIONS
2962 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
2964 #ifdef VK_ENABLE_BETA_EXTENSIONS
2965 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
2967 #ifdef VK_ENABLE_BETA_EXTENSIONS
2968 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
2970 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
2971 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
2972 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
2973 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
2974 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
2975 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
2976 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
2977 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2978 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2979 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2980 } VkBufferUsageFlagBits;
2981 typedef VkFlags VkBufferUsageFlags;
2982 typedef VkFlags VkBufferViewCreateFlags;
2984 typedef enum VkImageViewCreateFlagBits {
2985 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
2986 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
2987 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2988 } VkImageViewCreateFlagBits;
2989 typedef VkFlags VkImageViewCreateFlags;
2991 typedef enum VkShaderModuleCreateFlagBits {
2992 VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2993 } VkShaderModuleCreateFlagBits;
2994 typedef VkFlags VkShaderModuleCreateFlags;
2996 typedef enum VkPipelineCacheCreateFlagBits {
2997 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001,
2998 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2999 } VkPipelineCacheCreateFlagBits;
3000 typedef VkFlags VkPipelineCacheCreateFlags;
3002 typedef enum VkColorComponentFlagBits {
3003 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
3004 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
3005 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
3006 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
3007 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3008 } VkColorComponentFlagBits;
3009 typedef VkFlags VkColorComponentFlags;
3011 typedef enum VkPipelineCreateFlagBits {
3012 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
3013 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
3014 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
3015 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
3016 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
3017 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
3018 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
3019 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
3020 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
3021 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
3022 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
3023 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
3024 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
3025 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
3026 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
3027 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
3028 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
3029 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100,
3030 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200,
3031 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3032 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
3033 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
3034 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3035 } VkPipelineCreateFlagBits;
3036 typedef VkFlags VkPipelineCreateFlags;
3038 typedef enum VkPipelineShaderStageCreateFlagBits {
3039 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001,
3040 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002,
3041 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3042 } VkPipelineShaderStageCreateFlagBits;
3043 typedef VkFlags VkPipelineShaderStageCreateFlags;
3045 typedef enum VkShaderStageFlagBits {
3046 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
3047 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
3048 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
3049 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
3050 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
3051 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
3052 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
3053 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
3054 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
3055 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
3056 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
3057 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
3058 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
3059 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
3060 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
3061 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
3062 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
3063 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
3064 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
3065 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
3066 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
3067 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
3068 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3069 } VkShaderStageFlagBits;
3071 typedef enum VkCullModeFlagBits {
3072 VK_CULL_MODE_NONE = 0,
3073 VK_CULL_MODE_FRONT_BIT = 0x00000001,
3074 VK_CULL_MODE_BACK_BIT = 0x00000002,
3075 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
3076 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3077 } VkCullModeFlagBits;
3078 typedef VkFlags VkCullModeFlags;
3079 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
3080 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
3081 typedef VkFlags VkPipelineTessellationStateCreateFlags;
3082 typedef VkFlags VkPipelineViewportStateCreateFlags;
3083 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
3084 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
3085 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
3086 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
3087 typedef VkFlags VkPipelineDynamicStateCreateFlags;
3088 typedef VkFlags VkPipelineLayoutCreateFlags;
3089 typedef VkFlags VkShaderStageFlags;
3091 typedef enum VkSamplerCreateFlagBits {
3092 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
3093 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
3094 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3095 } VkSamplerCreateFlagBits;
3096 typedef VkFlags VkSamplerCreateFlags;
3098 typedef enum VkDescriptorPoolCreateFlagBits {
3099 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
3100 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
3101 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
3102 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
3103 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3104 } VkDescriptorPoolCreateFlagBits;
3105 typedef VkFlags VkDescriptorPoolCreateFlags;
3106 typedef VkFlags VkDescriptorPoolResetFlags;
3108 typedef enum VkDescriptorSetLayoutCreateFlagBits {
3109 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
3110 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
3111 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
3112 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
3113 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3114 } VkDescriptorSetLayoutCreateFlagBits;
3115 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
3117 typedef enum VkAttachmentDescriptionFlagBits {
3118 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
3119 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3120 } VkAttachmentDescriptionFlagBits;
3121 typedef VkFlags VkAttachmentDescriptionFlags;
3123 typedef enum VkDependencyFlagBits {
3124 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
3125 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
3126 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
3127 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
3128 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
3129 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3130 } VkDependencyFlagBits;
3131 typedef VkFlags VkDependencyFlags;
3133 typedef enum VkFramebufferCreateFlagBits {
3134 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
3135 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
3136 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3137 } VkFramebufferCreateFlagBits;
3138 typedef VkFlags VkFramebufferCreateFlags;
3140 typedef enum VkRenderPassCreateFlagBits {
3141 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
3142 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3143 } VkRenderPassCreateFlagBits;
3144 typedef VkFlags VkRenderPassCreateFlags;
3146 typedef enum VkSubpassDescriptionFlagBits {
3147 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
3148 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
3149 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
3150 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
3151 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3152 } VkSubpassDescriptionFlagBits;
3153 typedef VkFlags VkSubpassDescriptionFlags;
3155 typedef enum VkCommandPoolCreateFlagBits {
3156 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
3157 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
3158 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
3159 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3160 } VkCommandPoolCreateFlagBits;
3161 typedef VkFlags VkCommandPoolCreateFlags;
3163 typedef enum VkCommandPoolResetFlagBits {
3164 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3165 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3166 } VkCommandPoolResetFlagBits;
3167 typedef VkFlags VkCommandPoolResetFlags;
3169 typedef enum VkCommandBufferUsageFlagBits {
3170 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
3171 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
3172 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
3173 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3174 } VkCommandBufferUsageFlagBits;
3175 typedef VkFlags VkCommandBufferUsageFlags;
3177 typedef enum VkQueryControlFlagBits {
3178 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
3179 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3180 } VkQueryControlFlagBits;
3181 typedef VkFlags VkQueryControlFlags;
3183 typedef enum VkCommandBufferResetFlagBits {
3184 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3185 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3186 } VkCommandBufferResetFlagBits;
3187 typedef VkFlags VkCommandBufferResetFlags;
3189 typedef enum VkStencilFaceFlagBits {
3190 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
3191 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
3192 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
3193 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
3194 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3195 } VkStencilFaceFlagBits;
3196 typedef VkFlags VkStencilFaceFlags;
3197 typedef struct VkExtent2D {
3202 typedef struct VkExtent3D {
3208 typedef struct VkOffset2D {
3213 typedef struct VkOffset3D {
3219 typedef struct VkRect2D {
3224 typedef struct VkBaseInStructure {
3225 VkStructureType sType;
3226 const struct VkBaseInStructure* pNext;
3227 } VkBaseInStructure;
3229 typedef struct VkBaseOutStructure {
3230 VkStructureType sType;
3231 struct VkBaseOutStructure* pNext;
3232 } VkBaseOutStructure;
3234 typedef struct VkBufferMemoryBarrier {
3235 VkStructureType sType;
3237 VkAccessFlags srcAccessMask;
3238 VkAccessFlags dstAccessMask;
3239 deUint32 srcQueueFamilyIndex;
3240 deUint32 dstQueueFamilyIndex;
3242 VkDeviceSize offset;
3244 } VkBufferMemoryBarrier;
3246 typedef struct VkDispatchIndirectCommand {
3250 } VkDispatchIndirectCommand;
3252 typedef struct VkDrawIndexedIndirectCommand {
3253 deUint32 indexCount;
3254 deUint32 instanceCount;
3255 deUint32 firstIndex;
3256 deInt32 vertexOffset;
3257 deUint32 firstInstance;
3258 } VkDrawIndexedIndirectCommand;
3260 typedef struct VkDrawIndirectCommand {
3261 deUint32 vertexCount;
3262 deUint32 instanceCount;
3263 deUint32 firstVertex;
3264 deUint32 firstInstance;
3265 } VkDrawIndirectCommand;
3267 typedef struct VkImageSubresourceRange {
3268 VkImageAspectFlags aspectMask;
3269 deUint32 baseMipLevel;
3270 deUint32 levelCount;
3271 deUint32 baseArrayLayer;
3272 deUint32 layerCount;
3273 } VkImageSubresourceRange;
3275 typedef struct VkImageMemoryBarrier {
3276 VkStructureType sType;
3278 VkAccessFlags srcAccessMask;
3279 VkAccessFlags dstAccessMask;
3280 VkImageLayout oldLayout;
3281 VkImageLayout newLayout;
3282 deUint32 srcQueueFamilyIndex;
3283 deUint32 dstQueueFamilyIndex;
3285 VkImageSubresourceRange subresourceRange;
3286 } VkImageMemoryBarrier;
3288 typedef struct VkMemoryBarrier {
3289 VkStructureType sType;
3291 VkAccessFlags srcAccessMask;
3292 VkAccessFlags dstAccessMask;
3295 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
3298 deUintptr alignment,
3299 VkSystemAllocationScope allocationScope);
3301 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
3305 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
3308 VkInternalAllocationType allocationType,
3309 VkSystemAllocationScope allocationScope);
3311 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
3314 VkInternalAllocationType allocationType,
3315 VkSystemAllocationScope allocationScope);
3317 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
3321 deUintptr alignment,
3322 VkSystemAllocationScope allocationScope);
3324 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
3325 typedef struct VkAllocationCallbacks {
3327 PFN_vkAllocationFunction pfnAllocation;
3328 PFN_vkReallocationFunction pfnReallocation;
3329 PFN_vkFreeFunction pfnFree;
3330 PFN_vkInternalAllocationNotification pfnInternalAllocation;
3331 PFN_vkInternalFreeNotification pfnInternalFree;
3332 } VkAllocationCallbacks;
3334 typedef struct VkApplicationInfo {
3335 VkStructureType sType;
3337 const char* pApplicationName;
3338 deUint32 applicationVersion;
3339 const char* pEngineName;
3340 deUint32 engineVersion;
3341 deUint32 apiVersion;
3342 } VkApplicationInfo;
3344 typedef struct VkFormatProperties {
3345 VkFormatFeatureFlags linearTilingFeatures;
3346 VkFormatFeatureFlags optimalTilingFeatures;
3347 VkFormatFeatureFlags bufferFeatures;
3348 } VkFormatProperties;
3350 typedef struct VkImageFormatProperties {
3351 VkExtent3D maxExtent;
3352 deUint32 maxMipLevels;
3353 deUint32 maxArrayLayers;
3354 VkSampleCountFlags sampleCounts;
3355 VkDeviceSize maxResourceSize;
3356 } VkImageFormatProperties;
3358 typedef struct VkInstanceCreateInfo {
3359 VkStructureType sType;
3361 VkInstanceCreateFlags flags;
3362 const VkApplicationInfo* pApplicationInfo;
3363 deUint32 enabledLayerCount;
3364 const char* const* ppEnabledLayerNames;
3365 deUint32 enabledExtensionCount;
3366 const char* const* ppEnabledExtensionNames;
3367 } VkInstanceCreateInfo;
3369 typedef struct VkMemoryHeap {
3371 VkMemoryHeapFlags flags;
3374 typedef struct VkMemoryType {
3375 VkMemoryPropertyFlags propertyFlags;
3379 typedef struct VkPhysicalDeviceFeatures {
3380 VkBool32 robustBufferAccess;
3381 VkBool32 fullDrawIndexUint32;
3382 VkBool32 imageCubeArray;
3383 VkBool32 independentBlend;
3384 VkBool32 geometryShader;
3385 VkBool32 tessellationShader;
3386 VkBool32 sampleRateShading;
3387 VkBool32 dualSrcBlend;
3389 VkBool32 multiDrawIndirect;
3390 VkBool32 drawIndirectFirstInstance;
3391 VkBool32 depthClamp;
3392 VkBool32 depthBiasClamp;
3393 VkBool32 fillModeNonSolid;
3394 VkBool32 depthBounds;
3396 VkBool32 largePoints;
3397 VkBool32 alphaToOne;
3398 VkBool32 multiViewport;
3399 VkBool32 samplerAnisotropy;
3400 VkBool32 textureCompressionETC2;
3401 VkBool32 textureCompressionASTC_LDR;
3402 VkBool32 textureCompressionBC;
3403 VkBool32 occlusionQueryPrecise;
3404 VkBool32 pipelineStatisticsQuery;
3405 VkBool32 vertexPipelineStoresAndAtomics;
3406 VkBool32 fragmentStoresAndAtomics;
3407 VkBool32 shaderTessellationAndGeometryPointSize;
3408 VkBool32 shaderImageGatherExtended;
3409 VkBool32 shaderStorageImageExtendedFormats;
3410 VkBool32 shaderStorageImageMultisample;
3411 VkBool32 shaderStorageImageReadWithoutFormat;
3412 VkBool32 shaderStorageImageWriteWithoutFormat;
3413 VkBool32 shaderUniformBufferArrayDynamicIndexing;
3414 VkBool32 shaderSampledImageArrayDynamicIndexing;
3415 VkBool32 shaderStorageBufferArrayDynamicIndexing;
3416 VkBool32 shaderStorageImageArrayDynamicIndexing;
3417 VkBool32 shaderClipDistance;
3418 VkBool32 shaderCullDistance;
3419 VkBool32 shaderFloat64;
3420 VkBool32 shaderInt64;
3421 VkBool32 shaderInt16;
3422 VkBool32 shaderResourceResidency;
3423 VkBool32 shaderResourceMinLod;
3424 VkBool32 sparseBinding;
3425 VkBool32 sparseResidencyBuffer;
3426 VkBool32 sparseResidencyImage2D;
3427 VkBool32 sparseResidencyImage3D;
3428 VkBool32 sparseResidency2Samples;
3429 VkBool32 sparseResidency4Samples;
3430 VkBool32 sparseResidency8Samples;
3431 VkBool32 sparseResidency16Samples;
3432 VkBool32 sparseResidencyAliased;
3433 VkBool32 variableMultisampleRate;
3434 VkBool32 inheritedQueries;
3435 } VkPhysicalDeviceFeatures;
3437 typedef struct VkPhysicalDeviceLimits {
3438 deUint32 maxImageDimension1D;
3439 deUint32 maxImageDimension2D;
3440 deUint32 maxImageDimension3D;
3441 deUint32 maxImageDimensionCube;
3442 deUint32 maxImageArrayLayers;
3443 deUint32 maxTexelBufferElements;
3444 deUint32 maxUniformBufferRange;
3445 deUint32 maxStorageBufferRange;
3446 deUint32 maxPushConstantsSize;
3447 deUint32 maxMemoryAllocationCount;
3448 deUint32 maxSamplerAllocationCount;
3449 VkDeviceSize bufferImageGranularity;
3450 VkDeviceSize sparseAddressSpaceSize;
3451 deUint32 maxBoundDescriptorSets;
3452 deUint32 maxPerStageDescriptorSamplers;
3453 deUint32 maxPerStageDescriptorUniformBuffers;
3454 deUint32 maxPerStageDescriptorStorageBuffers;
3455 deUint32 maxPerStageDescriptorSampledImages;
3456 deUint32 maxPerStageDescriptorStorageImages;
3457 deUint32 maxPerStageDescriptorInputAttachments;
3458 deUint32 maxPerStageResources;
3459 deUint32 maxDescriptorSetSamplers;
3460 deUint32 maxDescriptorSetUniformBuffers;
3461 deUint32 maxDescriptorSetUniformBuffersDynamic;
3462 deUint32 maxDescriptorSetStorageBuffers;
3463 deUint32 maxDescriptorSetStorageBuffersDynamic;
3464 deUint32 maxDescriptorSetSampledImages;
3465 deUint32 maxDescriptorSetStorageImages;
3466 deUint32 maxDescriptorSetInputAttachments;
3467 deUint32 maxVertexInputAttributes;
3468 deUint32 maxVertexInputBindings;
3469 deUint32 maxVertexInputAttributeOffset;
3470 deUint32 maxVertexInputBindingStride;
3471 deUint32 maxVertexOutputComponents;
3472 deUint32 maxTessellationGenerationLevel;
3473 deUint32 maxTessellationPatchSize;
3474 deUint32 maxTessellationControlPerVertexInputComponents;
3475 deUint32 maxTessellationControlPerVertexOutputComponents;
3476 deUint32 maxTessellationControlPerPatchOutputComponents;
3477 deUint32 maxTessellationControlTotalOutputComponents;
3478 deUint32 maxTessellationEvaluationInputComponents;
3479 deUint32 maxTessellationEvaluationOutputComponents;
3480 deUint32 maxGeometryShaderInvocations;
3481 deUint32 maxGeometryInputComponents;
3482 deUint32 maxGeometryOutputComponents;
3483 deUint32 maxGeometryOutputVertices;
3484 deUint32 maxGeometryTotalOutputComponents;
3485 deUint32 maxFragmentInputComponents;
3486 deUint32 maxFragmentOutputAttachments;
3487 deUint32 maxFragmentDualSrcAttachments;
3488 deUint32 maxFragmentCombinedOutputResources;
3489 deUint32 maxComputeSharedMemorySize;
3490 deUint32 maxComputeWorkGroupCount[3];
3491 deUint32 maxComputeWorkGroupInvocations;
3492 deUint32 maxComputeWorkGroupSize[3];
3493 deUint32 subPixelPrecisionBits;
3494 deUint32 subTexelPrecisionBits;
3495 deUint32 mipmapPrecisionBits;
3496 deUint32 maxDrawIndexedIndexValue;
3497 deUint32 maxDrawIndirectCount;
3498 float maxSamplerLodBias;
3499 float maxSamplerAnisotropy;
3500 deUint32 maxViewports;
3501 deUint32 maxViewportDimensions[2];
3502 float viewportBoundsRange[2];
3503 deUint32 viewportSubPixelBits;
3504 deUintptr minMemoryMapAlignment;
3505 VkDeviceSize minTexelBufferOffsetAlignment;
3506 VkDeviceSize minUniformBufferOffsetAlignment;
3507 VkDeviceSize minStorageBufferOffsetAlignment;
3508 deInt32 minTexelOffset;
3509 deUint32 maxTexelOffset;
3510 deInt32 minTexelGatherOffset;
3511 deUint32 maxTexelGatherOffset;
3512 float minInterpolationOffset;
3513 float maxInterpolationOffset;
3514 deUint32 subPixelInterpolationOffsetBits;
3515 deUint32 maxFramebufferWidth;
3516 deUint32 maxFramebufferHeight;
3517 deUint32 maxFramebufferLayers;
3518 VkSampleCountFlags framebufferColorSampleCounts;
3519 VkSampleCountFlags framebufferDepthSampleCounts;
3520 VkSampleCountFlags framebufferStencilSampleCounts;
3521 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
3522 deUint32 maxColorAttachments;
3523 VkSampleCountFlags sampledImageColorSampleCounts;
3524 VkSampleCountFlags sampledImageIntegerSampleCounts;
3525 VkSampleCountFlags sampledImageDepthSampleCounts;
3526 VkSampleCountFlags sampledImageStencilSampleCounts;
3527 VkSampleCountFlags storageImageSampleCounts;
3528 deUint32 maxSampleMaskWords;
3529 VkBool32 timestampComputeAndGraphics;
3530 float timestampPeriod;
3531 deUint32 maxClipDistances;
3532 deUint32 maxCullDistances;
3533 deUint32 maxCombinedClipAndCullDistances;
3534 deUint32 discreteQueuePriorities;
3535 float pointSizeRange[2];
3536 float lineWidthRange[2];
3537 float pointSizeGranularity;
3538 float lineWidthGranularity;
3539 VkBool32 strictLines;
3540 VkBool32 standardSampleLocations;
3541 VkDeviceSize optimalBufferCopyOffsetAlignment;
3542 VkDeviceSize optimalBufferCopyRowPitchAlignment;
3543 VkDeviceSize nonCoherentAtomSize;
3544 } VkPhysicalDeviceLimits;
3546 typedef struct VkPhysicalDeviceMemoryProperties {
3547 deUint32 memoryTypeCount;
3548 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
3549 deUint32 memoryHeapCount;
3550 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
3551 } VkPhysicalDeviceMemoryProperties;
3553 typedef struct VkPhysicalDeviceSparseProperties {
3554 VkBool32 residencyStandard2DBlockShape;
3555 VkBool32 residencyStandard2DMultisampleBlockShape;
3556 VkBool32 residencyStandard3DBlockShape;
3557 VkBool32 residencyAlignedMipSize;
3558 VkBool32 residencyNonResidentStrict;
3559 } VkPhysicalDeviceSparseProperties;
3561 typedef struct VkPhysicalDeviceProperties {
3562 deUint32 apiVersion;
3563 deUint32 driverVersion;
3566 VkPhysicalDeviceType deviceType;
3567 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
3568 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
3569 VkPhysicalDeviceLimits limits;
3570 VkPhysicalDeviceSparseProperties sparseProperties;
3571 } VkPhysicalDeviceProperties;
3573 typedef struct VkQueueFamilyProperties {
3574 VkQueueFlags queueFlags;
3575 deUint32 queueCount;
3576 deUint32 timestampValidBits;
3577 VkExtent3D minImageTransferGranularity;
3578 } VkQueueFamilyProperties;
3580 typedef struct VkDeviceQueueCreateInfo {
3581 VkStructureType sType;
3583 VkDeviceQueueCreateFlags flags;
3584 deUint32 queueFamilyIndex;
3585 deUint32 queueCount;
3586 const float* pQueuePriorities;
3587 } VkDeviceQueueCreateInfo;
3589 typedef struct VkDeviceCreateInfo {
3590 VkStructureType sType;
3592 VkDeviceCreateFlags flags;
3593 deUint32 queueCreateInfoCount;
3594 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
3595 deUint32 enabledLayerCount;
3596 const char* const* ppEnabledLayerNames;
3597 deUint32 enabledExtensionCount;
3598 const char* const* ppEnabledExtensionNames;
3599 const VkPhysicalDeviceFeatures* pEnabledFeatures;
3600 } VkDeviceCreateInfo;
3602 typedef struct VkExtensionProperties {
3603 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
3604 deUint32 specVersion;
3605 } VkExtensionProperties;
3607 typedef struct VkLayerProperties {
3608 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
3609 deUint32 specVersion;
3610 deUint32 implementationVersion;
3611 char description[VK_MAX_DESCRIPTION_SIZE];
3612 } VkLayerProperties;
3614 typedef struct VkSubmitInfo {
3615 VkStructureType sType;
3617 deUint32 waitSemaphoreCount;
3618 const VkSemaphore* pWaitSemaphores;
3619 const VkPipelineStageFlags* pWaitDstStageMask;
3620 deUint32 commandBufferCount;
3621 const VkCommandBuffer* pCommandBuffers;
3622 deUint32 signalSemaphoreCount;
3623 const VkSemaphore* pSignalSemaphores;
3626 typedef struct VkMappedMemoryRange {
3627 VkStructureType sType;
3629 VkDeviceMemory memory;
3630 VkDeviceSize offset;
3632 } VkMappedMemoryRange;
3634 typedef struct VkMemoryAllocateInfo {
3635 VkStructureType sType;
3637 VkDeviceSize allocationSize;
3638 deUint32 memoryTypeIndex;
3639 } VkMemoryAllocateInfo;
3641 typedef struct VkMemoryRequirements {
3643 VkDeviceSize alignment;
3644 deUint32 memoryTypeBits;
3645 } VkMemoryRequirements;
3647 typedef struct VkSparseMemoryBind {
3648 VkDeviceSize resourceOffset;
3650 VkDeviceMemory memory;
3651 VkDeviceSize memoryOffset;
3652 VkSparseMemoryBindFlags flags;
3653 } VkSparseMemoryBind;
3655 typedef struct VkSparseBufferMemoryBindInfo {
3658 const VkSparseMemoryBind* pBinds;
3659 } VkSparseBufferMemoryBindInfo;
3661 typedef struct VkSparseImageOpaqueMemoryBindInfo {
3664 const VkSparseMemoryBind* pBinds;
3665 } VkSparseImageOpaqueMemoryBindInfo;
3667 typedef struct VkImageSubresource {
3668 VkImageAspectFlags aspectMask;
3670 deUint32 arrayLayer;
3671 } VkImageSubresource;
3673 typedef struct VkSparseImageMemoryBind {
3674 VkImageSubresource subresource;
3677 VkDeviceMemory memory;
3678 VkDeviceSize memoryOffset;
3679 VkSparseMemoryBindFlags flags;
3680 } VkSparseImageMemoryBind;
3682 typedef struct VkSparseImageMemoryBindInfo {
3685 const VkSparseImageMemoryBind* pBinds;
3686 } VkSparseImageMemoryBindInfo;
3688 typedef struct VkBindSparseInfo {
3689 VkStructureType sType;
3691 deUint32 waitSemaphoreCount;
3692 const VkSemaphore* pWaitSemaphores;
3693 deUint32 bufferBindCount;
3694 const VkSparseBufferMemoryBindInfo* pBufferBinds;
3695 deUint32 imageOpaqueBindCount;
3696 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
3697 deUint32 imageBindCount;
3698 const VkSparseImageMemoryBindInfo* pImageBinds;
3699 deUint32 signalSemaphoreCount;
3700 const VkSemaphore* pSignalSemaphores;
3703 typedef struct VkSparseImageFormatProperties {
3704 VkImageAspectFlags aspectMask;
3705 VkExtent3D imageGranularity;
3706 VkSparseImageFormatFlags flags;
3707 } VkSparseImageFormatProperties;
3709 typedef struct VkSparseImageMemoryRequirements {
3710 VkSparseImageFormatProperties formatProperties;
3711 deUint32 imageMipTailFirstLod;
3712 VkDeviceSize imageMipTailSize;
3713 VkDeviceSize imageMipTailOffset;
3714 VkDeviceSize imageMipTailStride;
3715 } VkSparseImageMemoryRequirements;
3717 typedef struct VkFenceCreateInfo {
3718 VkStructureType sType;
3720 VkFenceCreateFlags flags;
3721 } VkFenceCreateInfo;
3723 typedef struct VkSemaphoreCreateInfo {
3724 VkStructureType sType;
3726 VkSemaphoreCreateFlags flags;
3727 } VkSemaphoreCreateInfo;
3729 typedef struct VkEventCreateInfo {
3730 VkStructureType sType;
3732 VkEventCreateFlags flags;
3733 } VkEventCreateInfo;
3735 typedef struct VkQueryPoolCreateInfo {
3736 VkStructureType sType;
3738 VkQueryPoolCreateFlags flags;
3739 VkQueryType queryType;
3740 deUint32 queryCount;
3741 VkQueryPipelineStatisticFlags pipelineStatistics;
3742 } VkQueryPoolCreateInfo;
3744 typedef struct VkBufferCreateInfo {
3745 VkStructureType sType;
3747 VkBufferCreateFlags flags;
3749 VkBufferUsageFlags usage;
3750 VkSharingMode sharingMode;
3751 deUint32 queueFamilyIndexCount;
3752 const deUint32* pQueueFamilyIndices;
3753 } VkBufferCreateInfo;
3755 typedef struct VkBufferViewCreateInfo {
3756 VkStructureType sType;
3758 VkBufferViewCreateFlags flags;
3761 VkDeviceSize offset;
3763 } VkBufferViewCreateInfo;
3765 typedef struct VkImageCreateInfo {
3766 VkStructureType sType;
3768 VkImageCreateFlags flags;
3769 VkImageType imageType;
3773 deUint32 arrayLayers;
3774 VkSampleCountFlagBits samples;
3775 VkImageTiling tiling;
3776 VkImageUsageFlags usage;
3777 VkSharingMode sharingMode;
3778 deUint32 queueFamilyIndexCount;
3779 const deUint32* pQueueFamilyIndices;
3780 VkImageLayout initialLayout;
3781 } VkImageCreateInfo;
3783 typedef struct VkSubresourceLayout {
3784 VkDeviceSize offset;
3786 VkDeviceSize rowPitch;
3787 VkDeviceSize arrayPitch;
3788 VkDeviceSize depthPitch;
3789 } VkSubresourceLayout;
3791 typedef struct VkComponentMapping {
3792 VkComponentSwizzle r;
3793 VkComponentSwizzle g;
3794 VkComponentSwizzle b;
3795 VkComponentSwizzle a;
3796 } VkComponentMapping;
3798 typedef struct VkImageViewCreateInfo {
3799 VkStructureType sType;
3801 VkImageViewCreateFlags flags;
3803 VkImageViewType viewType;
3805 VkComponentMapping components;
3806 VkImageSubresourceRange subresourceRange;
3807 } VkImageViewCreateInfo;
3809 typedef struct VkShaderModuleCreateInfo {
3810 VkStructureType sType;
3812 VkShaderModuleCreateFlags flags;
3814 const deUint32* pCode;
3815 } VkShaderModuleCreateInfo;
3817 typedef struct VkPipelineCacheCreateInfo {
3818 VkStructureType sType;
3820 VkPipelineCacheCreateFlags flags;
3821 deUintptr initialDataSize;
3822 const void* pInitialData;
3823 } VkPipelineCacheCreateInfo;
3825 typedef struct VkSpecializationMapEntry {
3826 deUint32 constantID;
3829 } VkSpecializationMapEntry;
3831 typedef struct VkSpecializationInfo {
3832 deUint32 mapEntryCount;
3833 const VkSpecializationMapEntry* pMapEntries;
3836 } VkSpecializationInfo;
3838 typedef struct VkPipelineShaderStageCreateInfo {
3839 VkStructureType sType;
3841 VkPipelineShaderStageCreateFlags flags;
3842 VkShaderStageFlagBits stage;
3843 VkShaderModule module;
3845 const VkSpecializationInfo* pSpecializationInfo;
3846 } VkPipelineShaderStageCreateInfo;
3848 typedef struct VkComputePipelineCreateInfo {
3849 VkStructureType sType;
3851 VkPipelineCreateFlags flags;
3852 VkPipelineShaderStageCreateInfo stage;
3853 VkPipelineLayout layout;
3854 VkPipeline basePipelineHandle;
3855 deInt32 basePipelineIndex;
3856 } VkComputePipelineCreateInfo;
3858 typedef struct VkVertexInputBindingDescription {
3861 VkVertexInputRate inputRate;
3862 } VkVertexInputBindingDescription;
3864 typedef struct VkVertexInputAttributeDescription {
3869 } VkVertexInputAttributeDescription;
3871 typedef struct VkPipelineVertexInputStateCreateInfo {
3872 VkStructureType sType;
3874 VkPipelineVertexInputStateCreateFlags flags;
3875 deUint32 vertexBindingDescriptionCount;
3876 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
3877 deUint32 vertexAttributeDescriptionCount;
3878 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
3879 } VkPipelineVertexInputStateCreateInfo;
3881 typedef struct VkPipelineInputAssemblyStateCreateInfo {
3882 VkStructureType sType;
3884 VkPipelineInputAssemblyStateCreateFlags flags;
3885 VkPrimitiveTopology topology;
3886 VkBool32 primitiveRestartEnable;
3887 } VkPipelineInputAssemblyStateCreateInfo;
3889 typedef struct VkPipelineTessellationStateCreateInfo {
3890 VkStructureType sType;
3892 VkPipelineTessellationStateCreateFlags flags;
3893 deUint32 patchControlPoints;
3894 } VkPipelineTessellationStateCreateInfo;
3896 typedef struct VkViewport {
3905 typedef struct VkPipelineViewportStateCreateInfo {
3906 VkStructureType sType;
3908 VkPipelineViewportStateCreateFlags flags;
3909 deUint32 viewportCount;
3910 const VkViewport* pViewports;
3911 deUint32 scissorCount;
3912 const VkRect2D* pScissors;
3913 } VkPipelineViewportStateCreateInfo;
3915 typedef struct VkPipelineRasterizationStateCreateInfo {
3916 VkStructureType sType;
3918 VkPipelineRasterizationStateCreateFlags flags;
3919 VkBool32 depthClampEnable;
3920 VkBool32 rasterizerDiscardEnable;
3921 VkPolygonMode polygonMode;
3922 VkCullModeFlags cullMode;
3923 VkFrontFace frontFace;
3924 VkBool32 depthBiasEnable;
3925 float depthBiasConstantFactor;
3926 float depthBiasClamp;
3927 float depthBiasSlopeFactor;
3929 } VkPipelineRasterizationStateCreateInfo;
3931 typedef struct VkPipelineMultisampleStateCreateInfo {
3932 VkStructureType sType;
3934 VkPipelineMultisampleStateCreateFlags flags;
3935 VkSampleCountFlagBits rasterizationSamples;
3936 VkBool32 sampleShadingEnable;
3937 float minSampleShading;
3938 const VkSampleMask* pSampleMask;
3939 VkBool32 alphaToCoverageEnable;
3940 VkBool32 alphaToOneEnable;
3941 } VkPipelineMultisampleStateCreateInfo;
3943 typedef struct VkStencilOpState {
3946 VkStencilOp depthFailOp;
3947 VkCompareOp compareOp;
3948 deUint32 compareMask;
3953 typedef struct VkPipelineDepthStencilStateCreateInfo {
3954 VkStructureType sType;
3956 VkPipelineDepthStencilStateCreateFlags flags;
3957 VkBool32 depthTestEnable;
3958 VkBool32 depthWriteEnable;
3959 VkCompareOp depthCompareOp;
3960 VkBool32 depthBoundsTestEnable;
3961 VkBool32 stencilTestEnable;
3962 VkStencilOpState front;
3963 VkStencilOpState back;
3964 float minDepthBounds;
3965 float maxDepthBounds;
3966 } VkPipelineDepthStencilStateCreateInfo;
3968 typedef struct VkPipelineColorBlendAttachmentState {
3969 VkBool32 blendEnable;
3970 VkBlendFactor srcColorBlendFactor;
3971 VkBlendFactor dstColorBlendFactor;
3972 VkBlendOp colorBlendOp;
3973 VkBlendFactor srcAlphaBlendFactor;
3974 VkBlendFactor dstAlphaBlendFactor;
3975 VkBlendOp alphaBlendOp;
3976 VkColorComponentFlags colorWriteMask;
3977 } VkPipelineColorBlendAttachmentState;
3979 typedef struct VkPipelineColorBlendStateCreateInfo {
3980 VkStructureType sType;
3982 VkPipelineColorBlendStateCreateFlags flags;
3983 VkBool32 logicOpEnable;
3985 deUint32 attachmentCount;
3986 const VkPipelineColorBlendAttachmentState* pAttachments;
3987 float blendConstants[4];
3988 } VkPipelineColorBlendStateCreateInfo;
3990 typedef struct VkPipelineDynamicStateCreateInfo {
3991 VkStructureType sType;
3993 VkPipelineDynamicStateCreateFlags flags;
3994 deUint32 dynamicStateCount;
3995 const VkDynamicState* pDynamicStates;
3996 } VkPipelineDynamicStateCreateInfo;
3998 typedef struct VkGraphicsPipelineCreateInfo {
3999 VkStructureType sType;
4001 VkPipelineCreateFlags flags;
4002 deUint32 stageCount;
4003 const VkPipelineShaderStageCreateInfo* pStages;
4004 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
4005 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
4006 const VkPipelineTessellationStateCreateInfo* pTessellationState;
4007 const VkPipelineViewportStateCreateInfo* pViewportState;
4008 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
4009 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
4010 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
4011 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
4012 const VkPipelineDynamicStateCreateInfo* pDynamicState;
4013 VkPipelineLayout layout;
4014 VkRenderPass renderPass;
4016 VkPipeline basePipelineHandle;
4017 deInt32 basePipelineIndex;
4018 } VkGraphicsPipelineCreateInfo;
4020 typedef struct VkPushConstantRange {
4021 VkShaderStageFlags stageFlags;
4024 } VkPushConstantRange;
4026 typedef struct VkPipelineLayoutCreateInfo {
4027 VkStructureType sType;
4029 VkPipelineLayoutCreateFlags flags;
4030 deUint32 setLayoutCount;
4031 const VkDescriptorSetLayout* pSetLayouts;
4032 deUint32 pushConstantRangeCount;
4033 const VkPushConstantRange* pPushConstantRanges;
4034 } VkPipelineLayoutCreateInfo;
4036 typedef struct VkSamplerCreateInfo {
4037 VkStructureType sType;
4039 VkSamplerCreateFlags flags;
4042 VkSamplerMipmapMode mipmapMode;
4043 VkSamplerAddressMode addressModeU;
4044 VkSamplerAddressMode addressModeV;
4045 VkSamplerAddressMode addressModeW;
4047 VkBool32 anisotropyEnable;
4048 float maxAnisotropy;
4049 VkBool32 compareEnable;
4050 VkCompareOp compareOp;
4053 VkBorderColor borderColor;
4054 VkBool32 unnormalizedCoordinates;
4055 } VkSamplerCreateInfo;
4057 typedef struct VkCopyDescriptorSet {
4058 VkStructureType sType;
4060 VkDescriptorSet srcSet;
4061 deUint32 srcBinding;
4062 deUint32 srcArrayElement;
4063 VkDescriptorSet dstSet;
4064 deUint32 dstBinding;
4065 deUint32 dstArrayElement;
4066 deUint32 descriptorCount;
4067 } VkCopyDescriptorSet;
4069 typedef struct VkDescriptorBufferInfo {
4071 VkDeviceSize offset;
4073 } VkDescriptorBufferInfo;
4075 typedef struct VkDescriptorImageInfo {
4077 VkImageView imageView;
4078 VkImageLayout imageLayout;
4079 } VkDescriptorImageInfo;
4081 typedef struct VkDescriptorPoolSize {
4082 VkDescriptorType type;
4083 deUint32 descriptorCount;
4084 } VkDescriptorPoolSize;
4086 typedef struct VkDescriptorPoolCreateInfo {
4087 VkStructureType sType;
4089 VkDescriptorPoolCreateFlags flags;
4091 deUint32 poolSizeCount;
4092 const VkDescriptorPoolSize* pPoolSizes;
4093 } VkDescriptorPoolCreateInfo;
4095 typedef struct VkDescriptorSetAllocateInfo {
4096 VkStructureType sType;
4098 VkDescriptorPool descriptorPool;
4099 deUint32 descriptorSetCount;
4100 const VkDescriptorSetLayout* pSetLayouts;
4101 } VkDescriptorSetAllocateInfo;
4103 typedef struct VkDescriptorSetLayoutBinding {
4105 VkDescriptorType descriptorType;
4106 deUint32 descriptorCount;
4107 VkShaderStageFlags stageFlags;
4108 const VkSampler* pImmutableSamplers;
4109 } VkDescriptorSetLayoutBinding;
4111 typedef struct VkDescriptorSetLayoutCreateInfo {
4112 VkStructureType sType;
4114 VkDescriptorSetLayoutCreateFlags flags;
4115 deUint32 bindingCount;
4116 const VkDescriptorSetLayoutBinding* pBindings;
4117 } VkDescriptorSetLayoutCreateInfo;
4119 typedef struct VkWriteDescriptorSet {
4120 VkStructureType sType;
4122 VkDescriptorSet dstSet;
4123 deUint32 dstBinding;
4124 deUint32 dstArrayElement;
4125 deUint32 descriptorCount;
4126 VkDescriptorType descriptorType;
4127 const VkDescriptorImageInfo* pImageInfo;
4128 const VkDescriptorBufferInfo* pBufferInfo;
4129 const VkBufferView* pTexelBufferView;
4130 } VkWriteDescriptorSet;
4132 typedef struct VkAttachmentDescription {
4133 VkAttachmentDescriptionFlags flags;
4135 VkSampleCountFlagBits samples;
4136 VkAttachmentLoadOp loadOp;
4137 VkAttachmentStoreOp storeOp;
4138 VkAttachmentLoadOp stencilLoadOp;
4139 VkAttachmentStoreOp stencilStoreOp;
4140 VkImageLayout initialLayout;
4141 VkImageLayout finalLayout;
4142 } VkAttachmentDescription;
4144 typedef struct VkAttachmentReference {
4145 deUint32 attachment;
4146 VkImageLayout layout;
4147 } VkAttachmentReference;
4149 typedef struct VkFramebufferCreateInfo {
4150 VkStructureType sType;
4152 VkFramebufferCreateFlags flags;
4153 VkRenderPass renderPass;
4154 deUint32 attachmentCount;
4155 const VkImageView* pAttachments;
4159 } VkFramebufferCreateInfo;
4161 typedef struct VkSubpassDescription {
4162 VkSubpassDescriptionFlags flags;
4163 VkPipelineBindPoint pipelineBindPoint;
4164 deUint32 inputAttachmentCount;
4165 const VkAttachmentReference* pInputAttachments;
4166 deUint32 colorAttachmentCount;
4167 const VkAttachmentReference* pColorAttachments;
4168 const VkAttachmentReference* pResolveAttachments;
4169 const VkAttachmentReference* pDepthStencilAttachment;
4170 deUint32 preserveAttachmentCount;
4171 const deUint32* pPreserveAttachments;
4172 } VkSubpassDescription;
4174 typedef struct VkSubpassDependency {
4175 deUint32 srcSubpass;
4176 deUint32 dstSubpass;
4177 VkPipelineStageFlags srcStageMask;
4178 VkPipelineStageFlags dstStageMask;
4179 VkAccessFlags srcAccessMask;
4180 VkAccessFlags dstAccessMask;
4181 VkDependencyFlags dependencyFlags;
4182 } VkSubpassDependency;
4184 typedef struct VkRenderPassCreateInfo {
4185 VkStructureType sType;
4187 VkRenderPassCreateFlags flags;
4188 deUint32 attachmentCount;
4189 const VkAttachmentDescription* pAttachments;
4190 deUint32 subpassCount;
4191 const VkSubpassDescription* pSubpasses;
4192 deUint32 dependencyCount;
4193 const VkSubpassDependency* pDependencies;
4194 } VkRenderPassCreateInfo;
4196 typedef struct VkCommandPoolCreateInfo {
4197 VkStructureType sType;
4199 VkCommandPoolCreateFlags flags;
4200 deUint32 queueFamilyIndex;
4201 } VkCommandPoolCreateInfo;
4203 typedef struct VkCommandBufferAllocateInfo {
4204 VkStructureType sType;
4206 VkCommandPool commandPool;
4207 VkCommandBufferLevel level;
4208 deUint32 commandBufferCount;
4209 } VkCommandBufferAllocateInfo;
4211 typedef struct VkCommandBufferInheritanceInfo {
4212 VkStructureType sType;
4214 VkRenderPass renderPass;
4216 VkFramebuffer framebuffer;
4217 VkBool32 occlusionQueryEnable;
4218 VkQueryControlFlags queryFlags;
4219 VkQueryPipelineStatisticFlags pipelineStatistics;
4220 } VkCommandBufferInheritanceInfo;
4222 typedef struct VkCommandBufferBeginInfo {
4223 VkStructureType sType;
4225 VkCommandBufferUsageFlags flags;
4226 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
4227 } VkCommandBufferBeginInfo;
4229 typedef struct VkBufferCopy {
4230 VkDeviceSize srcOffset;
4231 VkDeviceSize dstOffset;
4235 typedef struct VkImageSubresourceLayers {
4236 VkImageAspectFlags aspectMask;
4238 deUint32 baseArrayLayer;
4239 deUint32 layerCount;
4240 } VkImageSubresourceLayers;
4242 typedef struct VkBufferImageCopy {
4243 VkDeviceSize bufferOffset;
4244 deUint32 bufferRowLength;
4245 deUint32 bufferImageHeight;
4246 VkImageSubresourceLayers imageSubresource;
4247 VkOffset3D imageOffset;
4248 VkExtent3D imageExtent;
4249 } VkBufferImageCopy;
4251 typedef union VkClearColorValue {
4255 } VkClearColorValue;
4257 typedef struct VkClearDepthStencilValue {
4260 } VkClearDepthStencilValue;
4262 typedef union VkClearValue {
4263 VkClearColorValue color;
4264 VkClearDepthStencilValue depthStencil;
4267 typedef struct VkClearAttachment {
4268 VkImageAspectFlags aspectMask;
4269 deUint32 colorAttachment;
4270 VkClearValue clearValue;
4271 } VkClearAttachment;
4273 typedef struct VkClearRect {
4275 deUint32 baseArrayLayer;
4276 deUint32 layerCount;
4279 typedef struct VkImageBlit {
4280 VkImageSubresourceLayers srcSubresource;
4281 VkOffset3D srcOffsets[2];
4282 VkImageSubresourceLayers dstSubresource;
4283 VkOffset3D dstOffsets[2];
4286 typedef struct VkImageCopy {
4287 VkImageSubresourceLayers srcSubresource;
4288 VkOffset3D srcOffset;
4289 VkImageSubresourceLayers dstSubresource;
4290 VkOffset3D dstOffset;
4294 typedef struct VkImageResolve {
4295 VkImageSubresourceLayers srcSubresource;
4296 VkOffset3D srcOffset;
4297 VkImageSubresourceLayers dstSubresource;
4298 VkOffset3D dstOffset;
4302 typedef struct VkRenderPassBeginInfo {
4303 VkStructureType sType;
4305 VkRenderPass renderPass;
4306 VkFramebuffer framebuffer;
4307 VkRect2D renderArea;
4308 deUint32 clearValueCount;
4309 const VkClearValue* pClearValues;
4310 } VkRenderPassBeginInfo;
4312 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
4313 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
4314 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
4315 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
4316 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
4317 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
4318 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
4319 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
4320 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4321 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
4322 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
4323 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
4324 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
4325 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4326 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4327 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(deUint32* pPropertyCount, VkLayerProperties* pProperties);
4328 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties);
4329 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue);
4330 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
4331 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
4332 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
4333 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
4334 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
4335 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
4336 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
4337 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4338 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4339 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
4340 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4341 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4342 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
4343 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
4344 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4345 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties);
4346 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
4347 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
4348 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
4349 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences);
4350 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
4351 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout);
4352 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
4353 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
4354 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
4355 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
4356 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
4357 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
4358 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
4359 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
4360 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
4361 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
4362 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
4363 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
4364 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
4365 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
4366 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
4367 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
4368 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
4369 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
4370 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
4371 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
4372 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
4373 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
4374 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
4375 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData);
4376 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches);
4377 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4378 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4379 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
4380 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
4381 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
4382 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
4383 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
4384 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
4385 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
4386 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
4387 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
4388 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
4389 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
4390 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
4391 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
4392 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
4393 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
4394 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
4395 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
4396 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
4397 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
4398 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
4399 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
4400 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
4401 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4402 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
4403 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
4404 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
4405 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
4406 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports);
4407 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors);
4408 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
4409 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
4410 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
4411 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
4412 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask);
4413 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask);
4414 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference);
4415 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets);
4416 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
4417 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
4418 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance);
4419 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance);
4420 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4421 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4422 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
4423 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
4424 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions);
4425 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions);
4426 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter);
4427 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4428 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4429 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
4430 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data);
4431 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4432 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4433 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects);
4434 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions);
4435 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4436 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4437 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);
4438 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);
4439 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags);
4440 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query);
4441 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
4442 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query);
4443 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
4444 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues);
4445 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
4446 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
4447 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
4448 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4450 #ifndef VK_NO_PROTOTYPES
4451 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
4452 const VkInstanceCreateInfo* pCreateInfo,
4453 const VkAllocationCallbacks* pAllocator,
4454 VkInstance* pInstance);
4456 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
4457 VkInstance instance,
4458 const VkAllocationCallbacks* pAllocator);
4460 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
4461 VkInstance instance,
4462 deUint32* pPhysicalDeviceCount,
4463 VkPhysicalDevice* pPhysicalDevices);
4465 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
4466 VkPhysicalDevice physicalDevice,
4467 VkPhysicalDeviceFeatures* pFeatures);
4469 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
4470 VkPhysicalDevice physicalDevice,
4472 VkFormatProperties* pFormatProperties);
4474 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
4475 VkPhysicalDevice physicalDevice,
4478 VkImageTiling tiling,
4479 VkImageUsageFlags usage,
4480 VkImageCreateFlags flags,
4481 VkImageFormatProperties* pImageFormatProperties);
4483 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
4484 VkPhysicalDevice physicalDevice,
4485 VkPhysicalDeviceProperties* pProperties);
4487 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
4488 VkPhysicalDevice physicalDevice,
4489 deUint32* pQueueFamilyPropertyCount,
4490 VkQueueFamilyProperties* pQueueFamilyProperties);
4492 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
4493 VkPhysicalDevice physicalDevice,
4494 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4496 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
4497 VkInstance instance,
4500 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
4504 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
4505 VkPhysicalDevice physicalDevice,
4506 const VkDeviceCreateInfo* pCreateInfo,
4507 const VkAllocationCallbacks* pAllocator,
4510 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
4512 const VkAllocationCallbacks* pAllocator);
4514 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
4515 const char* pLayerName,
4516 deUint32* pPropertyCount,
4517 VkExtensionProperties* pProperties);
4519 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
4520 VkPhysicalDevice physicalDevice,
4521 const char* pLayerName,
4522 deUint32* pPropertyCount,
4523 VkExtensionProperties* pProperties);
4525 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
4526 deUint32* pPropertyCount,
4527 VkLayerProperties* pProperties);
4529 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
4530 VkPhysicalDevice physicalDevice,
4531 deUint32* pPropertyCount,
4532 VkLayerProperties* pProperties);
4534 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
4536 deUint32 queueFamilyIndex,
4537 deUint32 queueIndex,
4540 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
4542 deUint32 submitCount,
4543 const VkSubmitInfo* pSubmits,
4546 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
4549 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
4552 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
4554 const VkMemoryAllocateInfo* pAllocateInfo,
4555 const VkAllocationCallbacks* pAllocator,
4556 VkDeviceMemory* pMemory);
4558 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
4560 VkDeviceMemory memory,
4561 const VkAllocationCallbacks* pAllocator);
4563 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
4565 VkDeviceMemory memory,
4566 VkDeviceSize offset,
4568 VkMemoryMapFlags flags,
4571 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
4573 VkDeviceMemory memory);
4575 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
4577 deUint32 memoryRangeCount,
4578 const VkMappedMemoryRange* pMemoryRanges);
4580 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
4582 deUint32 memoryRangeCount,
4583 const VkMappedMemoryRange* pMemoryRanges);
4585 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
4587 VkDeviceMemory memory,
4588 VkDeviceSize* pCommittedMemoryInBytes);
4590 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
4593 VkDeviceMemory memory,
4594 VkDeviceSize memoryOffset);
4596 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
4599 VkDeviceMemory memory,
4600 VkDeviceSize memoryOffset);
4602 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
4605 VkMemoryRequirements* pMemoryRequirements);
4607 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
4610 VkMemoryRequirements* pMemoryRequirements);
4612 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
4615 deUint32* pSparseMemoryRequirementCount,
4616 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4618 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
4619 VkPhysicalDevice physicalDevice,
4622 VkSampleCountFlagBits samples,
4623 VkImageUsageFlags usage,
4624 VkImageTiling tiling,
4625 deUint32* pPropertyCount,
4626 VkSparseImageFormatProperties* pProperties);
4628 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
4630 deUint32 bindInfoCount,
4631 const VkBindSparseInfo* pBindInfo,
4634 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
4636 const VkFenceCreateInfo* pCreateInfo,
4637 const VkAllocationCallbacks* pAllocator,
4640 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
4643 const VkAllocationCallbacks* pAllocator);
4645 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
4647 deUint32 fenceCount,
4648 const VkFence* pFences);
4650 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
4654 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
4656 deUint32 fenceCount,
4657 const VkFence* pFences,
4661 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
4663 const VkSemaphoreCreateInfo* pCreateInfo,
4664 const VkAllocationCallbacks* pAllocator,
4665 VkSemaphore* pSemaphore);
4667 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
4669 VkSemaphore semaphore,
4670 const VkAllocationCallbacks* pAllocator);
4672 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
4674 const VkEventCreateInfo* pCreateInfo,
4675 const VkAllocationCallbacks* pAllocator,
4678 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
4681 const VkAllocationCallbacks* pAllocator);
4683 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
4687 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
4691 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
4695 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
4697 const VkQueryPoolCreateInfo* pCreateInfo,
4698 const VkAllocationCallbacks* pAllocator,
4699 VkQueryPool* pQueryPool);
4701 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
4703 VkQueryPool queryPool,
4704 const VkAllocationCallbacks* pAllocator);
4706 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
4708 VkQueryPool queryPool,
4709 deUint32 firstQuery,
4710 deUint32 queryCount,
4713 VkDeviceSize stride,
4714 VkQueryResultFlags flags);
4716 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
4718 const VkBufferCreateInfo* pCreateInfo,
4719 const VkAllocationCallbacks* pAllocator,
4722 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
4725 const VkAllocationCallbacks* pAllocator);
4727 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
4729 const VkBufferViewCreateInfo* pCreateInfo,
4730 const VkAllocationCallbacks* pAllocator,
4731 VkBufferView* pView);
4733 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
4735 VkBufferView bufferView,
4736 const VkAllocationCallbacks* pAllocator);
4738 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
4740 const VkImageCreateInfo* pCreateInfo,
4741 const VkAllocationCallbacks* pAllocator,
4744 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
4747 const VkAllocationCallbacks* pAllocator);
4749 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
4752 const VkImageSubresource* pSubresource,
4753 VkSubresourceLayout* pLayout);
4755 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
4757 const VkImageViewCreateInfo* pCreateInfo,
4758 const VkAllocationCallbacks* pAllocator,
4759 VkImageView* pView);
4761 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
4763 VkImageView imageView,
4764 const VkAllocationCallbacks* pAllocator);
4766 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
4768 const VkShaderModuleCreateInfo* pCreateInfo,
4769 const VkAllocationCallbacks* pAllocator,
4770 VkShaderModule* pShaderModule);
4772 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
4774 VkShaderModule shaderModule,
4775 const VkAllocationCallbacks* pAllocator);
4777 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
4779 const VkPipelineCacheCreateInfo* pCreateInfo,
4780 const VkAllocationCallbacks* pAllocator,
4781 VkPipelineCache* pPipelineCache);
4783 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
4785 VkPipelineCache pipelineCache,
4786 const VkAllocationCallbacks* pAllocator);
4788 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
4790 VkPipelineCache pipelineCache,
4791 deUintptr* pDataSize,
4794 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
4796 VkPipelineCache dstCache,
4797 deUint32 srcCacheCount,
4798 const VkPipelineCache* pSrcCaches);
4800 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
4802 VkPipelineCache pipelineCache,
4803 deUint32 createInfoCount,
4804 const VkGraphicsPipelineCreateInfo* pCreateInfos,
4805 const VkAllocationCallbacks* pAllocator,
4806 VkPipeline* pPipelines);
4808 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
4810 VkPipelineCache pipelineCache,
4811 deUint32 createInfoCount,
4812 const VkComputePipelineCreateInfo* pCreateInfos,
4813 const VkAllocationCallbacks* pAllocator,
4814 VkPipeline* pPipelines);
4816 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
4818 VkPipeline pipeline,
4819 const VkAllocationCallbacks* pAllocator);
4821 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
4823 const VkPipelineLayoutCreateInfo* pCreateInfo,
4824 const VkAllocationCallbacks* pAllocator,
4825 VkPipelineLayout* pPipelineLayout);
4827 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
4829 VkPipelineLayout pipelineLayout,
4830 const VkAllocationCallbacks* pAllocator);
4832 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
4834 const VkSamplerCreateInfo* pCreateInfo,
4835 const VkAllocationCallbacks* pAllocator,
4836 VkSampler* pSampler);
4838 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
4841 const VkAllocationCallbacks* pAllocator);
4843 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
4845 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4846 const VkAllocationCallbacks* pAllocator,
4847 VkDescriptorSetLayout* pSetLayout);
4849 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
4851 VkDescriptorSetLayout descriptorSetLayout,
4852 const VkAllocationCallbacks* pAllocator);
4854 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
4856 const VkDescriptorPoolCreateInfo* pCreateInfo,
4857 const VkAllocationCallbacks* pAllocator,
4858 VkDescriptorPool* pDescriptorPool);
4860 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
4862 VkDescriptorPool descriptorPool,
4863 const VkAllocationCallbacks* pAllocator);
4865 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
4867 VkDescriptorPool descriptorPool,
4868 VkDescriptorPoolResetFlags flags);
4870 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
4872 const VkDescriptorSetAllocateInfo* pAllocateInfo,
4873 VkDescriptorSet* pDescriptorSets);
4875 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
4877 VkDescriptorPool descriptorPool,
4878 deUint32 descriptorSetCount,
4879 const VkDescriptorSet* pDescriptorSets);
4881 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
4883 deUint32 descriptorWriteCount,
4884 const VkWriteDescriptorSet* pDescriptorWrites,
4885 deUint32 descriptorCopyCount,
4886 const VkCopyDescriptorSet* pDescriptorCopies);
4888 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
4890 const VkFramebufferCreateInfo* pCreateInfo,
4891 const VkAllocationCallbacks* pAllocator,
4892 VkFramebuffer* pFramebuffer);
4894 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
4896 VkFramebuffer framebuffer,
4897 const VkAllocationCallbacks* pAllocator);
4899 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
4901 const VkRenderPassCreateInfo* pCreateInfo,
4902 const VkAllocationCallbacks* pAllocator,
4903 VkRenderPass* pRenderPass);
4905 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
4907 VkRenderPass renderPass,
4908 const VkAllocationCallbacks* pAllocator);
4910 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
4912 VkRenderPass renderPass,
4913 VkExtent2D* pGranularity);
4915 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
4917 const VkCommandPoolCreateInfo* pCreateInfo,
4918 const VkAllocationCallbacks* pAllocator,
4919 VkCommandPool* pCommandPool);
4921 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
4923 VkCommandPool commandPool,
4924 const VkAllocationCallbacks* pAllocator);
4926 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
4928 VkCommandPool commandPool,
4929 VkCommandPoolResetFlags flags);
4931 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
4933 const VkCommandBufferAllocateInfo* pAllocateInfo,
4934 VkCommandBuffer* pCommandBuffers);
4936 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
4938 VkCommandPool commandPool,
4939 deUint32 commandBufferCount,
4940 const VkCommandBuffer* pCommandBuffers);
4942 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
4943 VkCommandBuffer commandBuffer,
4944 const VkCommandBufferBeginInfo* pBeginInfo);
4946 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
4947 VkCommandBuffer commandBuffer);
4949 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
4950 VkCommandBuffer commandBuffer,
4951 VkCommandBufferResetFlags flags);
4953 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
4954 VkCommandBuffer commandBuffer,
4955 VkPipelineBindPoint pipelineBindPoint,
4956 VkPipeline pipeline);
4958 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
4959 VkCommandBuffer commandBuffer,
4960 deUint32 firstViewport,
4961 deUint32 viewportCount,
4962 const VkViewport* pViewports);
4964 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
4965 VkCommandBuffer commandBuffer,
4966 deUint32 firstScissor,
4967 deUint32 scissorCount,
4968 const VkRect2D* pScissors);
4970 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
4971 VkCommandBuffer commandBuffer,
4974 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
4975 VkCommandBuffer commandBuffer,
4976 float depthBiasConstantFactor,
4977 float depthBiasClamp,
4978 float depthBiasSlopeFactor);
4980 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
4981 VkCommandBuffer commandBuffer,
4982 const float blendConstants[4]);
4984 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
4985 VkCommandBuffer commandBuffer,
4986 float minDepthBounds,
4987 float maxDepthBounds);
4989 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
4990 VkCommandBuffer commandBuffer,
4991 VkStencilFaceFlags faceMask,
4992 deUint32 compareMask);
4994 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
4995 VkCommandBuffer commandBuffer,
4996 VkStencilFaceFlags faceMask,
4997 deUint32 writeMask);
4999 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
5000 VkCommandBuffer commandBuffer,
5001 VkStencilFaceFlags faceMask,
5002 deUint32 reference);
5004 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
5005 VkCommandBuffer commandBuffer,
5006 VkPipelineBindPoint pipelineBindPoint,
5007 VkPipelineLayout layout,
5009 deUint32 descriptorSetCount,
5010 const VkDescriptorSet* pDescriptorSets,
5011 deUint32 dynamicOffsetCount,
5012 const deUint32* pDynamicOffsets);
5014 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
5015 VkCommandBuffer commandBuffer,
5017 VkDeviceSize offset,
5018 VkIndexType indexType);
5020 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
5021 VkCommandBuffer commandBuffer,
5022 deUint32 firstBinding,
5023 deUint32 bindingCount,
5024 const VkBuffer* pBuffers,
5025 const VkDeviceSize* pOffsets);
5027 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
5028 VkCommandBuffer commandBuffer,
5029 deUint32 vertexCount,
5030 deUint32 instanceCount,
5031 deUint32 firstVertex,
5032 deUint32 firstInstance);
5034 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
5035 VkCommandBuffer commandBuffer,
5036 deUint32 indexCount,
5037 deUint32 instanceCount,
5038 deUint32 firstIndex,
5039 deInt32 vertexOffset,
5040 deUint32 firstInstance);
5042 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
5043 VkCommandBuffer commandBuffer,
5045 VkDeviceSize offset,
5049 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
5050 VkCommandBuffer commandBuffer,
5052 VkDeviceSize offset,
5056 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
5057 VkCommandBuffer commandBuffer,
5058 deUint32 groupCountX,
5059 deUint32 groupCountY,
5060 deUint32 groupCountZ);
5062 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
5063 VkCommandBuffer commandBuffer,
5065 VkDeviceSize offset);
5067 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
5068 VkCommandBuffer commandBuffer,
5071 deUint32 regionCount,
5072 const VkBufferCopy* pRegions);
5074 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
5075 VkCommandBuffer commandBuffer,
5077 VkImageLayout srcImageLayout,
5079 VkImageLayout dstImageLayout,
5080 deUint32 regionCount,
5081 const VkImageCopy* pRegions);
5083 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
5084 VkCommandBuffer commandBuffer,
5086 VkImageLayout srcImageLayout,
5088 VkImageLayout dstImageLayout,
5089 deUint32 regionCount,
5090 const VkImageBlit* pRegions,
5093 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
5094 VkCommandBuffer commandBuffer,
5097 VkImageLayout dstImageLayout,
5098 deUint32 regionCount,
5099 const VkBufferImageCopy* pRegions);
5101 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
5102 VkCommandBuffer commandBuffer,
5104 VkImageLayout srcImageLayout,
5106 deUint32 regionCount,
5107 const VkBufferImageCopy* pRegions);
5109 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
5110 VkCommandBuffer commandBuffer,
5112 VkDeviceSize dstOffset,
5113 VkDeviceSize dataSize,
5116 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
5117 VkCommandBuffer commandBuffer,
5119 VkDeviceSize dstOffset,
5123 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
5124 VkCommandBuffer commandBuffer,
5126 VkImageLayout imageLayout,
5127 const VkClearColorValue* pColor,
5128 deUint32 rangeCount,
5129 const VkImageSubresourceRange* pRanges);
5131 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
5132 VkCommandBuffer commandBuffer,
5134 VkImageLayout imageLayout,
5135 const VkClearDepthStencilValue* pDepthStencil,
5136 deUint32 rangeCount,
5137 const VkImageSubresourceRange* pRanges);
5139 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
5140 VkCommandBuffer commandBuffer,
5141 deUint32 attachmentCount,
5142 const VkClearAttachment* pAttachments,
5144 const VkClearRect* pRects);
5146 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
5147 VkCommandBuffer commandBuffer,
5149 VkImageLayout srcImageLayout,
5151 VkImageLayout dstImageLayout,
5152 deUint32 regionCount,
5153 const VkImageResolve* pRegions);
5155 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
5156 VkCommandBuffer commandBuffer,
5158 VkPipelineStageFlags stageMask);
5160 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
5161 VkCommandBuffer commandBuffer,
5163 VkPipelineStageFlags stageMask);
5165 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
5166 VkCommandBuffer commandBuffer,
5167 deUint32 eventCount,
5168 const VkEvent* pEvents,
5169 VkPipelineStageFlags srcStageMask,
5170 VkPipelineStageFlags dstStageMask,
5171 deUint32 memoryBarrierCount,
5172 const VkMemoryBarrier* pMemoryBarriers,
5173 deUint32 bufferMemoryBarrierCount,
5174 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5175 deUint32 imageMemoryBarrierCount,
5176 const VkImageMemoryBarrier* pImageMemoryBarriers);
5178 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
5179 VkCommandBuffer commandBuffer,
5180 VkPipelineStageFlags srcStageMask,
5181 VkPipelineStageFlags dstStageMask,
5182 VkDependencyFlags dependencyFlags,
5183 deUint32 memoryBarrierCount,
5184 const VkMemoryBarrier* pMemoryBarriers,
5185 deUint32 bufferMemoryBarrierCount,
5186 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5187 deUint32 imageMemoryBarrierCount,
5188 const VkImageMemoryBarrier* pImageMemoryBarriers);
5190 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
5191 VkCommandBuffer commandBuffer,
5192 VkQueryPool queryPool,
5194 VkQueryControlFlags flags);
5196 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
5197 VkCommandBuffer commandBuffer,
5198 VkQueryPool queryPool,
5201 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
5202 VkCommandBuffer commandBuffer,
5203 VkQueryPool queryPool,
5204 deUint32 firstQuery,
5205 deUint32 queryCount);
5207 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
5208 VkCommandBuffer commandBuffer,
5209 VkPipelineStageFlagBits pipelineStage,
5210 VkQueryPool queryPool,
5213 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
5214 VkCommandBuffer commandBuffer,
5215 VkQueryPool queryPool,
5216 deUint32 firstQuery,
5217 deUint32 queryCount,
5219 VkDeviceSize dstOffset,
5220 VkDeviceSize stride,
5221 VkQueryResultFlags flags);
5223 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
5224 VkCommandBuffer commandBuffer,
5225 VkPipelineLayout layout,
5226 VkShaderStageFlags stageFlags,
5229 const void* pValues);
5231 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
5232 VkCommandBuffer commandBuffer,
5233 const VkRenderPassBeginInfo* pRenderPassBegin,
5234 VkSubpassContents contents);
5236 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
5237 VkCommandBuffer commandBuffer,
5238 VkSubpassContents contents);
5240 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
5241 VkCommandBuffer commandBuffer);
5243 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
5244 VkCommandBuffer commandBuffer,
5245 deUint32 commandBufferCount,
5246 const VkCommandBuffer* pCommandBuffers);
5250 #define VK_VERSION_1_1 1
5251 // Vulkan 1.1 version number
5252 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
5254 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
5255 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
5256 #define VK_MAX_DEVICE_GROUP_SIZE 32U
5257 #define VK_LUID_SIZE 8U
5258 #define VK_QUEUE_FAMILY_EXTERNAL (~1U)
5260 typedef enum VkPointClippingBehavior {
5261 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
5262 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
5263 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
5264 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
5265 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
5266 } VkPointClippingBehavior;
5268 typedef enum VkTessellationDomainOrigin {
5269 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
5270 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
5271 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
5272 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
5273 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
5274 } VkTessellationDomainOrigin;
5276 typedef enum VkSamplerYcbcrModelConversion {
5277 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
5278 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
5279 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
5280 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
5281 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
5282 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
5283 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
5284 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
5285 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
5286 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
5287 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
5288 } VkSamplerYcbcrModelConversion;
5290 typedef enum VkSamplerYcbcrRange {
5291 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
5292 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
5293 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
5294 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
5295 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
5296 } VkSamplerYcbcrRange;
5298 typedef enum VkChromaLocation {
5299 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
5300 VK_CHROMA_LOCATION_MIDPOINT = 1,
5301 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
5302 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
5303 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
5306 typedef enum VkDescriptorUpdateTemplateType {
5307 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
5308 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
5309 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
5310 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
5311 } VkDescriptorUpdateTemplateType;
5313 typedef enum VkSubgroupFeatureFlagBits {
5314 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
5315 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
5316 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
5317 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
5318 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
5319 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
5320 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
5321 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
5322 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
5323 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5324 } VkSubgroupFeatureFlagBits;
5325 typedef VkFlags VkSubgroupFeatureFlags;
5327 typedef enum VkPeerMemoryFeatureFlagBits {
5328 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
5329 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
5330 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
5331 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
5332 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
5333 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
5334 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
5335 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
5336 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5337 } VkPeerMemoryFeatureFlagBits;
5338 typedef VkFlags VkPeerMemoryFeatureFlags;
5340 typedef enum VkMemoryAllocateFlagBits {
5341 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
5342 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
5343 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
5344 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
5345 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
5346 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
5347 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5348 } VkMemoryAllocateFlagBits;
5349 typedef VkFlags VkMemoryAllocateFlags;
5350 typedef VkFlags VkCommandPoolTrimFlags;
5351 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
5353 typedef enum VkExternalMemoryHandleTypeFlagBits {
5354 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5355 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5356 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5357 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
5358 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
5359 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
5360 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
5361 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
5362 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
5363 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
5364 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
5365 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
5366 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
5367 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5368 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5369 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
5370 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
5371 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
5372 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
5373 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5374 } VkExternalMemoryHandleTypeFlagBits;
5375 typedef VkFlags VkExternalMemoryHandleTypeFlags;
5377 typedef enum VkExternalMemoryFeatureFlagBits {
5378 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
5379 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
5380 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
5381 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
5382 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
5383 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
5384 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5385 } VkExternalMemoryFeatureFlagBits;
5386 typedef VkFlags VkExternalMemoryFeatureFlags;
5388 typedef enum VkExternalFenceHandleTypeFlagBits {
5389 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5390 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5391 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5392 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
5393 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
5394 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5395 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5396 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
5397 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5398 } VkExternalFenceHandleTypeFlagBits;
5399 typedef VkFlags VkExternalFenceHandleTypeFlags;
5401 typedef enum VkExternalFenceFeatureFlagBits {
5402 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5403 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5404 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
5405 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
5406 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5407 } VkExternalFenceFeatureFlagBits;
5408 typedef VkFlags VkExternalFenceFeatureFlags;
5410 typedef enum VkFenceImportFlagBits {
5411 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
5412 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
5413 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5414 } VkFenceImportFlagBits;
5415 typedef VkFlags VkFenceImportFlags;
5417 typedef enum VkSemaphoreImportFlagBits {
5418 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
5419 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
5420 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5421 } VkSemaphoreImportFlagBits;
5422 typedef VkFlags VkSemaphoreImportFlags;
5424 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
5425 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5426 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5427 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5428 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
5429 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
5430 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
5431 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5432 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
5433 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5434 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5435 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5436 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
5437 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5438 } VkExternalSemaphoreHandleTypeFlagBits;
5439 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
5441 typedef enum VkExternalSemaphoreFeatureFlagBits {
5442 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5443 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5444 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
5445 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
5446 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5447 } VkExternalSemaphoreFeatureFlagBits;
5448 typedef VkFlags VkExternalSemaphoreFeatureFlags;
5449 typedef struct VkPhysicalDeviceSubgroupProperties {
5450 VkStructureType sType;
5452 deUint32 subgroupSize;
5453 VkShaderStageFlags supportedStages;
5454 VkSubgroupFeatureFlags supportedOperations;
5455 VkBool32 quadOperationsInAllStages;
5456 } VkPhysicalDeviceSubgroupProperties;
5458 typedef struct VkBindBufferMemoryInfo {
5459 VkStructureType sType;
5462 VkDeviceMemory memory;
5463 VkDeviceSize memoryOffset;
5464 } VkBindBufferMemoryInfo;
5466 typedef struct VkBindImageMemoryInfo {
5467 VkStructureType sType;
5470 VkDeviceMemory memory;
5471 VkDeviceSize memoryOffset;
5472 } VkBindImageMemoryInfo;
5474 typedef struct VkPhysicalDevice16BitStorageFeatures {
5475 VkStructureType sType;
5477 VkBool32 storageBuffer16BitAccess;
5478 VkBool32 uniformAndStorageBuffer16BitAccess;
5479 VkBool32 storagePushConstant16;
5480 VkBool32 storageInputOutput16;
5481 } VkPhysicalDevice16BitStorageFeatures;
5483 typedef struct VkMemoryDedicatedRequirements {
5484 VkStructureType sType;
5486 VkBool32 prefersDedicatedAllocation;
5487 VkBool32 requiresDedicatedAllocation;
5488 } VkMemoryDedicatedRequirements;
5490 typedef struct VkMemoryDedicatedAllocateInfo {
5491 VkStructureType sType;
5495 } VkMemoryDedicatedAllocateInfo;
5497 typedef struct VkMemoryAllocateFlagsInfo {
5498 VkStructureType sType;
5500 VkMemoryAllocateFlags flags;
5501 deUint32 deviceMask;
5502 } VkMemoryAllocateFlagsInfo;
5504 typedef struct VkDeviceGroupRenderPassBeginInfo {
5505 VkStructureType sType;
5507 deUint32 deviceMask;
5508 deUint32 deviceRenderAreaCount;
5509 const VkRect2D* pDeviceRenderAreas;
5510 } VkDeviceGroupRenderPassBeginInfo;
5512 typedef struct VkDeviceGroupCommandBufferBeginInfo {
5513 VkStructureType sType;
5515 deUint32 deviceMask;
5516 } VkDeviceGroupCommandBufferBeginInfo;
5518 typedef struct VkDeviceGroupSubmitInfo {
5519 VkStructureType sType;
5521 deUint32 waitSemaphoreCount;
5522 const deUint32* pWaitSemaphoreDeviceIndices;
5523 deUint32 commandBufferCount;
5524 const deUint32* pCommandBufferDeviceMasks;
5525 deUint32 signalSemaphoreCount;
5526 const deUint32* pSignalSemaphoreDeviceIndices;
5527 } VkDeviceGroupSubmitInfo;
5529 typedef struct VkDeviceGroupBindSparseInfo {
5530 VkStructureType sType;
5532 deUint32 resourceDeviceIndex;
5533 deUint32 memoryDeviceIndex;
5534 } VkDeviceGroupBindSparseInfo;
5536 typedef struct VkBindBufferMemoryDeviceGroupInfo {
5537 VkStructureType sType;
5539 deUint32 deviceIndexCount;
5540 const deUint32* pDeviceIndices;
5541 } VkBindBufferMemoryDeviceGroupInfo;
5543 typedef struct VkBindImageMemoryDeviceGroupInfo {
5544 VkStructureType sType;
5546 deUint32 deviceIndexCount;
5547 const deUint32* pDeviceIndices;
5548 deUint32 splitInstanceBindRegionCount;
5549 const VkRect2D* pSplitInstanceBindRegions;
5550 } VkBindImageMemoryDeviceGroupInfo;
5552 typedef struct VkPhysicalDeviceGroupProperties {
5553 VkStructureType sType;
5555 deUint32 physicalDeviceCount;
5556 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
5557 VkBool32 subsetAllocation;
5558 } VkPhysicalDeviceGroupProperties;
5560 typedef struct VkDeviceGroupDeviceCreateInfo {
5561 VkStructureType sType;
5563 deUint32 physicalDeviceCount;
5564 const VkPhysicalDevice* pPhysicalDevices;
5565 } VkDeviceGroupDeviceCreateInfo;
5567 typedef struct VkBufferMemoryRequirementsInfo2 {
5568 VkStructureType sType;
5571 } VkBufferMemoryRequirementsInfo2;
5573 typedef struct VkImageMemoryRequirementsInfo2 {
5574 VkStructureType sType;
5577 } VkImageMemoryRequirementsInfo2;
5579 typedef struct VkImageSparseMemoryRequirementsInfo2 {
5580 VkStructureType sType;
5583 } VkImageSparseMemoryRequirementsInfo2;
5585 typedef struct VkMemoryRequirements2 {
5586 VkStructureType sType;
5588 VkMemoryRequirements memoryRequirements;
5589 } VkMemoryRequirements2;
5591 typedef struct VkSparseImageMemoryRequirements2 {
5592 VkStructureType sType;
5594 VkSparseImageMemoryRequirements memoryRequirements;
5595 } VkSparseImageMemoryRequirements2;
5597 typedef struct VkPhysicalDeviceFeatures2 {
5598 VkStructureType sType;
5600 VkPhysicalDeviceFeatures features;
5601 } VkPhysicalDeviceFeatures2;
5603 typedef struct VkPhysicalDeviceProperties2 {
5604 VkStructureType sType;
5606 VkPhysicalDeviceProperties properties;
5607 } VkPhysicalDeviceProperties2;
5609 typedef struct VkFormatProperties2 {
5610 VkStructureType sType;
5612 VkFormatProperties formatProperties;
5613 } VkFormatProperties2;
5615 typedef struct VkImageFormatProperties2 {
5616 VkStructureType sType;
5618 VkImageFormatProperties imageFormatProperties;
5619 } VkImageFormatProperties2;
5621 typedef struct VkPhysicalDeviceImageFormatInfo2 {
5622 VkStructureType sType;
5626 VkImageTiling tiling;
5627 VkImageUsageFlags usage;
5628 VkImageCreateFlags flags;
5629 } VkPhysicalDeviceImageFormatInfo2;
5631 typedef struct VkQueueFamilyProperties2 {
5632 VkStructureType sType;
5634 VkQueueFamilyProperties queueFamilyProperties;
5635 } VkQueueFamilyProperties2;
5637 typedef struct VkPhysicalDeviceMemoryProperties2 {
5638 VkStructureType sType;
5640 VkPhysicalDeviceMemoryProperties memoryProperties;
5641 } VkPhysicalDeviceMemoryProperties2;
5643 typedef struct VkSparseImageFormatProperties2 {
5644 VkStructureType sType;
5646 VkSparseImageFormatProperties properties;
5647 } VkSparseImageFormatProperties2;
5649 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
5650 VkStructureType sType;
5654 VkSampleCountFlagBits samples;
5655 VkImageUsageFlags usage;
5656 VkImageTiling tiling;
5657 } VkPhysicalDeviceSparseImageFormatInfo2;
5659 typedef struct VkPhysicalDevicePointClippingProperties {
5660 VkStructureType sType;
5662 VkPointClippingBehavior pointClippingBehavior;
5663 } VkPhysicalDevicePointClippingProperties;
5665 typedef struct VkInputAttachmentAspectReference {
5667 deUint32 inputAttachmentIndex;
5668 VkImageAspectFlags aspectMask;
5669 } VkInputAttachmentAspectReference;
5671 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
5672 VkStructureType sType;
5674 deUint32 aspectReferenceCount;
5675 const VkInputAttachmentAspectReference* pAspectReferences;
5676 } VkRenderPassInputAttachmentAspectCreateInfo;
5678 typedef struct VkImageViewUsageCreateInfo {
5679 VkStructureType sType;
5681 VkImageUsageFlags usage;
5682 } VkImageViewUsageCreateInfo;
5684 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
5685 VkStructureType sType;
5687 VkTessellationDomainOrigin domainOrigin;
5688 } VkPipelineTessellationDomainOriginStateCreateInfo;
5690 typedef struct VkRenderPassMultiviewCreateInfo {
5691 VkStructureType sType;
5693 deUint32 subpassCount;
5694 const deUint32* pViewMasks;
5695 deUint32 dependencyCount;
5696 const deInt32* pViewOffsets;
5697 deUint32 correlationMaskCount;
5698 const deUint32* pCorrelationMasks;
5699 } VkRenderPassMultiviewCreateInfo;
5701 typedef struct VkPhysicalDeviceMultiviewFeatures {
5702 VkStructureType sType;
5705 VkBool32 multiviewGeometryShader;
5706 VkBool32 multiviewTessellationShader;
5707 } VkPhysicalDeviceMultiviewFeatures;
5709 typedef struct VkPhysicalDeviceMultiviewProperties {
5710 VkStructureType sType;
5712 deUint32 maxMultiviewViewCount;
5713 deUint32 maxMultiviewInstanceIndex;
5714 } VkPhysicalDeviceMultiviewProperties;
5716 typedef struct VkPhysicalDeviceVariablePointersFeatures {
5717 VkStructureType sType;
5719 VkBool32 variablePointersStorageBuffer;
5720 VkBool32 variablePointers;
5721 } VkPhysicalDeviceVariablePointersFeatures;
5723 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
5725 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
5726 VkStructureType sType;
5728 VkBool32 protectedMemory;
5729 } VkPhysicalDeviceProtectedMemoryFeatures;
5731 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
5732 VkStructureType sType;
5734 VkBool32 protectedNoFault;
5735 } VkPhysicalDeviceProtectedMemoryProperties;
5737 typedef struct VkDeviceQueueInfo2 {
5738 VkStructureType sType;
5740 VkDeviceQueueCreateFlags flags;
5741 deUint32 queueFamilyIndex;
5742 deUint32 queueIndex;
5743 } VkDeviceQueueInfo2;
5745 typedef struct VkProtectedSubmitInfo {
5746 VkStructureType sType;
5748 VkBool32 protectedSubmit;
5749 } VkProtectedSubmitInfo;
5751 typedef struct VkSamplerYcbcrConversionCreateInfo {
5752 VkStructureType sType;
5755 VkSamplerYcbcrModelConversion ycbcrModel;
5756 VkSamplerYcbcrRange ycbcrRange;
5757 VkComponentMapping components;
5758 VkChromaLocation xChromaOffset;
5759 VkChromaLocation yChromaOffset;
5760 VkFilter chromaFilter;
5761 VkBool32 forceExplicitReconstruction;
5762 } VkSamplerYcbcrConversionCreateInfo;
5764 typedef struct VkSamplerYcbcrConversionInfo {
5765 VkStructureType sType;
5767 VkSamplerYcbcrConversion conversion;
5768 } VkSamplerYcbcrConversionInfo;
5770 typedef struct VkBindImagePlaneMemoryInfo {
5771 VkStructureType sType;
5773 VkImageAspectFlagBits planeAspect;
5774 } VkBindImagePlaneMemoryInfo;
5776 typedef struct VkImagePlaneMemoryRequirementsInfo {
5777 VkStructureType sType;
5779 VkImageAspectFlagBits planeAspect;
5780 } VkImagePlaneMemoryRequirementsInfo;
5782 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
5783 VkStructureType sType;
5785 VkBool32 samplerYcbcrConversion;
5786 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
5788 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
5789 VkStructureType sType;
5791 deUint32 combinedImageSamplerDescriptorCount;
5792 } VkSamplerYcbcrConversionImageFormatProperties;
5794 typedef struct VkDescriptorUpdateTemplateEntry {
5795 deUint32 dstBinding;
5796 deUint32 dstArrayElement;
5797 deUint32 descriptorCount;
5798 VkDescriptorType descriptorType;
5801 } VkDescriptorUpdateTemplateEntry;
5803 typedef struct VkDescriptorUpdateTemplateCreateInfo {
5804 VkStructureType sType;
5806 VkDescriptorUpdateTemplateCreateFlags flags;
5807 deUint32 descriptorUpdateEntryCount;
5808 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
5809 VkDescriptorUpdateTemplateType templateType;
5810 VkDescriptorSetLayout descriptorSetLayout;
5811 VkPipelineBindPoint pipelineBindPoint;
5812 VkPipelineLayout pipelineLayout;
5814 } VkDescriptorUpdateTemplateCreateInfo;
5816 typedef struct VkExternalMemoryProperties {
5817 VkExternalMemoryFeatureFlags externalMemoryFeatures;
5818 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
5819 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
5820 } VkExternalMemoryProperties;
5822 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
5823 VkStructureType sType;
5825 VkExternalMemoryHandleTypeFlagBits handleType;
5826 } VkPhysicalDeviceExternalImageFormatInfo;
5828 typedef struct VkExternalImageFormatProperties {
5829 VkStructureType sType;
5831 VkExternalMemoryProperties externalMemoryProperties;
5832 } VkExternalImageFormatProperties;
5834 typedef struct VkPhysicalDeviceExternalBufferInfo {
5835 VkStructureType sType;
5837 VkBufferCreateFlags flags;
5838 VkBufferUsageFlags usage;
5839 VkExternalMemoryHandleTypeFlagBits handleType;
5840 } VkPhysicalDeviceExternalBufferInfo;
5842 typedef struct VkExternalBufferProperties {
5843 VkStructureType sType;
5845 VkExternalMemoryProperties externalMemoryProperties;
5846 } VkExternalBufferProperties;
5848 typedef struct VkPhysicalDeviceIDProperties {
5849 VkStructureType sType;
5851 deUint8 deviceUUID[VK_UUID_SIZE];
5852 deUint8 driverUUID[VK_UUID_SIZE];
5853 deUint8 deviceLUID[VK_LUID_SIZE];
5854 deUint32 deviceNodeMask;
5855 VkBool32 deviceLUIDValid;
5856 } VkPhysicalDeviceIDProperties;
5858 typedef struct VkExternalMemoryImageCreateInfo {
5859 VkStructureType sType;
5861 VkExternalMemoryHandleTypeFlags handleTypes;
5862 } VkExternalMemoryImageCreateInfo;
5864 typedef struct VkExternalMemoryBufferCreateInfo {
5865 VkStructureType sType;
5867 VkExternalMemoryHandleTypeFlags handleTypes;
5868 } VkExternalMemoryBufferCreateInfo;
5870 typedef struct VkExportMemoryAllocateInfo {
5871 VkStructureType sType;
5873 VkExternalMemoryHandleTypeFlags handleTypes;
5874 } VkExportMemoryAllocateInfo;
5876 typedef struct VkPhysicalDeviceExternalFenceInfo {
5877 VkStructureType sType;
5879 VkExternalFenceHandleTypeFlagBits handleType;
5880 } VkPhysicalDeviceExternalFenceInfo;
5882 typedef struct VkExternalFenceProperties {
5883 VkStructureType sType;
5885 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
5886 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
5887 VkExternalFenceFeatureFlags externalFenceFeatures;
5888 } VkExternalFenceProperties;
5890 typedef struct VkExportFenceCreateInfo {
5891 VkStructureType sType;
5893 VkExternalFenceHandleTypeFlags handleTypes;
5894 } VkExportFenceCreateInfo;
5896 typedef struct VkExportSemaphoreCreateInfo {
5897 VkStructureType sType;
5899 VkExternalSemaphoreHandleTypeFlags handleTypes;
5900 } VkExportSemaphoreCreateInfo;
5902 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
5903 VkStructureType sType;
5905 VkExternalSemaphoreHandleTypeFlagBits handleType;
5906 } VkPhysicalDeviceExternalSemaphoreInfo;
5908 typedef struct VkExternalSemaphoreProperties {
5909 VkStructureType sType;
5911 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
5912 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
5913 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
5914 } VkExternalSemaphoreProperties;
5916 typedef struct VkPhysicalDeviceMaintenance3Properties {
5917 VkStructureType sType;
5919 deUint32 maxPerSetDescriptors;
5920 VkDeviceSize maxMemoryAllocationSize;
5921 } VkPhysicalDeviceMaintenance3Properties;
5923 typedef struct VkDescriptorSetLayoutSupport {
5924 VkStructureType sType;
5927 } VkDescriptorSetLayoutSupport;
5929 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
5930 VkStructureType sType;
5932 VkBool32 shaderDrawParameters;
5933 } VkPhysicalDeviceShaderDrawParametersFeatures;
5935 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
5937 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(deUint32* pApiVersion);
5938 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
5939 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
5940 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5941 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
5942 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
5943 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5944 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5945 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5946 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5947 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
5948 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
5949 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
5950 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
5951 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
5952 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5953 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
5954 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
5955 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
5956 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
5957 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
5958 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5959 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
5960 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
5961 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
5962 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
5963 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5964 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
5966 #ifndef VK_NO_PROTOTYPES
5967 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
5968 deUint32* pApiVersion);
5970 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
5972 deUint32 bindInfoCount,
5973 const VkBindBufferMemoryInfo* pBindInfos);
5975 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
5977 deUint32 bindInfoCount,
5978 const VkBindImageMemoryInfo* pBindInfos);
5980 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
5983 deUint32 localDeviceIndex,
5984 deUint32 remoteDeviceIndex,
5985 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5987 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
5988 VkCommandBuffer commandBuffer,
5989 deUint32 deviceMask);
5991 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
5992 VkCommandBuffer commandBuffer,
5993 deUint32 baseGroupX,
5994 deUint32 baseGroupY,
5995 deUint32 baseGroupZ,
5996 deUint32 groupCountX,
5997 deUint32 groupCountY,
5998 deUint32 groupCountZ);
6000 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
6001 VkInstance instance,
6002 deUint32* pPhysicalDeviceGroupCount,
6003 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6005 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
6007 const VkImageMemoryRequirementsInfo2* pInfo,
6008 VkMemoryRequirements2* pMemoryRequirements);
6010 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
6012 const VkBufferMemoryRequirementsInfo2* pInfo,
6013 VkMemoryRequirements2* pMemoryRequirements);
6015 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
6017 const VkImageSparseMemoryRequirementsInfo2* pInfo,
6018 deUint32* pSparseMemoryRequirementCount,
6019 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6021 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
6022 VkPhysicalDevice physicalDevice,
6023 VkPhysicalDeviceFeatures2* pFeatures);
6025 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
6026 VkPhysicalDevice physicalDevice,
6027 VkPhysicalDeviceProperties2* pProperties);
6029 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
6030 VkPhysicalDevice physicalDevice,
6032 VkFormatProperties2* pFormatProperties);
6034 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
6035 VkPhysicalDevice physicalDevice,
6036 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6037 VkImageFormatProperties2* pImageFormatProperties);
6039 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
6040 VkPhysicalDevice physicalDevice,
6041 deUint32* pQueueFamilyPropertyCount,
6042 VkQueueFamilyProperties2* pQueueFamilyProperties);
6044 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
6045 VkPhysicalDevice physicalDevice,
6046 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6048 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
6049 VkPhysicalDevice physicalDevice,
6050 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6051 deUint32* pPropertyCount,
6052 VkSparseImageFormatProperties2* pProperties);
6054 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
6056 VkCommandPool commandPool,
6057 VkCommandPoolTrimFlags flags);
6059 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
6061 const VkDeviceQueueInfo2* pQueueInfo,
6064 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
6066 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
6067 const VkAllocationCallbacks* pAllocator,
6068 VkSamplerYcbcrConversion* pYcbcrConversion);
6070 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
6072 VkSamplerYcbcrConversion ycbcrConversion,
6073 const VkAllocationCallbacks* pAllocator);
6075 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
6077 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6078 const VkAllocationCallbacks* pAllocator,
6079 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6081 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
6083 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6084 const VkAllocationCallbacks* pAllocator);
6086 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
6088 VkDescriptorSet descriptorSet,
6089 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6092 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
6093 VkPhysicalDevice physicalDevice,
6094 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6095 VkExternalBufferProperties* pExternalBufferProperties);
6097 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
6098 VkPhysicalDevice physicalDevice,
6099 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6100 VkExternalFenceProperties* pExternalFenceProperties);
6102 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
6103 VkPhysicalDevice physicalDevice,
6104 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6105 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6107 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
6109 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
6110 VkDescriptorSetLayoutSupport* pSupport);
6114 #define VK_VERSION_1_2 1
6115 // Vulkan 1.2 version number
6116 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
6118 #define VK_MAX_DRIVER_NAME_SIZE 256U
6119 #define VK_MAX_DRIVER_INFO_SIZE 256U
6121 typedef enum VkDriverId {
6122 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
6123 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
6124 VK_DRIVER_ID_MESA_RADV = 3,
6125 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
6126 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
6127 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
6128 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
6129 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
6130 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
6131 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
6132 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
6133 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
6134 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
6135 VK_DRIVER_ID_MOLTENVK = 14,
6136 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
6137 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
6138 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
6139 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
6140 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
6141 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
6142 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
6143 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
6144 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
6145 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
6146 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
6147 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
6148 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
6149 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
6152 typedef enum VkShaderFloatControlsIndependence {
6153 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
6154 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
6155 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
6156 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
6157 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
6158 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
6159 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
6160 } VkShaderFloatControlsIndependence;
6162 typedef enum VkSamplerReductionMode {
6163 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
6164 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
6165 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
6166 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
6167 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
6168 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
6169 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
6170 } VkSamplerReductionMode;
6172 typedef enum VkSemaphoreType {
6173 VK_SEMAPHORE_TYPE_BINARY = 0,
6174 VK_SEMAPHORE_TYPE_TIMELINE = 1,
6175 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
6176 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
6177 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
6180 typedef enum VkResolveModeFlagBits {
6181 VK_RESOLVE_MODE_NONE = 0,
6182 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
6183 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
6184 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
6185 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
6186 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
6187 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
6188 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
6189 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
6190 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
6191 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6192 } VkResolveModeFlagBits;
6193 typedef VkFlags VkResolveModeFlags;
6195 typedef enum VkDescriptorBindingFlagBits {
6196 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
6197 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
6198 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
6199 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
6200 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
6201 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
6202 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
6203 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
6204 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6205 } VkDescriptorBindingFlagBits;
6206 typedef VkFlags VkDescriptorBindingFlags;
6208 typedef enum VkSemaphoreWaitFlagBits {
6209 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
6210 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
6211 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6212 } VkSemaphoreWaitFlagBits;
6213 typedef VkFlags VkSemaphoreWaitFlags;
6214 typedef struct VkPhysicalDeviceVulkan11Features {
6215 VkStructureType sType;
6217 VkBool32 storageBuffer16BitAccess;
6218 VkBool32 uniformAndStorageBuffer16BitAccess;
6219 VkBool32 storagePushConstant16;
6220 VkBool32 storageInputOutput16;
6222 VkBool32 multiviewGeometryShader;
6223 VkBool32 multiviewTessellationShader;
6224 VkBool32 variablePointersStorageBuffer;
6225 VkBool32 variablePointers;
6226 VkBool32 protectedMemory;
6227 VkBool32 samplerYcbcrConversion;
6228 VkBool32 shaderDrawParameters;
6229 } VkPhysicalDeviceVulkan11Features;
6231 typedef struct VkPhysicalDeviceVulkan11Properties {
6232 VkStructureType sType;
6234 deUint8 deviceUUID[VK_UUID_SIZE];
6235 deUint8 driverUUID[VK_UUID_SIZE];
6236 deUint8 deviceLUID[VK_LUID_SIZE];
6237 deUint32 deviceNodeMask;
6238 VkBool32 deviceLUIDValid;
6239 deUint32 subgroupSize;
6240 VkShaderStageFlags subgroupSupportedStages;
6241 VkSubgroupFeatureFlags subgroupSupportedOperations;
6242 VkBool32 subgroupQuadOperationsInAllStages;
6243 VkPointClippingBehavior pointClippingBehavior;
6244 deUint32 maxMultiviewViewCount;
6245 deUint32 maxMultiviewInstanceIndex;
6246 VkBool32 protectedNoFault;
6247 deUint32 maxPerSetDescriptors;
6248 VkDeviceSize maxMemoryAllocationSize;
6249 } VkPhysicalDeviceVulkan11Properties;
6251 typedef struct VkPhysicalDeviceVulkan12Features {
6252 VkStructureType sType;
6254 VkBool32 samplerMirrorClampToEdge;
6255 VkBool32 drawIndirectCount;
6256 VkBool32 storageBuffer8BitAccess;
6257 VkBool32 uniformAndStorageBuffer8BitAccess;
6258 VkBool32 storagePushConstant8;
6259 VkBool32 shaderBufferInt64Atomics;
6260 VkBool32 shaderSharedInt64Atomics;
6261 VkBool32 shaderFloat16;
6262 VkBool32 shaderInt8;
6263 VkBool32 descriptorIndexing;
6264 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6265 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6266 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6267 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6268 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6269 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6270 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6271 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6272 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6273 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6274 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6275 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6276 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6277 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6278 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6279 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6280 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6281 VkBool32 descriptorBindingPartiallyBound;
6282 VkBool32 descriptorBindingVariableDescriptorCount;
6283 VkBool32 runtimeDescriptorArray;
6284 VkBool32 samplerFilterMinmax;
6285 VkBool32 scalarBlockLayout;
6286 VkBool32 imagelessFramebuffer;
6287 VkBool32 uniformBufferStandardLayout;
6288 VkBool32 shaderSubgroupExtendedTypes;
6289 VkBool32 separateDepthStencilLayouts;
6290 VkBool32 hostQueryReset;
6291 VkBool32 timelineSemaphore;
6292 VkBool32 bufferDeviceAddress;
6293 VkBool32 bufferDeviceAddressCaptureReplay;
6294 VkBool32 bufferDeviceAddressMultiDevice;
6295 VkBool32 vulkanMemoryModel;
6296 VkBool32 vulkanMemoryModelDeviceScope;
6297 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6298 VkBool32 shaderOutputViewportIndex;
6299 VkBool32 shaderOutputLayer;
6300 VkBool32 subgroupBroadcastDynamicId;
6301 } VkPhysicalDeviceVulkan12Features;
6303 typedef struct VkConformanceVersion {
6308 } VkConformanceVersion;
6310 typedef struct VkPhysicalDeviceVulkan12Properties {
6311 VkStructureType sType;
6313 VkDriverId driverID;
6314 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6315 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6316 VkConformanceVersion conformanceVersion;
6317 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6318 VkShaderFloatControlsIndependence roundingModeIndependence;
6319 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6320 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6321 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6322 VkBool32 shaderDenormPreserveFloat16;
6323 VkBool32 shaderDenormPreserveFloat32;
6324 VkBool32 shaderDenormPreserveFloat64;
6325 VkBool32 shaderDenormFlushToZeroFloat16;
6326 VkBool32 shaderDenormFlushToZeroFloat32;
6327 VkBool32 shaderDenormFlushToZeroFloat64;
6328 VkBool32 shaderRoundingModeRTEFloat16;
6329 VkBool32 shaderRoundingModeRTEFloat32;
6330 VkBool32 shaderRoundingModeRTEFloat64;
6331 VkBool32 shaderRoundingModeRTZFloat16;
6332 VkBool32 shaderRoundingModeRTZFloat32;
6333 VkBool32 shaderRoundingModeRTZFloat64;
6334 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6335 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6336 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6337 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6338 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6339 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6340 VkBool32 robustBufferAccessUpdateAfterBind;
6341 VkBool32 quadDivergentImplicitLod;
6342 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6343 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6344 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6345 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6346 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6347 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6348 deUint32 maxPerStageUpdateAfterBindResources;
6349 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6350 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6351 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6352 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6353 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6354 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6355 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6356 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6357 VkResolveModeFlags supportedDepthResolveModes;
6358 VkResolveModeFlags supportedStencilResolveModes;
6359 VkBool32 independentResolveNone;
6360 VkBool32 independentResolve;
6361 VkBool32 filterMinmaxSingleComponentFormats;
6362 VkBool32 filterMinmaxImageComponentMapping;
6363 deUint64 maxTimelineSemaphoreValueDifference;
6364 VkSampleCountFlags framebufferIntegerColorSampleCounts;
6365 } VkPhysicalDeviceVulkan12Properties;
6367 typedef struct VkImageFormatListCreateInfo {
6368 VkStructureType sType;
6370 deUint32 viewFormatCount;
6371 const VkFormat* pViewFormats;
6372 } VkImageFormatListCreateInfo;
6374 typedef struct VkAttachmentDescription2 {
6375 VkStructureType sType;
6377 VkAttachmentDescriptionFlags flags;
6379 VkSampleCountFlagBits samples;
6380 VkAttachmentLoadOp loadOp;
6381 VkAttachmentStoreOp storeOp;
6382 VkAttachmentLoadOp stencilLoadOp;
6383 VkAttachmentStoreOp stencilStoreOp;
6384 VkImageLayout initialLayout;
6385 VkImageLayout finalLayout;
6386 } VkAttachmentDescription2;
6388 typedef struct VkAttachmentReference2 {
6389 VkStructureType sType;
6391 deUint32 attachment;
6392 VkImageLayout layout;
6393 VkImageAspectFlags aspectMask;
6394 } VkAttachmentReference2;
6396 typedef struct VkSubpassDescription2 {
6397 VkStructureType sType;
6399 VkSubpassDescriptionFlags flags;
6400 VkPipelineBindPoint pipelineBindPoint;
6402 deUint32 inputAttachmentCount;
6403 const VkAttachmentReference2* pInputAttachments;
6404 deUint32 colorAttachmentCount;
6405 const VkAttachmentReference2* pColorAttachments;
6406 const VkAttachmentReference2* pResolveAttachments;
6407 const VkAttachmentReference2* pDepthStencilAttachment;
6408 deUint32 preserveAttachmentCount;
6409 const deUint32* pPreserveAttachments;
6410 } VkSubpassDescription2;
6412 typedef struct VkSubpassDependency2 {
6413 VkStructureType sType;
6415 deUint32 srcSubpass;
6416 deUint32 dstSubpass;
6417 VkPipelineStageFlags srcStageMask;
6418 VkPipelineStageFlags dstStageMask;
6419 VkAccessFlags srcAccessMask;
6420 VkAccessFlags dstAccessMask;
6421 VkDependencyFlags dependencyFlags;
6423 } VkSubpassDependency2;
6425 typedef struct VkRenderPassCreateInfo2 {
6426 VkStructureType sType;
6428 VkRenderPassCreateFlags flags;
6429 deUint32 attachmentCount;
6430 const VkAttachmentDescription2* pAttachments;
6431 deUint32 subpassCount;
6432 const VkSubpassDescription2* pSubpasses;
6433 deUint32 dependencyCount;
6434 const VkSubpassDependency2* pDependencies;
6435 deUint32 correlatedViewMaskCount;
6436 const deUint32* pCorrelatedViewMasks;
6437 } VkRenderPassCreateInfo2;
6439 typedef struct VkSubpassBeginInfo {
6440 VkStructureType sType;
6442 VkSubpassContents contents;
6443 } VkSubpassBeginInfo;
6445 typedef struct VkSubpassEndInfo {
6446 VkStructureType sType;
6450 typedef struct VkPhysicalDevice8BitStorageFeatures {
6451 VkStructureType sType;
6453 VkBool32 storageBuffer8BitAccess;
6454 VkBool32 uniformAndStorageBuffer8BitAccess;
6455 VkBool32 storagePushConstant8;
6456 } VkPhysicalDevice8BitStorageFeatures;
6458 typedef struct VkPhysicalDeviceDriverProperties {
6459 VkStructureType sType;
6461 VkDriverId driverID;
6462 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6463 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6464 VkConformanceVersion conformanceVersion;
6465 } VkPhysicalDeviceDriverProperties;
6467 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
6468 VkStructureType sType;
6470 VkBool32 shaderBufferInt64Atomics;
6471 VkBool32 shaderSharedInt64Atomics;
6472 } VkPhysicalDeviceShaderAtomicInt64Features;
6474 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
6475 VkStructureType sType;
6477 VkBool32 shaderFloat16;
6478 VkBool32 shaderInt8;
6479 } VkPhysicalDeviceShaderFloat16Int8Features;
6481 typedef struct VkPhysicalDeviceFloatControlsProperties {
6482 VkStructureType sType;
6484 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6485 VkShaderFloatControlsIndependence roundingModeIndependence;
6486 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6487 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6488 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6489 VkBool32 shaderDenormPreserveFloat16;
6490 VkBool32 shaderDenormPreserveFloat32;
6491 VkBool32 shaderDenormPreserveFloat64;
6492 VkBool32 shaderDenormFlushToZeroFloat16;
6493 VkBool32 shaderDenormFlushToZeroFloat32;
6494 VkBool32 shaderDenormFlushToZeroFloat64;
6495 VkBool32 shaderRoundingModeRTEFloat16;
6496 VkBool32 shaderRoundingModeRTEFloat32;
6497 VkBool32 shaderRoundingModeRTEFloat64;
6498 VkBool32 shaderRoundingModeRTZFloat16;
6499 VkBool32 shaderRoundingModeRTZFloat32;
6500 VkBool32 shaderRoundingModeRTZFloat64;
6501 } VkPhysicalDeviceFloatControlsProperties;
6503 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
6504 VkStructureType sType;
6506 deUint32 bindingCount;
6507 const VkDescriptorBindingFlags* pBindingFlags;
6508 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
6510 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
6511 VkStructureType sType;
6513 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6514 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6515 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6516 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6517 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6518 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6519 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6520 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6521 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6522 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6523 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6524 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6525 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6526 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6527 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6528 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6529 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6530 VkBool32 descriptorBindingPartiallyBound;
6531 VkBool32 descriptorBindingVariableDescriptorCount;
6532 VkBool32 runtimeDescriptorArray;
6533 } VkPhysicalDeviceDescriptorIndexingFeatures;
6535 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
6536 VkStructureType sType;
6538 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6539 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6540 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6541 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6542 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6543 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6544 VkBool32 robustBufferAccessUpdateAfterBind;
6545 VkBool32 quadDivergentImplicitLod;
6546 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6547 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6548 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6549 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6550 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6551 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6552 deUint32 maxPerStageUpdateAfterBindResources;
6553 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6554 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6555 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6556 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6557 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6558 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6559 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6560 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6561 } VkPhysicalDeviceDescriptorIndexingProperties;
6563 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
6564 VkStructureType sType;
6566 deUint32 descriptorSetCount;
6567 const deUint32* pDescriptorCounts;
6568 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
6570 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
6571 VkStructureType sType;
6573 deUint32 maxVariableDescriptorCount;
6574 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
6576 typedef struct VkSubpassDescriptionDepthStencilResolve {
6577 VkStructureType sType;
6579 VkResolveModeFlagBits depthResolveMode;
6580 VkResolveModeFlagBits stencilResolveMode;
6581 const VkAttachmentReference2* pDepthStencilResolveAttachment;
6582 } VkSubpassDescriptionDepthStencilResolve;
6584 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
6585 VkStructureType sType;
6587 VkResolveModeFlags supportedDepthResolveModes;
6588 VkResolveModeFlags supportedStencilResolveModes;
6589 VkBool32 independentResolveNone;
6590 VkBool32 independentResolve;
6591 } VkPhysicalDeviceDepthStencilResolveProperties;
6593 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
6594 VkStructureType sType;
6596 VkBool32 scalarBlockLayout;
6597 } VkPhysicalDeviceScalarBlockLayoutFeatures;
6599 typedef struct VkImageStencilUsageCreateInfo {
6600 VkStructureType sType;
6602 VkImageUsageFlags stencilUsage;
6603 } VkImageStencilUsageCreateInfo;
6605 typedef struct VkSamplerReductionModeCreateInfo {
6606 VkStructureType sType;
6608 VkSamplerReductionMode reductionMode;
6609 } VkSamplerReductionModeCreateInfo;
6611 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
6612 VkStructureType sType;
6614 VkBool32 filterMinmaxSingleComponentFormats;
6615 VkBool32 filterMinmaxImageComponentMapping;
6616 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
6618 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
6619 VkStructureType sType;
6621 VkBool32 vulkanMemoryModel;
6622 VkBool32 vulkanMemoryModelDeviceScope;
6623 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6624 } VkPhysicalDeviceVulkanMemoryModelFeatures;
6626 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
6627 VkStructureType sType;
6629 VkBool32 imagelessFramebuffer;
6630 } VkPhysicalDeviceImagelessFramebufferFeatures;
6632 typedef struct VkFramebufferAttachmentImageInfo {
6633 VkStructureType sType;
6635 VkImageCreateFlags flags;
6636 VkImageUsageFlags usage;
6639 deUint32 layerCount;
6640 deUint32 viewFormatCount;
6641 const VkFormat* pViewFormats;
6642 } VkFramebufferAttachmentImageInfo;
6644 typedef struct VkFramebufferAttachmentsCreateInfo {
6645 VkStructureType sType;
6647 deUint32 attachmentImageInfoCount;
6648 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
6649 } VkFramebufferAttachmentsCreateInfo;
6651 typedef struct VkRenderPassAttachmentBeginInfo {
6652 VkStructureType sType;
6654 deUint32 attachmentCount;
6655 const VkImageView* pAttachments;
6656 } VkRenderPassAttachmentBeginInfo;
6658 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
6659 VkStructureType sType;
6661 VkBool32 uniformBufferStandardLayout;
6662 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
6664 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
6665 VkStructureType sType;
6667 VkBool32 shaderSubgroupExtendedTypes;
6668 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
6670 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
6671 VkStructureType sType;
6673 VkBool32 separateDepthStencilLayouts;
6674 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
6676 typedef struct VkAttachmentReferenceStencilLayout {
6677 VkStructureType sType;
6679 VkImageLayout stencilLayout;
6680 } VkAttachmentReferenceStencilLayout;
6682 typedef struct VkAttachmentDescriptionStencilLayout {
6683 VkStructureType sType;
6685 VkImageLayout stencilInitialLayout;
6686 VkImageLayout stencilFinalLayout;
6687 } VkAttachmentDescriptionStencilLayout;
6689 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
6690 VkStructureType sType;
6692 VkBool32 hostQueryReset;
6693 } VkPhysicalDeviceHostQueryResetFeatures;
6695 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
6696 VkStructureType sType;
6698 VkBool32 timelineSemaphore;
6699 } VkPhysicalDeviceTimelineSemaphoreFeatures;
6701 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
6702 VkStructureType sType;
6704 deUint64 maxTimelineSemaphoreValueDifference;
6705 } VkPhysicalDeviceTimelineSemaphoreProperties;
6707 typedef struct VkSemaphoreTypeCreateInfo {
6708 VkStructureType sType;
6710 VkSemaphoreType semaphoreType;
6711 deUint64 initialValue;
6712 } VkSemaphoreTypeCreateInfo;
6714 typedef struct VkTimelineSemaphoreSubmitInfo {
6715 VkStructureType sType;
6717 deUint32 waitSemaphoreValueCount;
6718 const deUint64* pWaitSemaphoreValues;
6719 deUint32 signalSemaphoreValueCount;
6720 const deUint64* pSignalSemaphoreValues;
6721 } VkTimelineSemaphoreSubmitInfo;
6723 typedef struct VkSemaphoreWaitInfo {
6724 VkStructureType sType;
6726 VkSemaphoreWaitFlags flags;
6727 deUint32 semaphoreCount;
6728 const VkSemaphore* pSemaphores;
6729 const deUint64* pValues;
6730 } VkSemaphoreWaitInfo;
6732 typedef struct VkSemaphoreSignalInfo {
6733 VkStructureType sType;
6735 VkSemaphore semaphore;
6737 } VkSemaphoreSignalInfo;
6739 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
6740 VkStructureType sType;
6742 VkBool32 bufferDeviceAddress;
6743 VkBool32 bufferDeviceAddressCaptureReplay;
6744 VkBool32 bufferDeviceAddressMultiDevice;
6745 } VkPhysicalDeviceBufferDeviceAddressFeatures;
6747 typedef struct VkBufferDeviceAddressInfo {
6748 VkStructureType sType;
6751 } VkBufferDeviceAddressInfo;
6753 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
6754 VkStructureType sType;
6756 deUint64 opaqueCaptureAddress;
6757 } VkBufferOpaqueCaptureAddressCreateInfo;
6759 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
6760 VkStructureType sType;
6762 deUint64 opaqueCaptureAddress;
6763 } VkMemoryOpaqueCaptureAddressAllocateInfo;
6765 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
6766 VkStructureType sType;
6768 VkDeviceMemory memory;
6769 } VkDeviceMemoryOpaqueCaptureAddressInfo;
6771 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
6772 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
6773 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6774 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6775 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6776 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6777 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
6778 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
6779 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
6780 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
6781 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6782 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6783 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6785 #ifndef VK_NO_PROTOTYPES
6786 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
6787 VkCommandBuffer commandBuffer,
6789 VkDeviceSize offset,
6790 VkBuffer countBuffer,
6791 VkDeviceSize countBufferOffset,
6792 deUint32 maxDrawCount,
6795 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
6796 VkCommandBuffer commandBuffer,
6798 VkDeviceSize offset,
6799 VkBuffer countBuffer,
6800 VkDeviceSize countBufferOffset,
6801 deUint32 maxDrawCount,
6804 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
6806 const VkRenderPassCreateInfo2* pCreateInfo,
6807 const VkAllocationCallbacks* pAllocator,
6808 VkRenderPass* pRenderPass);
6810 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
6811 VkCommandBuffer commandBuffer,
6812 const VkRenderPassBeginInfo* pRenderPassBegin,
6813 const VkSubpassBeginInfo* pSubpassBeginInfo);
6815 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
6816 VkCommandBuffer commandBuffer,
6817 const VkSubpassBeginInfo* pSubpassBeginInfo,
6818 const VkSubpassEndInfo* pSubpassEndInfo);
6820 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
6821 VkCommandBuffer commandBuffer,
6822 const VkSubpassEndInfo* pSubpassEndInfo);
6824 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
6826 VkQueryPool queryPool,
6827 deUint32 firstQuery,
6828 deUint32 queryCount);
6830 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
6832 VkSemaphore semaphore,
6835 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
6837 const VkSemaphoreWaitInfo* pWaitInfo,
6840 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
6842 const VkSemaphoreSignalInfo* pSignalInfo);
6844 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
6846 const VkBufferDeviceAddressInfo* pInfo);
6848 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
6850 const VkBufferDeviceAddressInfo* pInfo);
6852 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
6854 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6858 #define VK_KHR_surface 1
6859 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
6860 #define VK_KHR_SURFACE_SPEC_VERSION 25
6861 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
6863 typedef enum VkPresentModeKHR {
6864 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
6865 VK_PRESENT_MODE_MAILBOX_KHR = 1,
6866 VK_PRESENT_MODE_FIFO_KHR = 2,
6867 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
6868 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
6869 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
6870 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
6873 typedef enum VkColorSpaceKHR {
6874 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
6875 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
6876 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
6877 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
6878 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
6879 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
6880 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
6881 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
6882 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
6883 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
6884 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
6885 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
6886 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
6887 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
6888 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
6889 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
6890 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
6891 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
6892 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
6895 typedef enum VkSurfaceTransformFlagBitsKHR {
6896 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
6897 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
6898 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
6899 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
6900 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
6901 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
6902 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
6903 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
6904 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
6905 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6906 } VkSurfaceTransformFlagBitsKHR;
6908 typedef enum VkCompositeAlphaFlagBitsKHR {
6909 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
6910 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
6911 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
6912 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
6913 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6914 } VkCompositeAlphaFlagBitsKHR;
6915 typedef VkFlags VkCompositeAlphaFlagsKHR;
6916 typedef VkFlags VkSurfaceTransformFlagsKHR;
6917 typedef struct VkSurfaceCapabilitiesKHR {
6918 deUint32 minImageCount;
6919 deUint32 maxImageCount;
6920 VkExtent2D currentExtent;
6921 VkExtent2D minImageExtent;
6922 VkExtent2D maxImageExtent;
6923 deUint32 maxImageArrayLayers;
6924 VkSurfaceTransformFlagsKHR supportedTransforms;
6925 VkSurfaceTransformFlagBitsKHR currentTransform;
6926 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
6927 VkImageUsageFlags supportedUsageFlags;
6928 } VkSurfaceCapabilitiesKHR;
6930 typedef struct VkSurfaceFormatKHR {
6932 VkColorSpaceKHR colorSpace;
6933 } VkSurfaceFormatKHR;
6935 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
6936 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
6937 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6938 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
6939 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes);
6941 #ifndef VK_NO_PROTOTYPES
6942 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
6943 VkInstance instance,
6944 VkSurfaceKHR surface,
6945 const VkAllocationCallbacks* pAllocator);
6947 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
6948 VkPhysicalDevice physicalDevice,
6949 deUint32 queueFamilyIndex,
6950 VkSurfaceKHR surface,
6951 VkBool32* pSupported);
6953 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
6954 VkPhysicalDevice physicalDevice,
6955 VkSurfaceKHR surface,
6956 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6958 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
6959 VkPhysicalDevice physicalDevice,
6960 VkSurfaceKHR surface,
6961 deUint32* pSurfaceFormatCount,
6962 VkSurfaceFormatKHR* pSurfaceFormats);
6964 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
6965 VkPhysicalDevice physicalDevice,
6966 VkSurfaceKHR surface,
6967 deUint32* pPresentModeCount,
6968 VkPresentModeKHR* pPresentModes);
6972 #define VK_KHR_swapchain 1
6973 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
6974 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
6975 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
6977 typedef enum VkSwapchainCreateFlagBitsKHR {
6978 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
6979 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
6980 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
6981 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6982 } VkSwapchainCreateFlagBitsKHR;
6983 typedef VkFlags VkSwapchainCreateFlagsKHR;
6985 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
6986 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
6987 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
6988 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
6989 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
6990 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6991 } VkDeviceGroupPresentModeFlagBitsKHR;
6992 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
6993 typedef struct VkSwapchainCreateInfoKHR {
6994 VkStructureType sType;
6996 VkSwapchainCreateFlagsKHR flags;
6997 VkSurfaceKHR surface;
6998 deUint32 minImageCount;
6999 VkFormat imageFormat;
7000 VkColorSpaceKHR imageColorSpace;
7001 VkExtent2D imageExtent;
7002 deUint32 imageArrayLayers;
7003 VkImageUsageFlags imageUsage;
7004 VkSharingMode imageSharingMode;
7005 deUint32 queueFamilyIndexCount;
7006 const deUint32* pQueueFamilyIndices;
7007 VkSurfaceTransformFlagBitsKHR preTransform;
7008 VkCompositeAlphaFlagBitsKHR compositeAlpha;
7009 VkPresentModeKHR presentMode;
7011 VkSwapchainKHR oldSwapchain;
7012 } VkSwapchainCreateInfoKHR;
7014 typedef struct VkPresentInfoKHR {
7015 VkStructureType sType;
7017 deUint32 waitSemaphoreCount;
7018 const VkSemaphore* pWaitSemaphores;
7019 deUint32 swapchainCount;
7020 const VkSwapchainKHR* pSwapchains;
7021 const deUint32* pImageIndices;
7025 typedef struct VkImageSwapchainCreateInfoKHR {
7026 VkStructureType sType;
7028 VkSwapchainKHR swapchain;
7029 } VkImageSwapchainCreateInfoKHR;
7031 typedef struct VkBindImageMemorySwapchainInfoKHR {
7032 VkStructureType sType;
7034 VkSwapchainKHR swapchain;
7035 deUint32 imageIndex;
7036 } VkBindImageMemorySwapchainInfoKHR;
7038 typedef struct VkAcquireNextImageInfoKHR {
7039 VkStructureType sType;
7041 VkSwapchainKHR swapchain;
7043 VkSemaphore semaphore;
7045 deUint32 deviceMask;
7046 } VkAcquireNextImageInfoKHR;
7048 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
7049 VkStructureType sType;
7051 deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE];
7052 VkDeviceGroupPresentModeFlagsKHR modes;
7053 } VkDeviceGroupPresentCapabilitiesKHR;
7055 typedef struct VkDeviceGroupPresentInfoKHR {
7056 VkStructureType sType;
7058 deUint32 swapchainCount;
7059 const deUint32* pDeviceMasks;
7060 VkDeviceGroupPresentModeFlagBitsKHR mode;
7061 } VkDeviceGroupPresentInfoKHR;
7063 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
7064 VkStructureType sType;
7066 VkDeviceGroupPresentModeFlagsKHR modes;
7067 } VkDeviceGroupSwapchainCreateInfoKHR;
7069 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
7070 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
7071 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages);
7072 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex);
7073 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
7074 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7075 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
7076 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects);
7077 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex);
7079 #ifndef VK_NO_PROTOTYPES
7080 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
7082 const VkSwapchainCreateInfoKHR* pCreateInfo,
7083 const VkAllocationCallbacks* pAllocator,
7084 VkSwapchainKHR* pSwapchain);
7086 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
7088 VkSwapchainKHR swapchain,
7089 const VkAllocationCallbacks* pAllocator);
7091 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
7093 VkSwapchainKHR swapchain,
7094 deUint32* pSwapchainImageCount,
7095 VkImage* pSwapchainImages);
7097 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
7099 VkSwapchainKHR swapchain,
7101 VkSemaphore semaphore,
7103 deUint32* pImageIndex);
7105 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
7107 const VkPresentInfoKHR* pPresentInfo);
7109 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
7111 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7113 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
7115 VkSurfaceKHR surface,
7116 VkDeviceGroupPresentModeFlagsKHR* pModes);
7118 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
7119 VkPhysicalDevice physicalDevice,
7120 VkSurfaceKHR surface,
7121 deUint32* pRectCount,
7124 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
7126 const VkAcquireNextImageInfoKHR* pAcquireInfo,
7127 deUint32* pImageIndex);
7131 #define VK_KHR_display 1
7132 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
7133 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
7134 #define VK_KHR_DISPLAY_SPEC_VERSION 23
7135 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
7136 typedef VkFlags VkDisplayModeCreateFlagsKHR;
7138 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
7139 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
7140 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
7141 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
7142 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
7143 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7144 } VkDisplayPlaneAlphaFlagBitsKHR;
7145 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
7146 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
7147 typedef struct VkDisplayModeParametersKHR {
7148 VkExtent2D visibleRegion;
7149 deUint32 refreshRate;
7150 } VkDisplayModeParametersKHR;
7152 typedef struct VkDisplayModeCreateInfoKHR {
7153 VkStructureType sType;
7155 VkDisplayModeCreateFlagsKHR flags;
7156 VkDisplayModeParametersKHR parameters;
7157 } VkDisplayModeCreateInfoKHR;
7159 typedef struct VkDisplayModePropertiesKHR {
7160 VkDisplayModeKHR displayMode;
7161 VkDisplayModeParametersKHR parameters;
7162 } VkDisplayModePropertiesKHR;
7164 typedef struct VkDisplayPlaneCapabilitiesKHR {
7165 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
7166 VkOffset2D minSrcPosition;
7167 VkOffset2D maxSrcPosition;
7168 VkExtent2D minSrcExtent;
7169 VkExtent2D maxSrcExtent;
7170 VkOffset2D minDstPosition;
7171 VkOffset2D maxDstPosition;
7172 VkExtent2D minDstExtent;
7173 VkExtent2D maxDstExtent;
7174 } VkDisplayPlaneCapabilitiesKHR;
7176 typedef struct VkDisplayPlanePropertiesKHR {
7177 VkDisplayKHR currentDisplay;
7178 deUint32 currentStackIndex;
7179 } VkDisplayPlanePropertiesKHR;
7181 typedef struct VkDisplayPropertiesKHR {
7182 VkDisplayKHR display;
7183 const char* displayName;
7184 VkExtent2D physicalDimensions;
7185 VkExtent2D physicalResolution;
7186 VkSurfaceTransformFlagsKHR supportedTransforms;
7187 VkBool32 planeReorderPossible;
7188 VkBool32 persistentContent;
7189 } VkDisplayPropertiesKHR;
7191 typedef struct VkDisplaySurfaceCreateInfoKHR {
7192 VkStructureType sType;
7194 VkDisplaySurfaceCreateFlagsKHR flags;
7195 VkDisplayModeKHR displayMode;
7196 deUint32 planeIndex;
7197 deUint32 planeStackIndex;
7198 VkSurfaceTransformFlagBitsKHR transform;
7200 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
7201 VkExtent2D imageExtent;
7202 } VkDisplaySurfaceCreateInfoKHR;
7204 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
7205 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
7206 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays);
7207 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
7208 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
7209 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7210 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
7212 #ifndef VK_NO_PROTOTYPES
7213 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
7214 VkPhysicalDevice physicalDevice,
7215 deUint32* pPropertyCount,
7216 VkDisplayPropertiesKHR* pProperties);
7218 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
7219 VkPhysicalDevice physicalDevice,
7220 deUint32* pPropertyCount,
7221 VkDisplayPlanePropertiesKHR* pProperties);
7223 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
7224 VkPhysicalDevice physicalDevice,
7225 deUint32 planeIndex,
7226 deUint32* pDisplayCount,
7227 VkDisplayKHR* pDisplays);
7229 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
7230 VkPhysicalDevice physicalDevice,
7231 VkDisplayKHR display,
7232 deUint32* pPropertyCount,
7233 VkDisplayModePropertiesKHR* pProperties);
7235 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
7236 VkPhysicalDevice physicalDevice,
7237 VkDisplayKHR display,
7238 const VkDisplayModeCreateInfoKHR* pCreateInfo,
7239 const VkAllocationCallbacks* pAllocator,
7240 VkDisplayModeKHR* pMode);
7242 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
7243 VkPhysicalDevice physicalDevice,
7244 VkDisplayModeKHR mode,
7245 deUint32 planeIndex,
7246 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7248 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
7249 VkInstance instance,
7250 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
7251 const VkAllocationCallbacks* pAllocator,
7252 VkSurfaceKHR* pSurface);
7256 #define VK_KHR_display_swapchain 1
7257 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
7258 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
7259 typedef struct VkDisplayPresentInfoKHR {
7260 VkStructureType sType;
7264 VkBool32 persistent;
7265 } VkDisplayPresentInfoKHR;
7267 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
7269 #ifndef VK_NO_PROTOTYPES
7270 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
7272 deUint32 swapchainCount,
7273 const VkSwapchainCreateInfoKHR* pCreateInfos,
7274 const VkAllocationCallbacks* pAllocator,
7275 VkSwapchainKHR* pSwapchains);
7279 #define VK_KHR_sampler_mirror_clamp_to_edge 1
7280 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
7281 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
7284 #define VK_KHR_multiview 1
7285 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
7286 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
7287 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
7289 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
7291 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
7295 #define VK_KHR_get_physical_device_properties2 1
7296 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
7297 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
7298 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
7300 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
7302 typedef VkFormatProperties2 VkFormatProperties2KHR;
7304 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
7306 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
7308 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
7310 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
7312 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
7314 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
7316 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
7317 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
7318 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
7319 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
7320 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
7321 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7322 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
7324 #ifndef VK_NO_PROTOTYPES
7325 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
7326 VkPhysicalDevice physicalDevice,
7327 VkPhysicalDeviceFeatures2* pFeatures);
7329 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
7330 VkPhysicalDevice physicalDevice,
7331 VkPhysicalDeviceProperties2* pProperties);
7333 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
7334 VkPhysicalDevice physicalDevice,
7336 VkFormatProperties2* pFormatProperties);
7338 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
7339 VkPhysicalDevice physicalDevice,
7340 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
7341 VkImageFormatProperties2* pImageFormatProperties);
7343 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
7344 VkPhysicalDevice physicalDevice,
7345 deUint32* pQueueFamilyPropertyCount,
7346 VkQueueFamilyProperties2* pQueueFamilyProperties);
7348 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
7349 VkPhysicalDevice physicalDevice,
7350 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7352 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
7353 VkPhysicalDevice physicalDevice,
7354 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
7355 deUint32* pPropertyCount,
7356 VkSparseImageFormatProperties2* pProperties);
7360 #define VK_KHR_device_group 1
7361 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
7362 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
7363 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
7365 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
7367 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
7369 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
7371 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
7373 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
7375 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
7377 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
7379 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
7381 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
7383 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
7385 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7386 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
7387 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
7389 #ifndef VK_NO_PROTOTYPES
7390 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
7393 deUint32 localDeviceIndex,
7394 deUint32 remoteDeviceIndex,
7395 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7397 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
7398 VkCommandBuffer commandBuffer,
7399 deUint32 deviceMask);
7401 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
7402 VkCommandBuffer commandBuffer,
7403 deUint32 baseGroupX,
7404 deUint32 baseGroupY,
7405 deUint32 baseGroupZ,
7406 deUint32 groupCountX,
7407 deUint32 groupCountY,
7408 deUint32 groupCountZ);
7412 #define VK_KHR_shader_draw_parameters 1
7413 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
7414 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
7417 #define VK_KHR_maintenance1 1
7418 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
7419 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
7420 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
7422 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
7424 #ifndef VK_NO_PROTOTYPES
7425 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
7427 VkCommandPool commandPool,
7428 VkCommandPoolTrimFlags flags);
7432 #define VK_KHR_device_group_creation 1
7433 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
7434 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
7435 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
7436 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
7438 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
7440 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7442 #ifndef VK_NO_PROTOTYPES
7443 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
7444 VkInstance instance,
7445 deUint32* pPhysicalDeviceGroupCount,
7446 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7450 #define VK_KHR_external_memory_capabilities 1
7451 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
7452 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
7453 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
7454 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
7456 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
7458 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
7460 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
7462 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
7464 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
7466 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
7468 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
7470 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
7472 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
7474 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
7476 #ifndef VK_NO_PROTOTYPES
7477 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
7478 VkPhysicalDevice physicalDevice,
7479 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
7480 VkExternalBufferProperties* pExternalBufferProperties);
7484 #define VK_KHR_external_memory 1
7485 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
7486 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
7487 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
7488 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
7490 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
7492 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
7496 #define VK_KHR_external_memory_fd 1
7497 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
7498 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
7499 typedef struct VkImportMemoryFdInfoKHR {
7500 VkStructureType sType;
7502 VkExternalMemoryHandleTypeFlagBits handleType;
7504 } VkImportMemoryFdInfoKHR;
7506 typedef struct VkMemoryFdPropertiesKHR {
7507 VkStructureType sType;
7509 deUint32 memoryTypeBits;
7510 } VkMemoryFdPropertiesKHR;
7512 typedef struct VkMemoryGetFdInfoKHR {
7513 VkStructureType sType;
7515 VkDeviceMemory memory;
7516 VkExternalMemoryHandleTypeFlagBits handleType;
7517 } VkMemoryGetFdInfoKHR;
7519 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
7520 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
7522 #ifndef VK_NO_PROTOTYPES
7523 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
7525 const VkMemoryGetFdInfoKHR* pGetFdInfo,
7528 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
7530 VkExternalMemoryHandleTypeFlagBits handleType,
7532 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
7536 #define VK_KHR_external_semaphore_capabilities 1
7537 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
7538 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
7539 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
7541 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
7543 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
7545 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
7547 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
7549 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
7551 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
7553 #ifndef VK_NO_PROTOTYPES
7554 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
7555 VkPhysicalDevice physicalDevice,
7556 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
7557 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
7561 #define VK_KHR_external_semaphore 1
7562 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
7563 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
7564 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
7566 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
7568 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
7572 #define VK_KHR_external_semaphore_fd 1
7573 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
7574 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
7575 typedef struct VkImportSemaphoreFdInfoKHR {
7576 VkStructureType sType;
7578 VkSemaphore semaphore;
7579 VkSemaphoreImportFlags flags;
7580 VkExternalSemaphoreHandleTypeFlagBits handleType;
7582 } VkImportSemaphoreFdInfoKHR;
7584 typedef struct VkSemaphoreGetFdInfoKHR {
7585 VkStructureType sType;
7587 VkSemaphore semaphore;
7588 VkExternalSemaphoreHandleTypeFlagBits handleType;
7589 } VkSemaphoreGetFdInfoKHR;
7591 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
7592 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
7594 #ifndef VK_NO_PROTOTYPES
7595 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
7597 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
7599 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
7601 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
7606 #define VK_KHR_push_descriptor 1
7607 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
7608 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
7609 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
7610 VkStructureType sType;
7612 deUint32 maxPushDescriptors;
7613 } VkPhysicalDevicePushDescriptorPropertiesKHR;
7615 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
7616 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData);
7618 #ifndef VK_NO_PROTOTYPES
7619 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
7620 VkCommandBuffer commandBuffer,
7621 VkPipelineBindPoint pipelineBindPoint,
7622 VkPipelineLayout layout,
7624 deUint32 descriptorWriteCount,
7625 const VkWriteDescriptorSet* pDescriptorWrites);
7627 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
7628 VkCommandBuffer commandBuffer,
7629 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7630 VkPipelineLayout layout,
7636 #define VK_KHR_shader_float16_int8 1
7637 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
7638 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
7639 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
7641 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
7645 #define VK_KHR_16bit_storage 1
7646 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
7647 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
7648 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
7652 #define VK_KHR_incremental_present 1
7653 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
7654 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
7655 typedef struct VkRectLayerKHR {
7661 typedef struct VkPresentRegionKHR {
7662 deUint32 rectangleCount;
7663 const VkRectLayerKHR* pRectangles;
7664 } VkPresentRegionKHR;
7666 typedef struct VkPresentRegionsKHR {
7667 VkStructureType sType;
7669 deUint32 swapchainCount;
7670 const VkPresentRegionKHR* pRegions;
7671 } VkPresentRegionsKHR;
7675 #define VK_KHR_descriptor_update_template 1
7676 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
7678 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
7679 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
7680 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
7682 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
7684 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
7686 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
7688 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
7689 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
7690 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
7692 #ifndef VK_NO_PROTOTYPES
7693 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
7695 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
7696 const VkAllocationCallbacks* pAllocator,
7697 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
7699 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
7701 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7702 const VkAllocationCallbacks* pAllocator);
7704 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
7706 VkDescriptorSet descriptorSet,
7707 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7712 #define VK_KHR_imageless_framebuffer 1
7713 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
7714 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
7715 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
7717 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
7719 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
7721 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
7725 #define VK_KHR_create_renderpass2 1
7726 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
7727 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
7728 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
7730 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
7732 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
7734 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
7736 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
7738 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
7740 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
7742 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
7743 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
7744 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
7745 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
7747 #ifndef VK_NO_PROTOTYPES
7748 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
7750 const VkRenderPassCreateInfo2* pCreateInfo,
7751 const VkAllocationCallbacks* pAllocator,
7752 VkRenderPass* pRenderPass);
7754 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
7755 VkCommandBuffer commandBuffer,
7756 const VkRenderPassBeginInfo* pRenderPassBegin,
7757 const VkSubpassBeginInfo* pSubpassBeginInfo);
7759 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
7760 VkCommandBuffer commandBuffer,
7761 const VkSubpassBeginInfo* pSubpassBeginInfo,
7762 const VkSubpassEndInfo* pSubpassEndInfo);
7764 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
7765 VkCommandBuffer commandBuffer,
7766 const VkSubpassEndInfo* pSubpassEndInfo);
7770 #define VK_KHR_shared_presentable_image 1
7771 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
7772 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
7773 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
7774 VkStructureType sType;
7776 VkImageUsageFlags sharedPresentSupportedUsageFlags;
7777 } VkSharedPresentSurfaceCapabilitiesKHR;
7779 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
7781 #ifndef VK_NO_PROTOTYPES
7782 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
7784 VkSwapchainKHR swapchain);
7788 #define VK_KHR_external_fence_capabilities 1
7789 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
7790 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
7791 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
7793 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
7795 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
7797 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
7799 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
7801 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
7803 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
7805 #ifndef VK_NO_PROTOTYPES
7806 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
7807 VkPhysicalDevice physicalDevice,
7808 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
7809 VkExternalFenceProperties* pExternalFenceProperties);
7813 #define VK_KHR_external_fence 1
7814 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
7815 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
7816 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
7818 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
7820 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
7824 #define VK_KHR_external_fence_fd 1
7825 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
7826 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
7827 typedef struct VkImportFenceFdInfoKHR {
7828 VkStructureType sType;
7831 VkFenceImportFlags flags;
7832 VkExternalFenceHandleTypeFlagBits handleType;
7834 } VkImportFenceFdInfoKHR;
7836 typedef struct VkFenceGetFdInfoKHR {
7837 VkStructureType sType;
7840 VkExternalFenceHandleTypeFlagBits handleType;
7841 } VkFenceGetFdInfoKHR;
7843 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
7844 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
7846 #ifndef VK_NO_PROTOTYPES
7847 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
7849 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
7851 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
7853 const VkFenceGetFdInfoKHR* pGetFdInfo,
7858 #define VK_KHR_performance_query 1
7859 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
7860 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
7862 typedef enum VkPerformanceCounterUnitKHR {
7863 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
7864 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
7865 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
7866 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
7867 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
7868 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
7869 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
7870 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
7871 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
7872 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
7873 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
7874 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
7875 } VkPerformanceCounterUnitKHR;
7877 typedef enum VkPerformanceCounterScopeKHR {
7878 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
7879 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
7880 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
7881 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
7882 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
7883 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
7884 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
7885 } VkPerformanceCounterScopeKHR;
7887 typedef enum VkPerformanceCounterStorageKHR {
7888 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
7889 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
7890 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
7891 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
7892 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
7893 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
7894 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
7895 } VkPerformanceCounterStorageKHR;
7897 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
7898 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
7899 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
7900 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
7901 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
7902 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7903 } VkPerformanceCounterDescriptionFlagBitsKHR;
7904 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
7906 typedef enum VkAcquireProfilingLockFlagBitsKHR {
7907 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7908 } VkAcquireProfilingLockFlagBitsKHR;
7909 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
7910 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
7911 VkStructureType sType;
7913 VkBool32 performanceCounterQueryPools;
7914 VkBool32 performanceCounterMultipleQueryPools;
7915 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
7917 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
7918 VkStructureType sType;
7920 VkBool32 allowCommandBufferQueryCopies;
7921 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
7923 typedef struct VkPerformanceCounterKHR {
7924 VkStructureType sType;
7926 VkPerformanceCounterUnitKHR unit;
7927 VkPerformanceCounterScopeKHR scope;
7928 VkPerformanceCounterStorageKHR storage;
7929 deUint8 uuid[VK_UUID_SIZE];
7930 } VkPerformanceCounterKHR;
7932 typedef struct VkPerformanceCounterDescriptionKHR {
7933 VkStructureType sType;
7935 VkPerformanceCounterDescriptionFlagsKHR flags;
7936 char name[VK_MAX_DESCRIPTION_SIZE];
7937 char category[VK_MAX_DESCRIPTION_SIZE];
7938 char description[VK_MAX_DESCRIPTION_SIZE];
7939 } VkPerformanceCounterDescriptionKHR;
7941 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
7942 VkStructureType sType;
7944 deUint32 queueFamilyIndex;
7945 deUint32 counterIndexCount;
7946 const deUint32* pCounterIndices;
7947 } VkQueryPoolPerformanceCreateInfoKHR;
7949 typedef union VkPerformanceCounterResultKHR {
7956 } VkPerformanceCounterResultKHR;
7958 typedef struct VkAcquireProfilingLockInfoKHR {
7959 VkStructureType sType;
7961 VkAcquireProfilingLockFlagsKHR flags;
7963 } VkAcquireProfilingLockInfoKHR;
7965 typedef struct VkPerformanceQuerySubmitInfoKHR {
7966 VkStructureType sType;
7968 deUint32 counterPassIndex;
7969 } VkPerformanceQuerySubmitInfoKHR;
7971 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
7972 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses);
7973 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
7974 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
7976 #ifndef VK_NO_PROTOTYPES
7977 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
7978 VkPhysicalDevice physicalDevice,
7979 deUint32 queueFamilyIndex,
7980 deUint32* pCounterCount,
7981 VkPerformanceCounterKHR* pCounters,
7982 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
7984 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
7985 VkPhysicalDevice physicalDevice,
7986 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
7987 deUint32* pNumPasses);
7989 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
7991 const VkAcquireProfilingLockInfoKHR* pInfo);
7993 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
7998 #define VK_KHR_maintenance2 1
7999 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
8000 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
8001 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
8003 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
8005 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
8007 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
8009 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
8011 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
8013 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
8017 #define VK_KHR_get_surface_capabilities2 1
8018 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
8019 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
8020 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
8021 VkStructureType sType;
8023 VkSurfaceKHR surface;
8024 } VkPhysicalDeviceSurfaceInfo2KHR;
8026 typedef struct VkSurfaceCapabilities2KHR {
8027 VkStructureType sType;
8029 VkSurfaceCapabilitiesKHR surfaceCapabilities;
8030 } VkSurfaceCapabilities2KHR;
8032 typedef struct VkSurfaceFormat2KHR {
8033 VkStructureType sType;
8035 VkSurfaceFormatKHR surfaceFormat;
8036 } VkSurfaceFormat2KHR;
8038 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8039 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
8041 #ifndef VK_NO_PROTOTYPES
8042 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
8043 VkPhysicalDevice physicalDevice,
8044 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8045 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8047 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
8048 VkPhysicalDevice physicalDevice,
8049 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8050 deUint32* pSurfaceFormatCount,
8051 VkSurfaceFormat2KHR* pSurfaceFormats);
8055 #define VK_KHR_variable_pointers 1
8056 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
8057 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
8058 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
8060 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
8064 #define VK_KHR_get_display_properties2 1
8065 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
8066 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
8067 typedef struct VkDisplayProperties2KHR {
8068 VkStructureType sType;
8070 VkDisplayPropertiesKHR displayProperties;
8071 } VkDisplayProperties2KHR;
8073 typedef struct VkDisplayPlaneProperties2KHR {
8074 VkStructureType sType;
8076 VkDisplayPlanePropertiesKHR displayPlaneProperties;
8077 } VkDisplayPlaneProperties2KHR;
8079 typedef struct VkDisplayModeProperties2KHR {
8080 VkStructureType sType;
8082 VkDisplayModePropertiesKHR displayModeProperties;
8083 } VkDisplayModeProperties2KHR;
8085 typedef struct VkDisplayPlaneInfo2KHR {
8086 VkStructureType sType;
8088 VkDisplayModeKHR mode;
8089 deUint32 planeIndex;
8090 } VkDisplayPlaneInfo2KHR;
8092 typedef struct VkDisplayPlaneCapabilities2KHR {
8093 VkStructureType sType;
8095 VkDisplayPlaneCapabilitiesKHR capabilities;
8096 } VkDisplayPlaneCapabilities2KHR;
8098 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties);
8099 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
8100 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
8101 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
8103 #ifndef VK_NO_PROTOTYPES
8104 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
8105 VkPhysicalDevice physicalDevice,
8106 deUint32* pPropertyCount,
8107 VkDisplayProperties2KHR* pProperties);
8109 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
8110 VkPhysicalDevice physicalDevice,
8111 deUint32* pPropertyCount,
8112 VkDisplayPlaneProperties2KHR* pProperties);
8114 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
8115 VkPhysicalDevice physicalDevice,
8116 VkDisplayKHR display,
8117 deUint32* pPropertyCount,
8118 VkDisplayModeProperties2KHR* pProperties);
8120 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
8121 VkPhysicalDevice physicalDevice,
8122 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
8123 VkDisplayPlaneCapabilities2KHR* pCapabilities);
8127 #define VK_KHR_dedicated_allocation 1
8128 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
8129 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
8130 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
8132 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
8136 #define VK_KHR_storage_buffer_storage_class 1
8137 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
8138 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
8141 #define VK_KHR_relaxed_block_layout 1
8142 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
8143 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
8146 #define VK_KHR_get_memory_requirements2 1
8147 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
8148 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
8149 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
8151 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
8153 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
8155 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
8157 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
8159 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8160 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8161 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8163 #ifndef VK_NO_PROTOTYPES
8164 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
8166 const VkImageMemoryRequirementsInfo2* pInfo,
8167 VkMemoryRequirements2* pMemoryRequirements);
8169 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
8171 const VkBufferMemoryRequirementsInfo2* pInfo,
8172 VkMemoryRequirements2* pMemoryRequirements);
8174 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
8176 const VkImageSparseMemoryRequirementsInfo2* pInfo,
8177 deUint32* pSparseMemoryRequirementCount,
8178 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8182 #define VK_KHR_image_format_list 1
8183 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
8184 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
8185 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
8189 #define VK_KHR_sampler_ycbcr_conversion 1
8190 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
8192 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
8193 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
8194 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
8196 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
8198 typedef VkChromaLocation VkChromaLocationKHR;
8200 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
8202 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
8204 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
8206 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
8208 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
8210 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
8212 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
8213 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
8215 #ifndef VK_NO_PROTOTYPES
8216 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
8218 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
8219 const VkAllocationCallbacks* pAllocator,
8220 VkSamplerYcbcrConversion* pYcbcrConversion);
8222 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
8224 VkSamplerYcbcrConversion ycbcrConversion,
8225 const VkAllocationCallbacks* pAllocator);
8229 #define VK_KHR_bind_memory2 1
8230 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
8231 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
8232 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
8234 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
8236 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
8237 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
8239 #ifndef VK_NO_PROTOTYPES
8240 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
8242 deUint32 bindInfoCount,
8243 const VkBindBufferMemoryInfo* pBindInfos);
8245 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
8247 deUint32 bindInfoCount,
8248 const VkBindImageMemoryInfo* pBindInfos);
8252 #define VK_KHR_maintenance3 1
8253 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
8254 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
8255 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
8257 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
8259 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
8261 #ifndef VK_NO_PROTOTYPES
8262 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
8264 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
8265 VkDescriptorSetLayoutSupport* pSupport);
8269 #define VK_KHR_draw_indirect_count 1
8270 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
8271 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
8272 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8273 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8275 #ifndef VK_NO_PROTOTYPES
8276 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
8277 VkCommandBuffer commandBuffer,
8279 VkDeviceSize offset,
8280 VkBuffer countBuffer,
8281 VkDeviceSize countBufferOffset,
8282 deUint32 maxDrawCount,
8285 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
8286 VkCommandBuffer commandBuffer,
8288 VkDeviceSize offset,
8289 VkBuffer countBuffer,
8290 VkDeviceSize countBufferOffset,
8291 deUint32 maxDrawCount,
8296 #define VK_KHR_shader_subgroup_extended_types 1
8297 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
8298 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
8299 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
8303 #define VK_KHR_8bit_storage 1
8304 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
8305 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
8306 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
8310 #define VK_KHR_shader_atomic_int64 1
8311 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
8312 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
8313 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
8317 #define VK_KHR_shader_clock 1
8318 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
8319 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
8320 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
8321 VkStructureType sType;
8323 VkBool32 shaderSubgroupClock;
8324 VkBool32 shaderDeviceClock;
8325 } VkPhysicalDeviceShaderClockFeaturesKHR;
8329 #define VK_KHR_driver_properties 1
8330 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
8331 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
8332 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
8333 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
8334 typedef VkDriverId VkDriverIdKHR;
8336 typedef VkConformanceVersion VkConformanceVersionKHR;
8338 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
8342 #define VK_KHR_shader_float_controls 1
8343 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
8344 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
8345 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
8347 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
8351 #define VK_KHR_depth_stencil_resolve 1
8352 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
8353 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
8354 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
8356 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
8358 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
8360 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
8364 #define VK_KHR_swapchain_mutable_format 1
8365 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
8366 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
8369 #define VK_KHR_timeline_semaphore 1
8370 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
8371 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
8372 typedef VkSemaphoreType VkSemaphoreTypeKHR;
8374 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
8376 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
8378 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
8380 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
8382 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
8384 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
8386 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
8388 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
8390 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
8391 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
8392 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
8394 #ifndef VK_NO_PROTOTYPES
8395 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
8397 VkSemaphore semaphore,
8400 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
8402 const VkSemaphoreWaitInfo* pWaitInfo,
8405 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
8407 const VkSemaphoreSignalInfo* pSignalInfo);
8411 #define VK_KHR_vulkan_memory_model 1
8412 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
8413 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
8414 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
8418 #define VK_KHR_shader_terminate_invocation 1
8419 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
8420 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
8421 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR {
8422 VkStructureType sType;
8424 VkBool32 shaderTerminateInvocation;
8425 } VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
8429 #define VK_KHR_fragment_shading_rate 1
8430 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 1
8431 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
8433 typedef enum VkFragmentShadingRateCombinerOpKHR {
8434 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
8435 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
8436 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
8437 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
8438 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
8439 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
8440 } VkFragmentShadingRateCombinerOpKHR;
8441 typedef struct VkFragmentShadingRateAttachmentInfoKHR {
8442 VkStructureType sType;
8444 const VkAttachmentReference2* pFragmentShadingRateAttachment;
8445 VkExtent2D shadingRateAttachmentTexelSize;
8446 } VkFragmentShadingRateAttachmentInfoKHR;
8448 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
8449 VkStructureType sType;
8451 VkExtent2D fragmentSize;
8452 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
8453 } VkPipelineFragmentShadingRateStateCreateInfoKHR;
8455 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
8456 VkStructureType sType;
8458 VkBool32 pipelineFragmentShadingRate;
8459 VkBool32 primitiveFragmentShadingRate;
8460 VkBool32 attachmentFragmentShadingRate;
8461 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
8463 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
8464 VkStructureType sType;
8466 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
8467 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
8468 deUint32 maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
8469 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
8470 VkBool32 layeredShadingRateAttachments;
8471 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
8472 VkExtent2D maxFragmentSize;
8473 deUint32 maxFragmentSizeAspectRatio;
8474 deUint32 maxFragmentShadingRateCoverageSamples;
8475 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
8476 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
8477 VkBool32 fragmentShadingRateWithSampleMask;
8478 VkBool32 fragmentShadingRateWithShaderSampleMask;
8479 VkBool32 fragmentShadingRateWithConservativeRasterization;
8480 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
8481 VkBool32 fragmentShadingRateWithCustomSampleLocations;
8482 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
8483 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
8485 typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
8486 VkStructureType sType;
8488 VkSampleCountFlags sampleCounts;
8489 VkExtent2D fragmentSize;
8490 } VkPhysicalDeviceFragmentShadingRateKHR;
8492 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, deUint32* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
8493 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
8495 #ifndef VK_NO_PROTOTYPES
8496 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
8497 VkPhysicalDevice physicalDevice,
8498 deUint32* pFragmentShadingRateCount,
8499 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
8501 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
8502 VkCommandBuffer commandBuffer,
8503 const VkExtent2D* pFragmentSize,
8504 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
8508 #define VK_KHR_spirv_1_4 1
8509 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
8510 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
8513 #define VK_KHR_surface_protected_capabilities 1
8514 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
8515 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
8516 typedef struct VkSurfaceProtectedCapabilitiesKHR {
8517 VkStructureType sType;
8519 VkBool32 supportsProtected;
8520 } VkSurfaceProtectedCapabilitiesKHR;
8524 #define VK_KHR_separate_depth_stencil_layouts 1
8525 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
8526 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
8527 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
8529 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
8531 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
8535 #define VK_KHR_uniform_buffer_standard_layout 1
8536 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
8537 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
8538 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
8542 #define VK_KHR_buffer_device_address 1
8543 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
8544 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
8545 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
8547 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
8549 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
8551 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
8553 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
8555 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
8556 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
8557 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
8559 #ifndef VK_NO_PROTOTYPES
8560 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
8562 const VkBufferDeviceAddressInfo* pInfo);
8564 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
8566 const VkBufferDeviceAddressInfo* pInfo);
8568 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
8570 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
8574 #define VK_KHR_deferred_host_operations 1
8575 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
8576 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
8577 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
8578 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
8579 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
8580 typedef deUint32 (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
8581 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
8582 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
8584 #ifndef VK_NO_PROTOTYPES
8585 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
8587 const VkAllocationCallbacks* pAllocator,
8588 VkDeferredOperationKHR* pDeferredOperation);
8590 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
8592 VkDeferredOperationKHR operation,
8593 const VkAllocationCallbacks* pAllocator);
8595 VKAPI_ATTR deUint32 VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
8597 VkDeferredOperationKHR operation);
8599 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
8601 VkDeferredOperationKHR operation);
8603 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
8605 VkDeferredOperationKHR operation);
8609 #define VK_KHR_pipeline_executable_properties 1
8610 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
8611 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
8613 typedef enum VkPipelineExecutableStatisticFormatKHR {
8614 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
8615 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
8616 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
8617 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
8618 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
8619 } VkPipelineExecutableStatisticFormatKHR;
8620 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
8621 VkStructureType sType;
8623 VkBool32 pipelineExecutableInfo;
8624 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
8626 typedef struct VkPipelineInfoKHR {
8627 VkStructureType sType;
8629 VkPipeline pipeline;
8630 } VkPipelineInfoKHR;
8632 typedef struct VkPipelineExecutablePropertiesKHR {
8633 VkStructureType sType;
8635 VkShaderStageFlags stages;
8636 char name[VK_MAX_DESCRIPTION_SIZE];
8637 char description[VK_MAX_DESCRIPTION_SIZE];
8638 deUint32 subgroupSize;
8639 } VkPipelineExecutablePropertiesKHR;
8641 typedef struct VkPipelineExecutableInfoKHR {
8642 VkStructureType sType;
8644 VkPipeline pipeline;
8645 deUint32 executableIndex;
8646 } VkPipelineExecutableInfoKHR;
8648 typedef union VkPipelineExecutableStatisticValueKHR {
8653 } VkPipelineExecutableStatisticValueKHR;
8655 typedef struct VkPipelineExecutableStatisticKHR {
8656 VkStructureType sType;
8658 char name[VK_MAX_DESCRIPTION_SIZE];
8659 char description[VK_MAX_DESCRIPTION_SIZE];
8660 VkPipelineExecutableStatisticFormatKHR format;
8661 VkPipelineExecutableStatisticValueKHR value;
8662 } VkPipelineExecutableStatisticKHR;
8664 typedef struct VkPipelineExecutableInternalRepresentationKHR {
8665 VkStructureType sType;
8667 char name[VK_MAX_DESCRIPTION_SIZE];
8668 char description[VK_MAX_DESCRIPTION_SIZE];
8672 } VkPipelineExecutableInternalRepresentationKHR;
8674 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, deUint32* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
8675 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
8676 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
8678 #ifndef VK_NO_PROTOTYPES
8679 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
8681 const VkPipelineInfoKHR* pPipelineInfo,
8682 deUint32* pExecutableCount,
8683 VkPipelineExecutablePropertiesKHR* pProperties);
8685 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
8687 const VkPipelineExecutableInfoKHR* pExecutableInfo,
8688 deUint32* pStatisticCount,
8689 VkPipelineExecutableStatisticKHR* pStatistics);
8691 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
8693 const VkPipelineExecutableInfoKHR* pExecutableInfo,
8694 deUint32* pInternalRepresentationCount,
8695 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
8699 #define VK_KHR_pipeline_library 1
8700 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
8701 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
8702 typedef struct VkPipelineLibraryCreateInfoKHR {
8703 VkStructureType sType;
8705 deUint32 libraryCount;
8706 const VkPipeline* pLibraries;
8707 } VkPipelineLibraryCreateInfoKHR;
8711 #define VK_KHR_shader_non_semantic_info 1
8712 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
8713 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
8716 #define VK_KHR_synchronization2 1
8717 typedef deUint64 VkFlags64;
8718 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
8719 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
8720 typedef VkFlags64 VkPipelineStageFlags2KHR;
8722 // Flag bits for VkPipelineStageFlagBits2KHR
8723 typedef VkFlags64 VkPipelineStageFlagBits2KHR;
8724 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
8725 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
8726 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
8727 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
8728 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
8729 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
8730 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
8731 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
8732 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
8733 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
8734 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
8735 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
8736 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
8737 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
8738 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000;
8739 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
8740 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
8741 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
8742 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
8743 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
8744 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
8745 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
8746 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
8747 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
8748 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
8749 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
8750 #ifdef VK_ENABLE_BETA_EXTENSIONS
8751 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
8753 #ifdef VK_ENABLE_BETA_EXTENSIONS
8754 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
8756 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
8757 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
8758 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
8759 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
8760 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000;
8761 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
8762 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
8763 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000;
8764 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000;
8765 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
8766 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
8767 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
8768 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_FLAG_BITS_2KHR_MAX_ENUM_KHR = 0x7FFFFFFFFFFFFFFFULL;
8770 typedef VkFlags64 VkAccessFlags2KHR;
8772 // Flag bits for VkAccessFlagBits2KHR
8773 typedef VkFlags64 VkAccessFlagBits2KHR;
8774 static const VkAccessFlagBits2KHR VK_ACCESS_2_NONE_KHR = 0ULL;
8775 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
8776 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
8777 static const VkAccessFlagBits2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
8778 static const VkAccessFlagBits2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
8779 static const VkAccessFlagBits2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
8780 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
8781 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
8782 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
8783 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
8784 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
8785 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
8786 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
8787 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
8788 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
8789 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
8790 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
8791 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
8792 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
8793 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
8794 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
8795 #ifdef VK_ENABLE_BETA_EXTENSIONS
8796 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
8798 #ifdef VK_ENABLE_BETA_EXTENSIONS
8799 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
8801 #ifdef VK_ENABLE_BETA_EXTENSIONS
8802 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
8804 #ifdef VK_ENABLE_BETA_EXTENSIONS
8805 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
8807 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
8808 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
8809 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
8810 static const VkAccessFlagBits2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
8811 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
8812 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
8813 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
8814 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000;
8815 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
8816 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
8817 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000;
8818 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000;
8819 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
8820 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
8821 static const VkAccessFlagBits2KHR VK_ACCESS_FLAG_BITS_2KHR_MAX_ENUM_KHR = 0x7FFFFFFFFFFFFFFFULL;
8824 typedef enum VkSubmitFlagBitsKHR {
8825 VK_SUBMIT_PROTECTED_BIT_KHR = 0x00000001,
8826 VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8827 } VkSubmitFlagBitsKHR;
8828 typedef VkFlags VkSubmitFlagsKHR;
8829 typedef struct VkMemoryBarrier2KHR {
8830 VkStructureType sType;
8832 VkPipelineStageFlags2KHR srcStageMask;
8833 VkAccessFlags2KHR srcAccessMask;
8834 VkPipelineStageFlags2KHR dstStageMask;
8835 VkAccessFlags2KHR dstAccessMask;
8836 } VkMemoryBarrier2KHR;
8838 typedef struct VkBufferMemoryBarrier2KHR {
8839 VkStructureType sType;
8841 VkPipelineStageFlags2KHR srcStageMask;
8842 VkAccessFlags2KHR srcAccessMask;
8843 VkPipelineStageFlags2KHR dstStageMask;
8844 VkAccessFlags2KHR dstAccessMask;
8845 deUint32 srcQueueFamilyIndex;
8846 deUint32 dstQueueFamilyIndex;
8848 VkDeviceSize offset;
8850 } VkBufferMemoryBarrier2KHR;
8852 typedef struct VkImageMemoryBarrier2KHR {
8853 VkStructureType sType;
8855 VkPipelineStageFlags2KHR srcStageMask;
8856 VkAccessFlags2KHR srcAccessMask;
8857 VkPipelineStageFlags2KHR dstStageMask;
8858 VkAccessFlags2KHR dstAccessMask;
8859 VkImageLayout oldLayout;
8860 VkImageLayout newLayout;
8861 deUint32 srcQueueFamilyIndex;
8862 deUint32 dstQueueFamilyIndex;
8864 VkImageSubresourceRange subresourceRange;
8865 } VkImageMemoryBarrier2KHR;
8867 typedef struct VkDependencyInfoKHR {
8868 VkStructureType sType;
8870 VkDependencyFlags dependencyFlags;
8871 deUint32 memoryBarrierCount;
8872 const VkMemoryBarrier2KHR* pMemoryBarriers;
8873 deUint32 bufferMemoryBarrierCount;
8874 const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers;
8875 deUint32 imageMemoryBarrierCount;
8876 const VkImageMemoryBarrier2KHR* pImageMemoryBarriers;
8877 } VkDependencyInfoKHR;
8879 typedef struct VkSemaphoreSubmitInfoKHR {
8880 VkStructureType sType;
8882 VkSemaphore semaphore;
8884 VkPipelineStageFlags2KHR stageMask;
8885 deUint32 deviceIndex;
8886 } VkSemaphoreSubmitInfoKHR;
8888 typedef struct VkCommandBufferSubmitInfoKHR {
8889 VkStructureType sType;
8891 VkCommandBuffer commandBuffer;
8892 deUint32 deviceMask;
8893 } VkCommandBufferSubmitInfoKHR;
8895 typedef struct VkSubmitInfo2KHR {
8896 VkStructureType sType;
8898 VkSubmitFlagsKHR flags;
8899 deUint32 waitSemaphoreInfoCount;
8900 const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos;
8901 deUint32 commandBufferInfoCount;
8902 const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos;
8903 deUint32 signalSemaphoreInfoCount;
8904 const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos;
8907 typedef struct VkPhysicalDeviceSynchronization2FeaturesKHR {
8908 VkStructureType sType;
8910 VkBool32 synchronization2;
8911 } VkPhysicalDeviceSynchronization2FeaturesKHR;
8913 typedef struct VkQueueFamilyCheckpointProperties2NV {
8914 VkStructureType sType;
8916 VkPipelineStageFlags2KHR checkpointExecutionStageMask;
8917 } VkQueueFamilyCheckpointProperties2NV;
8919 typedef struct VkCheckpointData2NV {
8920 VkStructureType sType;
8922 VkPipelineStageFlags2KHR stage;
8923 void* pCheckpointMarker;
8924 } VkCheckpointData2NV;
8926 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo);
8927 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask);
8928 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos);
8929 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo);
8930 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, deUint32 query);
8931 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence);
8932 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
8933 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
8935 #ifndef VK_NO_PROTOTYPES
8936 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
8937 VkCommandBuffer commandBuffer,
8939 const VkDependencyInfoKHR* pDependencyInfo);
8941 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
8942 VkCommandBuffer commandBuffer,
8944 VkPipelineStageFlags2KHR stageMask);
8946 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
8947 VkCommandBuffer commandBuffer,
8948 deUint32 eventCount,
8949 const VkEvent* pEvents,
8950 const VkDependencyInfoKHR* pDependencyInfos);
8952 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
8953 VkCommandBuffer commandBuffer,
8954 const VkDependencyInfoKHR* pDependencyInfo);
8956 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
8957 VkCommandBuffer commandBuffer,
8958 VkPipelineStageFlags2KHR stage,
8959 VkQueryPool queryPool,
8962 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
8964 deUint32 submitCount,
8965 const VkSubmitInfo2KHR* pSubmits,
8968 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
8969 VkCommandBuffer commandBuffer,
8970 VkPipelineStageFlags2KHR stage,
8972 VkDeviceSize dstOffset,
8975 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
8977 deUint32* pCheckpointDataCount,
8978 VkCheckpointData2NV* pCheckpointData);
8982 #define VK_KHR_zero_initialize_workgroup_memory 1
8983 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
8984 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
8985 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR {
8986 VkStructureType sType;
8988 VkBool32 shaderZeroInitializeWorkgroupMemory;
8989 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
8993 #define VK_KHR_workgroup_memory_explicit_layout 1
8994 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
8995 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
8996 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
8997 VkStructureType sType;
8999 VkBool32 workgroupMemoryExplicitLayout;
9000 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
9001 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
9002 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
9003 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
9007 #define VK_KHR_copy_commands2 1
9008 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
9009 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
9010 typedef struct VkBufferCopy2KHR {
9011 VkStructureType sType;
9013 VkDeviceSize srcOffset;
9014 VkDeviceSize dstOffset;
9018 typedef struct VkCopyBufferInfo2KHR {
9019 VkStructureType sType;
9023 deUint32 regionCount;
9024 const VkBufferCopy2KHR* pRegions;
9025 } VkCopyBufferInfo2KHR;
9027 typedef struct VkImageCopy2KHR {
9028 VkStructureType sType;
9030 VkImageSubresourceLayers srcSubresource;
9031 VkOffset3D srcOffset;
9032 VkImageSubresourceLayers dstSubresource;
9033 VkOffset3D dstOffset;
9037 typedef struct VkCopyImageInfo2KHR {
9038 VkStructureType sType;
9041 VkImageLayout srcImageLayout;
9043 VkImageLayout dstImageLayout;
9044 deUint32 regionCount;
9045 const VkImageCopy2KHR* pRegions;
9046 } VkCopyImageInfo2KHR;
9048 typedef struct VkBufferImageCopy2KHR {
9049 VkStructureType sType;
9051 VkDeviceSize bufferOffset;
9052 deUint32 bufferRowLength;
9053 deUint32 bufferImageHeight;
9054 VkImageSubresourceLayers imageSubresource;
9055 VkOffset3D imageOffset;
9056 VkExtent3D imageExtent;
9057 } VkBufferImageCopy2KHR;
9059 typedef struct VkCopyBufferToImageInfo2KHR {
9060 VkStructureType sType;
9064 VkImageLayout dstImageLayout;
9065 deUint32 regionCount;
9066 const VkBufferImageCopy2KHR* pRegions;
9067 } VkCopyBufferToImageInfo2KHR;
9069 typedef struct VkCopyImageToBufferInfo2KHR {
9070 VkStructureType sType;
9073 VkImageLayout srcImageLayout;
9075 deUint32 regionCount;
9076 const VkBufferImageCopy2KHR* pRegions;
9077 } VkCopyImageToBufferInfo2KHR;
9079 typedef struct VkImageBlit2KHR {
9080 VkStructureType sType;
9082 VkImageSubresourceLayers srcSubresource;
9083 VkOffset3D srcOffsets[2];
9084 VkImageSubresourceLayers dstSubresource;
9085 VkOffset3D dstOffsets[2];
9088 typedef struct VkBlitImageInfo2KHR {
9089 VkStructureType sType;
9092 VkImageLayout srcImageLayout;
9094 VkImageLayout dstImageLayout;
9095 deUint32 regionCount;
9096 const VkImageBlit2KHR* pRegions;
9098 } VkBlitImageInfo2KHR;
9100 typedef struct VkImageResolve2KHR {
9101 VkStructureType sType;
9103 VkImageSubresourceLayers srcSubresource;
9104 VkOffset3D srcOffset;
9105 VkImageSubresourceLayers dstSubresource;
9106 VkOffset3D dstOffset;
9108 } VkImageResolve2KHR;
9110 typedef struct VkResolveImageInfo2KHR {
9111 VkStructureType sType;
9114 VkImageLayout srcImageLayout;
9116 VkImageLayout dstImageLayout;
9117 deUint32 regionCount;
9118 const VkImageResolve2KHR* pRegions;
9119 } VkResolveImageInfo2KHR;
9121 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo);
9122 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo);
9123 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
9124 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
9125 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo);
9126 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo);
9128 #ifndef VK_NO_PROTOTYPES
9129 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
9130 VkCommandBuffer commandBuffer,
9131 const VkCopyBufferInfo2KHR* pCopyBufferInfo);
9133 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
9134 VkCommandBuffer commandBuffer,
9135 const VkCopyImageInfo2KHR* pCopyImageInfo);
9137 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
9138 VkCommandBuffer commandBuffer,
9139 const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
9141 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
9142 VkCommandBuffer commandBuffer,
9143 const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
9145 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
9146 VkCommandBuffer commandBuffer,
9147 const VkBlitImageInfo2KHR* pBlitImageInfo);
9149 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
9150 VkCommandBuffer commandBuffer,
9151 const VkResolveImageInfo2KHR* pResolveImageInfo);
9155 #define VK_EXT_debug_report 1
9156 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
9157 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 9
9158 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
9160 typedef enum VkDebugReportObjectTypeEXT {
9161 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
9162 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
9163 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
9164 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
9165 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
9166 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
9167 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
9168 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
9169 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
9170 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
9171 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
9172 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
9173 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
9174 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
9175 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
9176 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
9177 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
9178 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
9179 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
9180 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
9181 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
9182 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
9183 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
9184 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
9185 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
9186 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
9187 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
9188 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
9189 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
9190 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
9191 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
9192 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
9193 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
9194 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
9195 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
9196 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
9197 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
9198 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
9199 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
9200 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
9201 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9202 } VkDebugReportObjectTypeEXT;
9204 typedef enum VkDebugReportFlagBitsEXT {
9205 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
9206 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
9207 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
9208 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
9209 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
9210 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9211 } VkDebugReportFlagBitsEXT;
9212 typedef VkFlags VkDebugReportFlagsEXT;
9213 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
9214 VkDebugReportFlagsEXT flags,
9215 VkDebugReportObjectTypeEXT objectType,
9218 deInt32 messageCode,
9219 const char* pLayerPrefix,
9220 const char* pMessage,
9223 typedef struct VkDebugReportCallbackCreateInfoEXT {
9224 VkStructureType sType;
9226 VkDebugReportFlagsEXT flags;
9227 PFN_vkDebugReportCallbackEXT pfnCallback;
9229 } VkDebugReportCallbackCreateInfoEXT;
9231 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
9232 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
9233 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage);
9235 #ifndef VK_NO_PROTOTYPES
9236 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
9237 VkInstance instance,
9238 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
9239 const VkAllocationCallbacks* pAllocator,
9240 VkDebugReportCallbackEXT* pCallback);
9242 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
9243 VkInstance instance,
9244 VkDebugReportCallbackEXT callback,
9245 const VkAllocationCallbacks* pAllocator);
9247 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
9248 VkInstance instance,
9249 VkDebugReportFlagsEXT flags,
9250 VkDebugReportObjectTypeEXT objectType,
9253 deInt32 messageCode,
9254 const char* pLayerPrefix,
9255 const char* pMessage);
9259 #define VK_NV_glsl_shader 1
9260 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
9261 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
9264 #define VK_EXT_depth_range_unrestricted 1
9265 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
9266 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
9269 #define VK_IMG_filter_cubic 1
9270 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
9271 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
9274 #define VK_AMD_rasterization_order 1
9275 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
9276 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
9278 typedef enum VkRasterizationOrderAMD {
9279 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
9280 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
9281 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
9282 } VkRasterizationOrderAMD;
9283 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
9284 VkStructureType sType;
9286 VkRasterizationOrderAMD rasterizationOrder;
9287 } VkPipelineRasterizationStateRasterizationOrderAMD;
9291 #define VK_AMD_shader_trinary_minmax 1
9292 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
9293 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
9296 #define VK_AMD_shader_explicit_vertex_parameter 1
9297 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
9298 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
9301 #define VK_EXT_debug_marker 1
9302 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
9303 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
9304 typedef struct VkDebugMarkerObjectNameInfoEXT {
9305 VkStructureType sType;
9307 VkDebugReportObjectTypeEXT objectType;
9309 const char* pObjectName;
9310 } VkDebugMarkerObjectNameInfoEXT;
9312 typedef struct VkDebugMarkerObjectTagInfoEXT {
9313 VkStructureType sType;
9315 VkDebugReportObjectTypeEXT objectType;
9320 } VkDebugMarkerObjectTagInfoEXT;
9322 typedef struct VkDebugMarkerMarkerInfoEXT {
9323 VkStructureType sType;
9325 const char* pMarkerName;
9327 } VkDebugMarkerMarkerInfoEXT;
9329 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9330 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9331 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9332 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
9333 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9335 #ifndef VK_NO_PROTOTYPES
9336 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
9338 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9340 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
9342 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9344 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
9345 VkCommandBuffer commandBuffer,
9346 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9348 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
9349 VkCommandBuffer commandBuffer);
9351 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
9352 VkCommandBuffer commandBuffer,
9353 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9357 #define VK_AMD_gcn_shader 1
9358 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
9359 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
9362 #define VK_NV_dedicated_allocation 1
9363 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
9364 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
9365 typedef struct VkDedicatedAllocationImageCreateInfoNV {
9366 VkStructureType sType;
9368 VkBool32 dedicatedAllocation;
9369 } VkDedicatedAllocationImageCreateInfoNV;
9371 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
9372 VkStructureType sType;
9374 VkBool32 dedicatedAllocation;
9375 } VkDedicatedAllocationBufferCreateInfoNV;
9377 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
9378 VkStructureType sType;
9382 } VkDedicatedAllocationMemoryAllocateInfoNV;
9386 #define VK_EXT_transform_feedback 1
9387 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
9388 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
9389 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
9390 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
9391 VkStructureType sType;
9393 VkBool32 transformFeedback;
9394 VkBool32 geometryStreams;
9395 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
9397 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
9398 VkStructureType sType;
9400 deUint32 maxTransformFeedbackStreams;
9401 deUint32 maxTransformFeedbackBuffers;
9402 VkDeviceSize maxTransformFeedbackBufferSize;
9403 deUint32 maxTransformFeedbackStreamDataSize;
9404 deUint32 maxTransformFeedbackBufferDataSize;
9405 deUint32 maxTransformFeedbackBufferDataStride;
9406 VkBool32 transformFeedbackQueries;
9407 VkBool32 transformFeedbackStreamsLinesTriangles;
9408 VkBool32 transformFeedbackRasterizationStreamSelect;
9409 VkBool32 transformFeedbackDraw;
9410 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
9412 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
9413 VkStructureType sType;
9415 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
9416 deUint32 rasterizationStream;
9417 } VkPipelineRasterizationStateStreamCreateInfoEXT;
9419 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
9420 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9421 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9422 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index);
9423 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index);
9424 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride);
9426 #ifndef VK_NO_PROTOTYPES
9427 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
9428 VkCommandBuffer commandBuffer,
9429 deUint32 firstBinding,
9430 deUint32 bindingCount,
9431 const VkBuffer* pBuffers,
9432 const VkDeviceSize* pOffsets,
9433 const VkDeviceSize* pSizes);
9435 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
9436 VkCommandBuffer commandBuffer,
9437 deUint32 firstCounterBuffer,
9438 deUint32 counterBufferCount,
9439 const VkBuffer* pCounterBuffers,
9440 const VkDeviceSize* pCounterBufferOffsets);
9442 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
9443 VkCommandBuffer commandBuffer,
9444 deUint32 firstCounterBuffer,
9445 deUint32 counterBufferCount,
9446 const VkBuffer* pCounterBuffers,
9447 const VkDeviceSize* pCounterBufferOffsets);
9449 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
9450 VkCommandBuffer commandBuffer,
9451 VkQueryPool queryPool,
9453 VkQueryControlFlags flags,
9456 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
9457 VkCommandBuffer commandBuffer,
9458 VkQueryPool queryPool,
9462 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
9463 VkCommandBuffer commandBuffer,
9464 deUint32 instanceCount,
9465 deUint32 firstInstance,
9466 VkBuffer counterBuffer,
9467 VkDeviceSize counterBufferOffset,
9468 deUint32 counterOffset,
9469 deUint32 vertexStride);
9473 #define VK_NVX_image_view_handle 1
9474 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
9475 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
9476 typedef struct VkImageViewHandleInfoNVX {
9477 VkStructureType sType;
9479 VkImageView imageView;
9480 VkDescriptorType descriptorType;
9482 } VkImageViewHandleInfoNVX;
9484 typedef struct VkImageViewAddressPropertiesNVX {
9485 VkStructureType sType;
9487 VkDeviceAddress deviceAddress;
9489 } VkImageViewAddressPropertiesNVX;
9491 typedef deUint32 (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
9492 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
9494 #ifndef VK_NO_PROTOTYPES
9495 VKAPI_ATTR deUint32 VKAPI_CALL vkGetImageViewHandleNVX(
9497 const VkImageViewHandleInfoNVX* pInfo);
9499 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
9501 VkImageView imageView,
9502 VkImageViewAddressPropertiesNVX* pProperties);
9506 #define VK_AMD_draw_indirect_count 1
9507 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
9508 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
9509 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9510 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9512 #ifndef VK_NO_PROTOTYPES
9513 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
9514 VkCommandBuffer commandBuffer,
9516 VkDeviceSize offset,
9517 VkBuffer countBuffer,
9518 VkDeviceSize countBufferOffset,
9519 deUint32 maxDrawCount,
9522 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
9523 VkCommandBuffer commandBuffer,
9525 VkDeviceSize offset,
9526 VkBuffer countBuffer,
9527 VkDeviceSize countBufferOffset,
9528 deUint32 maxDrawCount,
9533 #define VK_AMD_negative_viewport_height 1
9534 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
9535 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
9538 #define VK_AMD_gpu_shader_half_float 1
9539 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
9540 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
9543 #define VK_AMD_shader_ballot 1
9544 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
9545 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
9548 #define VK_AMD_texture_gather_bias_lod 1
9549 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
9550 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
9551 typedef struct VkTextureLODGatherFormatPropertiesAMD {
9552 VkStructureType sType;
9554 VkBool32 supportsTextureGatherLODBiasAMD;
9555 } VkTextureLODGatherFormatPropertiesAMD;
9559 #define VK_AMD_shader_info 1
9560 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
9561 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
9563 typedef enum VkShaderInfoTypeAMD {
9564 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
9565 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
9566 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
9567 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
9568 } VkShaderInfoTypeAMD;
9569 typedef struct VkShaderResourceUsageAMD {
9570 deUint32 numUsedVgprs;
9571 deUint32 numUsedSgprs;
9572 deUint32 ldsSizePerLocalWorkGroup;
9573 deUintptr ldsUsageSizeInBytes;
9574 deUintptr scratchMemUsageInBytes;
9575 } VkShaderResourceUsageAMD;
9577 typedef struct VkShaderStatisticsInfoAMD {
9578 VkShaderStageFlags shaderStageMask;
9579 VkShaderResourceUsageAMD resourceUsage;
9580 deUint32 numPhysicalVgprs;
9581 deUint32 numPhysicalSgprs;
9582 deUint32 numAvailableVgprs;
9583 deUint32 numAvailableSgprs;
9584 deUint32 computeWorkGroupSize[3];
9585 } VkShaderStatisticsInfoAMD;
9587 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo);
9589 #ifndef VK_NO_PROTOTYPES
9590 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
9592 VkPipeline pipeline,
9593 VkShaderStageFlagBits shaderStage,
9594 VkShaderInfoTypeAMD infoType,
9595 deUintptr* pInfoSize,
9600 #define VK_AMD_shader_image_load_store_lod 1
9601 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
9602 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
9605 #define VK_NV_corner_sampled_image 1
9606 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
9607 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
9608 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
9609 VkStructureType sType;
9611 VkBool32 cornerSampledImage;
9612 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
9616 #define VK_IMG_format_pvrtc 1
9617 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
9618 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
9621 #define VK_NV_external_memory_capabilities 1
9622 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
9623 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
9625 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
9626 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
9627 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
9628 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
9629 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
9630 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9631 } VkExternalMemoryHandleTypeFlagBitsNV;
9632 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
9634 typedef enum VkExternalMemoryFeatureFlagBitsNV {
9635 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
9636 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
9637 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
9638 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9639 } VkExternalMemoryFeatureFlagBitsNV;
9640 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
9641 typedef struct VkExternalImageFormatPropertiesNV {
9642 VkImageFormatProperties imageFormatProperties;
9643 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
9644 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
9645 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
9646 } VkExternalImageFormatPropertiesNV;
9648 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
9650 #ifndef VK_NO_PROTOTYPES
9651 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
9652 VkPhysicalDevice physicalDevice,
9655 VkImageTiling tiling,
9656 VkImageUsageFlags usage,
9657 VkImageCreateFlags flags,
9658 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
9659 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
9663 #define VK_NV_external_memory 1
9664 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
9665 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
9666 typedef struct VkExternalMemoryImageCreateInfoNV {
9667 VkStructureType sType;
9669 VkExternalMemoryHandleTypeFlagsNV handleTypes;
9670 } VkExternalMemoryImageCreateInfoNV;
9672 typedef struct VkExportMemoryAllocateInfoNV {
9673 VkStructureType sType;
9675 VkExternalMemoryHandleTypeFlagsNV handleTypes;
9676 } VkExportMemoryAllocateInfoNV;
9680 #define VK_EXT_validation_flags 1
9681 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
9682 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
9684 typedef enum VkValidationCheckEXT {
9685 VK_VALIDATION_CHECK_ALL_EXT = 0,
9686 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
9687 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
9688 } VkValidationCheckEXT;
9689 typedef struct VkValidationFlagsEXT {
9690 VkStructureType sType;
9692 deUint32 disabledValidationCheckCount;
9693 const VkValidationCheckEXT* pDisabledValidationChecks;
9694 } VkValidationFlagsEXT;
9698 #define VK_EXT_shader_subgroup_ballot 1
9699 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
9700 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
9703 #define VK_EXT_shader_subgroup_vote 1
9704 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
9705 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
9708 #define VK_EXT_texture_compression_astc_hdr 1
9709 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
9710 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
9711 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
9712 VkStructureType sType;
9714 VkBool32 textureCompressionASTC_HDR;
9715 } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
9719 #define VK_EXT_astc_decode_mode 1
9720 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
9721 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
9722 typedef struct VkImageViewASTCDecodeModeEXT {
9723 VkStructureType sType;
9725 VkFormat decodeMode;
9726 } VkImageViewASTCDecodeModeEXT;
9728 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
9729 VkStructureType sType;
9731 VkBool32 decodeModeSharedExponent;
9732 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
9736 #define VK_EXT_conditional_rendering 1
9737 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
9738 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
9740 typedef enum VkConditionalRenderingFlagBitsEXT {
9741 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
9742 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9743 } VkConditionalRenderingFlagBitsEXT;
9744 typedef VkFlags VkConditionalRenderingFlagsEXT;
9745 typedef struct VkConditionalRenderingBeginInfoEXT {
9746 VkStructureType sType;
9749 VkDeviceSize offset;
9750 VkConditionalRenderingFlagsEXT flags;
9751 } VkConditionalRenderingBeginInfoEXT;
9753 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
9754 VkStructureType sType;
9756 VkBool32 conditionalRendering;
9757 VkBool32 inheritedConditionalRendering;
9758 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
9760 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
9761 VkStructureType sType;
9763 VkBool32 conditionalRenderingEnable;
9764 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
9766 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
9767 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
9769 #ifndef VK_NO_PROTOTYPES
9770 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
9771 VkCommandBuffer commandBuffer,
9772 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
9774 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
9775 VkCommandBuffer commandBuffer);
9779 #define VK_NV_clip_space_w_scaling 1
9780 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
9781 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
9782 typedef struct VkViewportWScalingNV {
9785 } VkViewportWScalingNV;
9787 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
9788 VkStructureType sType;
9790 VkBool32 viewportWScalingEnable;
9791 deUint32 viewportCount;
9792 const VkViewportWScalingNV* pViewportWScalings;
9793 } VkPipelineViewportWScalingStateCreateInfoNV;
9795 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings);
9797 #ifndef VK_NO_PROTOTYPES
9798 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
9799 VkCommandBuffer commandBuffer,
9800 deUint32 firstViewport,
9801 deUint32 viewportCount,
9802 const VkViewportWScalingNV* pViewportWScalings);
9806 #define VK_EXT_direct_mode_display 1
9807 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
9808 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
9809 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
9811 #ifndef VK_NO_PROTOTYPES
9812 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
9813 VkPhysicalDevice physicalDevice,
9814 VkDisplayKHR display);
9818 #define VK_EXT_display_surface_counter 1
9819 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
9820 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
9822 typedef enum VkSurfaceCounterFlagBitsEXT {
9823 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
9824 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
9825 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9826 } VkSurfaceCounterFlagBitsEXT;
9827 typedef VkFlags VkSurfaceCounterFlagsEXT;
9828 typedef struct VkSurfaceCapabilities2EXT {
9829 VkStructureType sType;
9831 deUint32 minImageCount;
9832 deUint32 maxImageCount;
9833 VkExtent2D currentExtent;
9834 VkExtent2D minImageExtent;
9835 VkExtent2D maxImageExtent;
9836 deUint32 maxImageArrayLayers;
9837 VkSurfaceTransformFlagsKHR supportedTransforms;
9838 VkSurfaceTransformFlagBitsKHR currentTransform;
9839 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
9840 VkImageUsageFlags supportedUsageFlags;
9841 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
9842 } VkSurfaceCapabilities2EXT;
9844 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
9846 #ifndef VK_NO_PROTOTYPES
9847 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
9848 VkPhysicalDevice physicalDevice,
9849 VkSurfaceKHR surface,
9850 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
9854 #define VK_EXT_display_control 1
9855 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
9856 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
9858 typedef enum VkDisplayPowerStateEXT {
9859 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
9860 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
9861 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
9862 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
9863 } VkDisplayPowerStateEXT;
9865 typedef enum VkDeviceEventTypeEXT {
9866 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
9867 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9868 } VkDeviceEventTypeEXT;
9870 typedef enum VkDisplayEventTypeEXT {
9871 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
9872 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9873 } VkDisplayEventTypeEXT;
9874 typedef struct VkDisplayPowerInfoEXT {
9875 VkStructureType sType;
9877 VkDisplayPowerStateEXT powerState;
9878 } VkDisplayPowerInfoEXT;
9880 typedef struct VkDeviceEventInfoEXT {
9881 VkStructureType sType;
9883 VkDeviceEventTypeEXT deviceEvent;
9884 } VkDeviceEventInfoEXT;
9886 typedef struct VkDisplayEventInfoEXT {
9887 VkStructureType sType;
9889 VkDisplayEventTypeEXT displayEvent;
9890 } VkDisplayEventInfoEXT;
9892 typedef struct VkSwapchainCounterCreateInfoEXT {
9893 VkStructureType sType;
9895 VkSurfaceCounterFlagsEXT surfaceCounters;
9896 } VkSwapchainCounterCreateInfoEXT;
9898 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
9899 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
9900 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
9901 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue);
9903 #ifndef VK_NO_PROTOTYPES
9904 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
9906 VkDisplayKHR display,
9907 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
9909 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
9911 const VkDeviceEventInfoEXT* pDeviceEventInfo,
9912 const VkAllocationCallbacks* pAllocator,
9915 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
9917 VkDisplayKHR display,
9918 const VkDisplayEventInfoEXT* pDisplayEventInfo,
9919 const VkAllocationCallbacks* pAllocator,
9922 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
9924 VkSwapchainKHR swapchain,
9925 VkSurfaceCounterFlagBitsEXT counter,
9926 deUint64* pCounterValue);
9930 #define VK_GOOGLE_display_timing 1
9931 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
9932 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
9933 typedef struct VkRefreshCycleDurationGOOGLE {
9934 deUint64 refreshDuration;
9935 } VkRefreshCycleDurationGOOGLE;
9937 typedef struct VkPastPresentationTimingGOOGLE {
9939 deUint64 desiredPresentTime;
9940 deUint64 actualPresentTime;
9941 deUint64 earliestPresentTime;
9942 deUint64 presentMargin;
9943 } VkPastPresentationTimingGOOGLE;
9945 typedef struct VkPresentTimeGOOGLE {
9947 deUint64 desiredPresentTime;
9948 } VkPresentTimeGOOGLE;
9950 typedef struct VkPresentTimesInfoGOOGLE {
9951 VkStructureType sType;
9953 deUint32 swapchainCount;
9954 const VkPresentTimeGOOGLE* pTimes;
9955 } VkPresentTimesInfoGOOGLE;
9957 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
9958 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
9960 #ifndef VK_NO_PROTOTYPES
9961 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
9963 VkSwapchainKHR swapchain,
9964 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
9966 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
9968 VkSwapchainKHR swapchain,
9969 deUint32* pPresentationTimingCount,
9970 VkPastPresentationTimingGOOGLE* pPresentationTimings);
9974 #define VK_NV_sample_mask_override_coverage 1
9975 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
9976 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
9979 #define VK_NV_geometry_shader_passthrough 1
9980 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
9981 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
9984 #define VK_NV_viewport_array2 1
9985 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
9986 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
9989 #define VK_NVX_multiview_per_view_attributes 1
9990 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
9991 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
9992 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
9993 VkStructureType sType;
9995 VkBool32 perViewPositionAllComponents;
9996 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
10000 #define VK_NV_viewport_swizzle 1
10001 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
10002 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
10004 typedef enum VkViewportCoordinateSwizzleNV {
10005 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
10006 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
10007 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
10008 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
10009 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
10010 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
10011 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
10012 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
10013 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
10014 } VkViewportCoordinateSwizzleNV;
10015 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
10016 typedef struct VkViewportSwizzleNV {
10017 VkViewportCoordinateSwizzleNV x;
10018 VkViewportCoordinateSwizzleNV y;
10019 VkViewportCoordinateSwizzleNV z;
10020 VkViewportCoordinateSwizzleNV w;
10021 } VkViewportSwizzleNV;
10023 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
10024 VkStructureType sType;
10026 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
10027 deUint32 viewportCount;
10028 const VkViewportSwizzleNV* pViewportSwizzles;
10029 } VkPipelineViewportSwizzleStateCreateInfoNV;
10033 #define VK_EXT_discard_rectangles 1
10034 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
10035 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
10037 typedef enum VkDiscardRectangleModeEXT {
10038 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
10039 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
10040 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10041 } VkDiscardRectangleModeEXT;
10042 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
10043 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
10044 VkStructureType sType;
10046 deUint32 maxDiscardRectangles;
10047 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
10049 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
10050 VkStructureType sType;
10052 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
10053 VkDiscardRectangleModeEXT discardRectangleMode;
10054 deUint32 discardRectangleCount;
10055 const VkRect2D* pDiscardRectangles;
10056 } VkPipelineDiscardRectangleStateCreateInfoEXT;
10058 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles);
10060 #ifndef VK_NO_PROTOTYPES
10061 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
10062 VkCommandBuffer commandBuffer,
10063 deUint32 firstDiscardRectangle,
10064 deUint32 discardRectangleCount,
10065 const VkRect2D* pDiscardRectangles);
10069 #define VK_EXT_conservative_rasterization 1
10070 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
10071 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
10073 typedef enum VkConservativeRasterizationModeEXT {
10074 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
10075 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
10076 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
10077 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10078 } VkConservativeRasterizationModeEXT;
10079 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
10080 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
10081 VkStructureType sType;
10083 float primitiveOverestimationSize;
10084 float maxExtraPrimitiveOverestimationSize;
10085 float extraPrimitiveOverestimationSizeGranularity;
10086 VkBool32 primitiveUnderestimation;
10087 VkBool32 conservativePointAndLineRasterization;
10088 VkBool32 degenerateTrianglesRasterized;
10089 VkBool32 degenerateLinesRasterized;
10090 VkBool32 fullyCoveredFragmentShaderInputVariable;
10091 VkBool32 conservativeRasterizationPostDepthCoverage;
10092 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
10094 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
10095 VkStructureType sType;
10097 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
10098 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
10099 float extraPrimitiveOverestimationSize;
10100 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
10104 #define VK_EXT_depth_clip_enable 1
10105 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
10106 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
10107 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
10108 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
10109 VkStructureType sType;
10111 VkBool32 depthClipEnable;
10112 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
10114 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
10115 VkStructureType sType;
10117 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
10118 VkBool32 depthClipEnable;
10119 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
10123 #define VK_EXT_swapchain_colorspace 1
10124 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
10125 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
10128 #define VK_EXT_hdr_metadata 1
10129 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
10130 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
10131 typedef struct VkXYColorEXT {
10136 typedef struct VkHdrMetadataEXT {
10137 VkStructureType sType;
10139 VkXYColorEXT displayPrimaryRed;
10140 VkXYColorEXT displayPrimaryGreen;
10141 VkXYColorEXT displayPrimaryBlue;
10142 VkXYColorEXT whitePoint;
10143 float maxLuminance;
10144 float minLuminance;
10145 float maxContentLightLevel;
10146 float maxFrameAverageLightLevel;
10147 } VkHdrMetadataEXT;
10149 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
10151 #ifndef VK_NO_PROTOTYPES
10152 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
10154 deUint32 swapchainCount,
10155 const VkSwapchainKHR* pSwapchains,
10156 const VkHdrMetadataEXT* pMetadata);
10160 #define VK_EXT_external_memory_dma_buf 1
10161 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
10162 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
10165 #define VK_EXT_queue_family_foreign 1
10166 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
10167 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
10168 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
10171 #define VK_EXT_debug_utils 1
10172 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
10173 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
10174 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
10175 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
10177 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
10178 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
10179 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
10180 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
10181 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
10182 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10183 } VkDebugUtilsMessageSeverityFlagBitsEXT;
10185 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
10186 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
10187 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
10188 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
10189 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10190 } VkDebugUtilsMessageTypeFlagBitsEXT;
10191 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
10192 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
10193 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
10194 typedef struct VkDebugUtilsLabelEXT {
10195 VkStructureType sType;
10197 const char* pLabelName;
10199 } VkDebugUtilsLabelEXT;
10201 typedef struct VkDebugUtilsObjectNameInfoEXT {
10202 VkStructureType sType;
10204 VkObjectType objectType;
10205 deUint64 objectHandle;
10206 const char* pObjectName;
10207 } VkDebugUtilsObjectNameInfoEXT;
10209 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
10210 VkStructureType sType;
10212 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
10213 const char* pMessageIdName;
10214 deInt32 messageIdNumber;
10215 const char* pMessage;
10216 deUint32 queueLabelCount;
10217 const VkDebugUtilsLabelEXT* pQueueLabels;
10218 deUint32 cmdBufLabelCount;
10219 const VkDebugUtilsLabelEXT* pCmdBufLabels;
10220 deUint32 objectCount;
10221 const VkDebugUtilsObjectNameInfoEXT* pObjects;
10222 } VkDebugUtilsMessengerCallbackDataEXT;
10224 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
10225 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10226 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10227 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
10230 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
10231 VkStructureType sType;
10233 VkDebugUtilsMessengerCreateFlagsEXT flags;
10234 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
10235 VkDebugUtilsMessageTypeFlagsEXT messageType;
10236 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
10238 } VkDebugUtilsMessengerCreateInfoEXT;
10240 typedef struct VkDebugUtilsObjectTagInfoEXT {
10241 VkStructureType sType;
10243 VkObjectType objectType;
10244 deUint64 objectHandle;
10248 } VkDebugUtilsObjectTagInfoEXT;
10250 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10251 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10252 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10253 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
10254 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10255 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10256 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
10257 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10258 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
10259 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
10260 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10262 #ifndef VK_NO_PROTOTYPES
10263 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
10265 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10267 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
10269 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10271 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
10273 const VkDebugUtilsLabelEXT* pLabelInfo);
10275 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
10278 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
10280 const VkDebugUtilsLabelEXT* pLabelInfo);
10282 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
10283 VkCommandBuffer commandBuffer,
10284 const VkDebugUtilsLabelEXT* pLabelInfo);
10286 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
10287 VkCommandBuffer commandBuffer);
10289 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
10290 VkCommandBuffer commandBuffer,
10291 const VkDebugUtilsLabelEXT* pLabelInfo);
10293 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
10294 VkInstance instance,
10295 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
10296 const VkAllocationCallbacks* pAllocator,
10297 VkDebugUtilsMessengerEXT* pMessenger);
10299 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
10300 VkInstance instance,
10301 VkDebugUtilsMessengerEXT messenger,
10302 const VkAllocationCallbacks* pAllocator);
10304 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
10305 VkInstance instance,
10306 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10307 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10308 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10312 #define VK_EXT_sampler_filter_minmax 1
10313 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
10314 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
10315 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
10317 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
10319 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
10323 #define VK_AMD_gpu_shader_int16 1
10324 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
10325 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
10328 #define VK_AMD_mixed_attachment_samples 1
10329 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
10330 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
10333 #define VK_AMD_shader_fragment_mask 1
10334 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
10335 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
10338 #define VK_EXT_inline_uniform_block 1
10339 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
10340 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
10341 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
10342 VkStructureType sType;
10344 VkBool32 inlineUniformBlock;
10345 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
10346 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
10348 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
10349 VkStructureType sType;
10351 deUint32 maxInlineUniformBlockSize;
10352 deUint32 maxPerStageDescriptorInlineUniformBlocks;
10353 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
10354 deUint32 maxDescriptorSetInlineUniformBlocks;
10355 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
10356 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
10358 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
10359 VkStructureType sType;
10363 } VkWriteDescriptorSetInlineUniformBlockEXT;
10365 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
10366 VkStructureType sType;
10368 deUint32 maxInlineUniformBlockBindings;
10369 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
10373 #define VK_EXT_shader_stencil_export 1
10374 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
10375 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
10378 #define VK_EXT_sample_locations 1
10379 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
10380 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
10381 typedef struct VkSampleLocationEXT {
10384 } VkSampleLocationEXT;
10386 typedef struct VkSampleLocationsInfoEXT {
10387 VkStructureType sType;
10389 VkSampleCountFlagBits sampleLocationsPerPixel;
10390 VkExtent2D sampleLocationGridSize;
10391 deUint32 sampleLocationsCount;
10392 const VkSampleLocationEXT* pSampleLocations;
10393 } VkSampleLocationsInfoEXT;
10395 typedef struct VkAttachmentSampleLocationsEXT {
10396 deUint32 attachmentIndex;
10397 VkSampleLocationsInfoEXT sampleLocationsInfo;
10398 } VkAttachmentSampleLocationsEXT;
10400 typedef struct VkSubpassSampleLocationsEXT {
10401 deUint32 subpassIndex;
10402 VkSampleLocationsInfoEXT sampleLocationsInfo;
10403 } VkSubpassSampleLocationsEXT;
10405 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
10406 VkStructureType sType;
10408 deUint32 attachmentInitialSampleLocationsCount;
10409 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
10410 deUint32 postSubpassSampleLocationsCount;
10411 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
10412 } VkRenderPassSampleLocationsBeginInfoEXT;
10414 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
10415 VkStructureType sType;
10417 VkBool32 sampleLocationsEnable;
10418 VkSampleLocationsInfoEXT sampleLocationsInfo;
10419 } VkPipelineSampleLocationsStateCreateInfoEXT;
10421 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
10422 VkStructureType sType;
10424 VkSampleCountFlags sampleLocationSampleCounts;
10425 VkExtent2D maxSampleLocationGridSize;
10426 float sampleLocationCoordinateRange[2];
10427 deUint32 sampleLocationSubPixelBits;
10428 VkBool32 variableSampleLocations;
10429 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
10431 typedef struct VkMultisamplePropertiesEXT {
10432 VkStructureType sType;
10434 VkExtent2D maxSampleLocationGridSize;
10435 } VkMultisamplePropertiesEXT;
10437 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10438 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
10440 #ifndef VK_NO_PROTOTYPES
10441 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
10442 VkCommandBuffer commandBuffer,
10443 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10445 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
10446 VkPhysicalDevice physicalDevice,
10447 VkSampleCountFlagBits samples,
10448 VkMultisamplePropertiesEXT* pMultisampleProperties);
10452 #define VK_EXT_blend_operation_advanced 1
10453 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
10454 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
10456 typedef enum VkBlendOverlapEXT {
10457 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
10458 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
10459 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
10460 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
10461 } VkBlendOverlapEXT;
10462 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
10463 VkStructureType sType;
10465 VkBool32 advancedBlendCoherentOperations;
10466 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
10468 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
10469 VkStructureType sType;
10471 deUint32 advancedBlendMaxColorAttachments;
10472 VkBool32 advancedBlendIndependentBlend;
10473 VkBool32 advancedBlendNonPremultipliedSrcColor;
10474 VkBool32 advancedBlendNonPremultipliedDstColor;
10475 VkBool32 advancedBlendCorrelatedOverlap;
10476 VkBool32 advancedBlendAllOperations;
10477 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
10479 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
10480 VkStructureType sType;
10482 VkBool32 srcPremultiplied;
10483 VkBool32 dstPremultiplied;
10484 VkBlendOverlapEXT blendOverlap;
10485 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
10489 #define VK_NV_fragment_coverage_to_color 1
10490 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
10491 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
10492 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
10493 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
10494 VkStructureType sType;
10496 VkPipelineCoverageToColorStateCreateFlagsNV flags;
10497 VkBool32 coverageToColorEnable;
10498 deUint32 coverageToColorLocation;
10499 } VkPipelineCoverageToColorStateCreateInfoNV;
10503 #define VK_NV_framebuffer_mixed_samples 1
10504 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
10505 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
10507 typedef enum VkCoverageModulationModeNV {
10508 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
10509 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
10510 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
10511 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
10512 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
10513 } VkCoverageModulationModeNV;
10514 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
10515 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
10516 VkStructureType sType;
10518 VkPipelineCoverageModulationStateCreateFlagsNV flags;
10519 VkCoverageModulationModeNV coverageModulationMode;
10520 VkBool32 coverageModulationTableEnable;
10521 deUint32 coverageModulationTableCount;
10522 const float* pCoverageModulationTable;
10523 } VkPipelineCoverageModulationStateCreateInfoNV;
10527 #define VK_NV_fill_rectangle 1
10528 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
10529 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
10532 #define VK_NV_shader_sm_builtins 1
10533 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
10534 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
10535 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
10536 VkStructureType sType;
10538 deUint32 shaderSMCount;
10539 deUint32 shaderWarpsPerSM;
10540 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
10542 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
10543 VkStructureType sType;
10545 VkBool32 shaderSMBuiltins;
10546 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
10550 #define VK_EXT_post_depth_coverage 1
10551 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
10552 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
10555 #define VK_EXT_image_drm_format_modifier 1
10556 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
10557 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
10558 typedef struct VkDrmFormatModifierPropertiesEXT {
10559 deUint64 drmFormatModifier;
10560 deUint32 drmFormatModifierPlaneCount;
10561 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
10562 } VkDrmFormatModifierPropertiesEXT;
10564 typedef struct VkDrmFormatModifierPropertiesListEXT {
10565 VkStructureType sType;
10567 deUint32 drmFormatModifierCount;
10568 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
10569 } VkDrmFormatModifierPropertiesListEXT;
10571 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
10572 VkStructureType sType;
10574 deUint64 drmFormatModifier;
10575 VkSharingMode sharingMode;
10576 deUint32 queueFamilyIndexCount;
10577 const deUint32* pQueueFamilyIndices;
10578 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
10580 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
10581 VkStructureType sType;
10583 deUint32 drmFormatModifierCount;
10584 const deUint64* pDrmFormatModifiers;
10585 } VkImageDrmFormatModifierListCreateInfoEXT;
10587 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
10588 VkStructureType sType;
10590 deUint64 drmFormatModifier;
10591 deUint32 drmFormatModifierPlaneCount;
10592 const VkSubresourceLayout* pPlaneLayouts;
10593 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
10595 typedef struct VkImageDrmFormatModifierPropertiesEXT {
10596 VkStructureType sType;
10598 deUint64 drmFormatModifier;
10599 } VkImageDrmFormatModifierPropertiesEXT;
10601 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
10603 #ifndef VK_NO_PROTOTYPES
10604 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
10607 VkImageDrmFormatModifierPropertiesEXT* pProperties);
10611 #define VK_EXT_validation_cache 1
10612 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
10613 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
10614 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
10616 typedef enum VkValidationCacheHeaderVersionEXT {
10617 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
10618 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
10619 } VkValidationCacheHeaderVersionEXT;
10620 typedef VkFlags VkValidationCacheCreateFlagsEXT;
10621 typedef struct VkValidationCacheCreateInfoEXT {
10622 VkStructureType sType;
10624 VkValidationCacheCreateFlagsEXT flags;
10625 deUintptr initialDataSize;
10626 const void* pInitialData;
10627 } VkValidationCacheCreateInfoEXT;
10629 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
10630 VkStructureType sType;
10632 VkValidationCacheEXT validationCache;
10633 } VkShaderModuleValidationCacheCreateInfoEXT;
10635 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
10636 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
10637 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
10638 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData);
10640 #ifndef VK_NO_PROTOTYPES
10641 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
10643 const VkValidationCacheCreateInfoEXT* pCreateInfo,
10644 const VkAllocationCallbacks* pAllocator,
10645 VkValidationCacheEXT* pValidationCache);
10647 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
10649 VkValidationCacheEXT validationCache,
10650 const VkAllocationCallbacks* pAllocator);
10652 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
10654 VkValidationCacheEXT dstCache,
10655 deUint32 srcCacheCount,
10656 const VkValidationCacheEXT* pSrcCaches);
10658 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
10660 VkValidationCacheEXT validationCache,
10661 deUintptr* pDataSize,
10666 #define VK_EXT_descriptor_indexing 1
10667 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
10668 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
10669 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
10671 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
10673 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
10675 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
10677 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
10679 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
10681 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
10685 #define VK_EXT_shader_viewport_index_layer 1
10686 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
10687 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
10690 #define VK_NV_shading_rate_image 1
10691 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
10692 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
10694 typedef enum VkShadingRatePaletteEntryNV {
10695 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
10696 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
10697 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
10698 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
10699 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
10700 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
10701 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
10702 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
10703 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
10704 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
10705 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
10706 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
10707 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
10708 } VkShadingRatePaletteEntryNV;
10710 typedef enum VkCoarseSampleOrderTypeNV {
10711 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
10712 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
10713 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
10714 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
10715 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10716 } VkCoarseSampleOrderTypeNV;
10717 typedef struct VkShadingRatePaletteNV {
10718 deUint32 shadingRatePaletteEntryCount;
10719 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
10720 } VkShadingRatePaletteNV;
10722 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
10723 VkStructureType sType;
10725 VkBool32 shadingRateImageEnable;
10726 deUint32 viewportCount;
10727 const VkShadingRatePaletteNV* pShadingRatePalettes;
10728 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
10730 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
10731 VkStructureType sType;
10733 VkBool32 shadingRateImage;
10734 VkBool32 shadingRateCoarseSampleOrder;
10735 } VkPhysicalDeviceShadingRateImageFeaturesNV;
10737 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
10738 VkStructureType sType;
10740 VkExtent2D shadingRateTexelSize;
10741 deUint32 shadingRatePaletteSize;
10742 deUint32 shadingRateMaxCoarseSamples;
10743 } VkPhysicalDeviceShadingRateImagePropertiesNV;
10745 typedef struct VkCoarseSampleLocationNV {
10749 } VkCoarseSampleLocationNV;
10751 typedef struct VkCoarseSampleOrderCustomNV {
10752 VkShadingRatePaletteEntryNV shadingRate;
10753 deUint32 sampleCount;
10754 deUint32 sampleLocationCount;
10755 const VkCoarseSampleLocationNV* pSampleLocations;
10756 } VkCoarseSampleOrderCustomNV;
10758 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
10759 VkStructureType sType;
10761 VkCoarseSampleOrderTypeNV sampleOrderType;
10762 deUint32 customSampleOrderCount;
10763 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
10764 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
10766 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
10767 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
10768 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10770 #ifndef VK_NO_PROTOTYPES
10771 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
10772 VkCommandBuffer commandBuffer,
10773 VkImageView imageView,
10774 VkImageLayout imageLayout);
10776 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
10777 VkCommandBuffer commandBuffer,
10778 deUint32 firstViewport,
10779 deUint32 viewportCount,
10780 const VkShadingRatePaletteNV* pShadingRatePalettes);
10782 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
10783 VkCommandBuffer commandBuffer,
10784 VkCoarseSampleOrderTypeNV sampleOrderType,
10785 deUint32 customSampleOrderCount,
10786 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10790 #define VK_NV_ray_tracing 1
10791 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
10792 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
10793 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
10794 #define VK_SHADER_UNUSED_KHR (~0U)
10795 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
10797 typedef enum VkRayTracingShaderGroupTypeKHR {
10798 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
10799 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
10800 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
10801 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
10802 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
10803 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
10804 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10805 } VkRayTracingShaderGroupTypeKHR;
10806 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
10809 typedef enum VkGeometryTypeKHR {
10810 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
10811 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
10812 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
10813 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
10814 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
10815 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10816 } VkGeometryTypeKHR;
10817 typedef VkGeometryTypeKHR VkGeometryTypeNV;
10820 typedef enum VkAccelerationStructureTypeKHR {
10821 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
10822 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
10823 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
10824 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
10825 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
10826 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10827 } VkAccelerationStructureTypeKHR;
10828 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
10831 typedef enum VkCopyAccelerationStructureModeKHR {
10832 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
10833 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
10834 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
10835 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
10836 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
10837 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
10838 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
10839 } VkCopyAccelerationStructureModeKHR;
10840 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
10843 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
10844 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
10845 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
10846 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
10847 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10848 } VkAccelerationStructureMemoryRequirementsTypeNV;
10850 typedef enum VkGeometryFlagBitsKHR {
10851 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
10852 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
10853 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
10854 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
10855 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10856 } VkGeometryFlagBitsKHR;
10857 typedef VkFlags VkGeometryFlagsKHR;
10858 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
10860 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
10863 typedef enum VkGeometryInstanceFlagBitsKHR {
10864 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
10865 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 0x00000002,
10866 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
10867 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
10868 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
10869 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
10870 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
10871 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
10872 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10873 } VkGeometryInstanceFlagBitsKHR;
10874 typedef VkFlags VkGeometryInstanceFlagsKHR;
10875 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
10877 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
10880 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
10881 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
10882 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
10883 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
10884 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
10885 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
10886 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
10887 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
10888 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
10889 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
10890 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
10891 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10892 } VkBuildAccelerationStructureFlagBitsKHR;
10893 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
10894 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
10896 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
10898 typedef struct VkRayTracingShaderGroupCreateInfoNV {
10899 VkStructureType sType;
10901 VkRayTracingShaderGroupTypeKHR type;
10902 deUint32 generalShader;
10903 deUint32 closestHitShader;
10904 deUint32 anyHitShader;
10905 deUint32 intersectionShader;
10906 } VkRayTracingShaderGroupCreateInfoNV;
10908 typedef struct VkRayTracingPipelineCreateInfoNV {
10909 VkStructureType sType;
10911 VkPipelineCreateFlags flags;
10912 deUint32 stageCount;
10913 const VkPipelineShaderStageCreateInfo* pStages;
10914 deUint32 groupCount;
10915 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
10916 deUint32 maxRecursionDepth;
10917 VkPipelineLayout layout;
10918 VkPipeline basePipelineHandle;
10919 deInt32 basePipelineIndex;
10920 } VkRayTracingPipelineCreateInfoNV;
10922 typedef struct VkGeometryTrianglesNV {
10923 VkStructureType sType;
10925 VkBuffer vertexData;
10926 VkDeviceSize vertexOffset;
10927 deUint32 vertexCount;
10928 VkDeviceSize vertexStride;
10929 VkFormat vertexFormat;
10930 VkBuffer indexData;
10931 VkDeviceSize indexOffset;
10932 deUint32 indexCount;
10933 VkIndexType indexType;
10934 VkBuffer transformData;
10935 VkDeviceSize transformOffset;
10936 } VkGeometryTrianglesNV;
10938 typedef struct VkGeometryAABBNV {
10939 VkStructureType sType;
10944 VkDeviceSize offset;
10945 } VkGeometryAABBNV;
10947 typedef struct VkGeometryDataNV {
10948 VkGeometryTrianglesNV triangles;
10949 VkGeometryAABBNV aabbs;
10950 } VkGeometryDataNV;
10952 typedef struct VkGeometryNV {
10953 VkStructureType sType;
10955 VkGeometryTypeKHR geometryType;
10956 VkGeometryDataNV geometry;
10957 VkGeometryFlagsKHR flags;
10960 typedef struct VkAccelerationStructureInfoNV {
10961 VkStructureType sType;
10963 VkAccelerationStructureTypeNV type;
10964 VkBuildAccelerationStructureFlagsNV flags;
10965 deUint32 instanceCount;
10966 deUint32 geometryCount;
10967 const VkGeometryNV* pGeometries;
10968 } VkAccelerationStructureInfoNV;
10970 typedef struct VkAccelerationStructureCreateInfoNV {
10971 VkStructureType sType;
10973 VkDeviceSize compactedSize;
10974 VkAccelerationStructureInfoNV info;
10975 } VkAccelerationStructureCreateInfoNV;
10977 typedef struct VkBindAccelerationStructureMemoryInfoNV {
10978 VkStructureType sType;
10980 VkAccelerationStructureNV accelerationStructure;
10981 VkDeviceMemory memory;
10982 VkDeviceSize memoryOffset;
10983 deUint32 deviceIndexCount;
10984 const deUint32* pDeviceIndices;
10985 } VkBindAccelerationStructureMemoryInfoNV;
10987 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
10988 VkStructureType sType;
10990 deUint32 accelerationStructureCount;
10991 const VkAccelerationStructureNV* pAccelerationStructures;
10992 } VkWriteDescriptorSetAccelerationStructureNV;
10994 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
10995 VkStructureType sType;
10997 VkAccelerationStructureMemoryRequirementsTypeNV type;
10998 VkAccelerationStructureNV accelerationStructure;
10999 } VkAccelerationStructureMemoryRequirementsInfoNV;
11001 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
11002 VkStructureType sType;
11004 deUint32 shaderGroupHandleSize;
11005 deUint32 maxRecursionDepth;
11006 deUint32 maxShaderGroupStride;
11007 deUint32 shaderGroupBaseAlignment;
11008 deUint64 maxGeometryCount;
11009 deUint64 maxInstanceCount;
11010 deUint64 maxTriangleCount;
11011 deUint32 maxDescriptorSetAccelerationStructures;
11012 } VkPhysicalDeviceRayTracingPropertiesNV;
11014 typedef struct VkTransformMatrixKHR {
11015 float matrix[3][4];
11016 } VkTransformMatrixKHR;
11018 typedef VkTransformMatrixKHR VkTransformMatrixNV;
11020 typedef struct VkAabbPositionsKHR {
11027 } VkAabbPositionsKHR;
11029 typedef VkAabbPositionsKHR VkAabbPositionsNV;
11031 typedef struct VkAccelerationStructureInstanceKHR {
11032 VkTransformMatrixKHR transform;
11033 deUint32 instanceCustomIndex:24;
11035 deUint32 instanceShaderBindingTableRecordOffset:24;
11036 VkGeometryInstanceFlagsKHR flags:8;
11037 deUint64 accelerationStructureReference;
11038 } VkAccelerationStructureInstanceKHR;
11040 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
11042 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
11043 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
11044 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
11045 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11046 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);
11047 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
11048 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);
11049 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
11050 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
11051 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
11052 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData);
11053 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
11054 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, deUint32 shader);
11056 #ifndef VK_NO_PROTOTYPES
11057 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
11059 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
11060 const VkAllocationCallbacks* pAllocator,
11061 VkAccelerationStructureNV* pAccelerationStructure);
11063 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
11065 VkAccelerationStructureNV accelerationStructure,
11066 const VkAllocationCallbacks* pAllocator);
11068 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
11070 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
11071 VkMemoryRequirements2KHR* pMemoryRequirements);
11073 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
11075 deUint32 bindInfoCount,
11076 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11078 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
11079 VkCommandBuffer commandBuffer,
11080 const VkAccelerationStructureInfoNV* pInfo,
11081 VkBuffer instanceData,
11082 VkDeviceSize instanceOffset,
11084 VkAccelerationStructureNV dst,
11085 VkAccelerationStructureNV src,
11087 VkDeviceSize scratchOffset);
11089 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
11090 VkCommandBuffer commandBuffer,
11091 VkAccelerationStructureNV dst,
11092 VkAccelerationStructureNV src,
11093 VkCopyAccelerationStructureModeKHR mode);
11095 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
11096 VkCommandBuffer commandBuffer,
11097 VkBuffer raygenShaderBindingTableBuffer,
11098 VkDeviceSize raygenShaderBindingOffset,
11099 VkBuffer missShaderBindingTableBuffer,
11100 VkDeviceSize missShaderBindingOffset,
11101 VkDeviceSize missShaderBindingStride,
11102 VkBuffer hitShaderBindingTableBuffer,
11103 VkDeviceSize hitShaderBindingOffset,
11104 VkDeviceSize hitShaderBindingStride,
11105 VkBuffer callableShaderBindingTableBuffer,
11106 VkDeviceSize callableShaderBindingOffset,
11107 VkDeviceSize callableShaderBindingStride,
11112 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
11114 VkPipelineCache pipelineCache,
11115 deUint32 createInfoCount,
11116 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
11117 const VkAllocationCallbacks* pAllocator,
11118 VkPipeline* pPipelines);
11120 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
11122 VkPipeline pipeline,
11123 deUint32 firstGroup,
11124 deUint32 groupCount,
11125 deUintptr dataSize,
11128 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
11130 VkPipeline pipeline,
11131 deUint32 firstGroup,
11132 deUint32 groupCount,
11133 deUintptr dataSize,
11136 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
11138 VkAccelerationStructureNV accelerationStructure,
11139 deUintptr dataSize,
11142 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
11143 VkCommandBuffer commandBuffer,
11144 deUint32 accelerationStructureCount,
11145 const VkAccelerationStructureNV* pAccelerationStructures,
11146 VkQueryType queryType,
11147 VkQueryPool queryPool,
11148 deUint32 firstQuery);
11150 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
11152 VkPipeline pipeline,
11157 #define VK_NV_representative_fragment_test 1
11158 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
11159 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
11160 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
11161 VkStructureType sType;
11163 VkBool32 representativeFragmentTest;
11164 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
11166 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
11167 VkStructureType sType;
11169 VkBool32 representativeFragmentTestEnable;
11170 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
11174 #define VK_EXT_filter_cubic 1
11175 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
11176 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
11177 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
11178 VkStructureType sType;
11180 VkImageViewType imageViewType;
11181 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
11183 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
11184 VkStructureType sType;
11186 VkBool32 filterCubic;
11187 VkBool32 filterCubicMinmax;
11188 } VkFilterCubicImageViewImageFormatPropertiesEXT;
11192 #define VK_QCOM_render_pass_shader_resolve 1
11193 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
11194 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
11197 #define VK_EXT_global_priority 1
11198 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
11199 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
11201 typedef enum VkQueueGlobalPriorityEXT {
11202 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
11203 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
11204 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
11205 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
11206 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
11207 } VkQueueGlobalPriorityEXT;
11208 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
11209 VkStructureType sType;
11211 VkQueueGlobalPriorityEXT globalPriority;
11212 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
11216 #define VK_EXT_external_memory_host 1
11217 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
11218 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
11219 typedef struct VkImportMemoryHostPointerInfoEXT {
11220 VkStructureType sType;
11222 VkExternalMemoryHandleTypeFlagBits handleType;
11223 void* pHostPointer;
11224 } VkImportMemoryHostPointerInfoEXT;
11226 typedef struct VkMemoryHostPointerPropertiesEXT {
11227 VkStructureType sType;
11229 deUint32 memoryTypeBits;
11230 } VkMemoryHostPointerPropertiesEXT;
11232 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
11233 VkStructureType sType;
11235 VkDeviceSize minImportedHostPointerAlignment;
11236 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
11238 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11240 #ifndef VK_NO_PROTOTYPES
11241 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
11243 VkExternalMemoryHandleTypeFlagBits handleType,
11244 const void* pHostPointer,
11245 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11249 #define VK_AMD_buffer_marker 1
11250 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
11251 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
11252 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
11254 #ifndef VK_NO_PROTOTYPES
11255 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
11256 VkCommandBuffer commandBuffer,
11257 VkPipelineStageFlagBits pipelineStage,
11258 VkBuffer dstBuffer,
11259 VkDeviceSize dstOffset,
11264 #define VK_AMD_pipeline_compiler_control 1
11265 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
11266 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
11268 typedef enum VkPipelineCompilerControlFlagBitsAMD {
11269 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
11270 } VkPipelineCompilerControlFlagBitsAMD;
11271 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
11272 typedef struct VkPipelineCompilerControlCreateInfoAMD {
11273 VkStructureType sType;
11275 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
11276 } VkPipelineCompilerControlCreateInfoAMD;
11280 #define VK_EXT_calibrated_timestamps 1
11281 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1
11282 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
11284 typedef enum VkTimeDomainEXT {
11285 VK_TIME_DOMAIN_DEVICE_EXT = 0,
11286 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
11287 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
11288 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
11289 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
11291 typedef struct VkCalibratedTimestampInfoEXT {
11292 VkStructureType sType;
11294 VkTimeDomainEXT timeDomain;
11295 } VkCalibratedTimestampInfoEXT;
11297 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
11298 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation);
11300 #ifndef VK_NO_PROTOTYPES
11301 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
11302 VkPhysicalDevice physicalDevice,
11303 deUint32* pTimeDomainCount,
11304 VkTimeDomainEXT* pTimeDomains);
11306 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
11308 deUint32 timestampCount,
11309 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
11310 deUint64* pTimestamps,
11311 deUint64* pMaxDeviation);
11315 #define VK_AMD_shader_core_properties 1
11316 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
11317 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
11318 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
11319 VkStructureType sType;
11321 deUint32 shaderEngineCount;
11322 deUint32 shaderArraysPerEngineCount;
11323 deUint32 computeUnitsPerShaderArray;
11324 deUint32 simdPerComputeUnit;
11325 deUint32 wavefrontsPerSimd;
11326 deUint32 wavefrontSize;
11327 deUint32 sgprsPerSimd;
11328 deUint32 minSgprAllocation;
11329 deUint32 maxSgprAllocation;
11330 deUint32 sgprAllocationGranularity;
11331 deUint32 vgprsPerSimd;
11332 deUint32 minVgprAllocation;
11333 deUint32 maxVgprAllocation;
11334 deUint32 vgprAllocationGranularity;
11335 } VkPhysicalDeviceShaderCorePropertiesAMD;
11339 #define VK_AMD_memory_overallocation_behavior 1
11340 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
11341 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
11343 typedef enum VkMemoryOverallocationBehaviorAMD {
11344 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
11345 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
11346 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
11347 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
11348 } VkMemoryOverallocationBehaviorAMD;
11349 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
11350 VkStructureType sType;
11352 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
11353 } VkDeviceMemoryOverallocationCreateInfoAMD;
11357 #define VK_EXT_vertex_attribute_divisor 1
11358 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
11359 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
11360 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
11361 VkStructureType sType;
11363 deUint32 maxVertexAttribDivisor;
11364 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
11366 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
11369 } VkVertexInputBindingDivisorDescriptionEXT;
11371 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
11372 VkStructureType sType;
11374 deUint32 vertexBindingDivisorCount;
11375 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
11376 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
11378 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
11379 VkStructureType sType;
11381 VkBool32 vertexAttributeInstanceRateDivisor;
11382 VkBool32 vertexAttributeInstanceRateZeroDivisor;
11383 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
11387 #define VK_EXT_pipeline_creation_feedback 1
11388 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
11389 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
11391 typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
11392 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
11393 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
11394 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
11395 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11396 } VkPipelineCreationFeedbackFlagBitsEXT;
11397 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
11398 typedef struct VkPipelineCreationFeedbackEXT {
11399 VkPipelineCreationFeedbackFlagsEXT flags;
11401 } VkPipelineCreationFeedbackEXT;
11403 typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
11404 VkStructureType sType;
11406 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
11407 deUint32 pipelineStageCreationFeedbackCount;
11408 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
11409 } VkPipelineCreationFeedbackCreateInfoEXT;
11413 #define VK_NV_shader_subgroup_partitioned 1
11414 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
11415 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
11418 #define VK_NV_compute_shader_derivatives 1
11419 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
11420 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
11421 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
11422 VkStructureType sType;
11424 VkBool32 computeDerivativeGroupQuads;
11425 VkBool32 computeDerivativeGroupLinear;
11426 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
11430 #define VK_NV_mesh_shader 1
11431 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
11432 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
11433 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
11434 VkStructureType sType;
11436 VkBool32 taskShader;
11437 VkBool32 meshShader;
11438 } VkPhysicalDeviceMeshShaderFeaturesNV;
11440 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
11441 VkStructureType sType;
11443 deUint32 maxDrawMeshTasksCount;
11444 deUint32 maxTaskWorkGroupInvocations;
11445 deUint32 maxTaskWorkGroupSize[3];
11446 deUint32 maxTaskTotalMemorySize;
11447 deUint32 maxTaskOutputCount;
11448 deUint32 maxMeshWorkGroupInvocations;
11449 deUint32 maxMeshWorkGroupSize[3];
11450 deUint32 maxMeshTotalMemorySize;
11451 deUint32 maxMeshOutputVertices;
11452 deUint32 maxMeshOutputPrimitives;
11453 deUint32 maxMeshMultiviewViewCount;
11454 deUint32 meshOutputPerVertexGranularity;
11455 deUint32 meshOutputPerPrimitiveGranularity;
11456 } VkPhysicalDeviceMeshShaderPropertiesNV;
11458 typedef struct VkDrawMeshTasksIndirectCommandNV {
11459 deUint32 taskCount;
11460 deUint32 firstTask;
11461 } VkDrawMeshTasksIndirectCommandNV;
11463 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask);
11464 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
11465 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
11467 #ifndef VK_NO_PROTOTYPES
11468 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
11469 VkCommandBuffer commandBuffer,
11470 deUint32 taskCount,
11471 deUint32 firstTask);
11473 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
11474 VkCommandBuffer commandBuffer,
11476 VkDeviceSize offset,
11477 deUint32 drawCount,
11480 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
11481 VkCommandBuffer commandBuffer,
11483 VkDeviceSize offset,
11484 VkBuffer countBuffer,
11485 VkDeviceSize countBufferOffset,
11486 deUint32 maxDrawCount,
11491 #define VK_NV_fragment_shader_barycentric 1
11492 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
11493 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
11494 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
11495 VkStructureType sType;
11497 VkBool32 fragmentShaderBarycentric;
11498 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
11502 #define VK_NV_shader_image_footprint 1
11503 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
11504 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
11505 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
11506 VkStructureType sType;
11508 VkBool32 imageFootprint;
11509 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
11513 #define VK_NV_scissor_exclusive 1
11514 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
11515 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
11516 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
11517 VkStructureType sType;
11519 deUint32 exclusiveScissorCount;
11520 const VkRect2D* pExclusiveScissors;
11521 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
11523 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
11524 VkStructureType sType;
11526 VkBool32 exclusiveScissor;
11527 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
11529 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
11531 #ifndef VK_NO_PROTOTYPES
11532 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
11533 VkCommandBuffer commandBuffer,
11534 deUint32 firstExclusiveScissor,
11535 deUint32 exclusiveScissorCount,
11536 const VkRect2D* pExclusiveScissors);
11540 #define VK_NV_device_diagnostic_checkpoints 1
11541 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
11542 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
11543 typedef struct VkQueueFamilyCheckpointPropertiesNV {
11544 VkStructureType sType;
11546 VkPipelineStageFlags checkpointExecutionStageMask;
11547 } VkQueueFamilyCheckpointPropertiesNV;
11549 typedef struct VkCheckpointDataNV {
11550 VkStructureType sType;
11552 VkPipelineStageFlagBits stage;
11553 void* pCheckpointMarker;
11554 } VkCheckpointDataNV;
11556 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
11557 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
11559 #ifndef VK_NO_PROTOTYPES
11560 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
11561 VkCommandBuffer commandBuffer,
11562 const void* pCheckpointMarker);
11564 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
11566 deUint32* pCheckpointDataCount,
11567 VkCheckpointDataNV* pCheckpointData);
11571 #define VK_INTEL_shader_integer_functions2 1
11572 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
11573 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
11574 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
11575 VkStructureType sType;
11577 VkBool32 shaderIntegerFunctions2;
11578 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
11582 #define VK_INTEL_performance_query 1
11583 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
11584 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
11585 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
11587 typedef enum VkPerformanceConfigurationTypeINTEL {
11588 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
11589 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11590 } VkPerformanceConfigurationTypeINTEL;
11592 typedef enum VkQueryPoolSamplingModeINTEL {
11593 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
11594 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
11595 } VkQueryPoolSamplingModeINTEL;
11597 typedef enum VkPerformanceOverrideTypeINTEL {
11598 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
11599 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
11600 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11601 } VkPerformanceOverrideTypeINTEL;
11603 typedef enum VkPerformanceParameterTypeINTEL {
11604 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
11605 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
11606 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11607 } VkPerformanceParameterTypeINTEL;
11609 typedef enum VkPerformanceValueTypeINTEL {
11610 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
11611 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
11612 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
11613 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
11614 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
11615 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11616 } VkPerformanceValueTypeINTEL;
11617 typedef union VkPerformanceValueDataINTEL {
11621 VkBool32 valueBool;
11622 const char* valueString;
11623 } VkPerformanceValueDataINTEL;
11625 typedef struct VkPerformanceValueINTEL {
11626 VkPerformanceValueTypeINTEL type;
11627 VkPerformanceValueDataINTEL data;
11628 } VkPerformanceValueINTEL;
11630 typedef struct VkInitializePerformanceApiInfoINTEL {
11631 VkStructureType sType;
11634 } VkInitializePerformanceApiInfoINTEL;
11636 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
11637 VkStructureType sType;
11639 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
11640 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
11642 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
11644 typedef struct VkPerformanceMarkerInfoINTEL {
11645 VkStructureType sType;
11648 } VkPerformanceMarkerInfoINTEL;
11650 typedef struct VkPerformanceStreamMarkerInfoINTEL {
11651 VkStructureType sType;
11654 } VkPerformanceStreamMarkerInfoINTEL;
11656 typedef struct VkPerformanceOverrideInfoINTEL {
11657 VkStructureType sType;
11659 VkPerformanceOverrideTypeINTEL type;
11661 deUint64 parameter;
11662 } VkPerformanceOverrideInfoINTEL;
11664 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
11665 VkStructureType sType;
11667 VkPerformanceConfigurationTypeINTEL type;
11668 } VkPerformanceConfigurationAcquireInfoINTEL;
11670 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
11671 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
11672 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
11673 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
11674 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
11675 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
11676 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
11677 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
11678 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
11680 #ifndef VK_NO_PROTOTYPES
11681 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
11683 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
11685 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
11688 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
11689 VkCommandBuffer commandBuffer,
11690 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
11692 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
11693 VkCommandBuffer commandBuffer,
11694 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
11696 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
11697 VkCommandBuffer commandBuffer,
11698 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
11700 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
11702 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
11703 VkPerformanceConfigurationINTEL* pConfiguration);
11705 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
11707 VkPerformanceConfigurationINTEL configuration);
11709 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
11711 VkPerformanceConfigurationINTEL configuration);
11713 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
11715 VkPerformanceParameterTypeINTEL parameter,
11716 VkPerformanceValueINTEL* pValue);
11720 #define VK_EXT_pci_bus_info 1
11721 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
11722 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
11723 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
11724 VkStructureType sType;
11726 deUint32 pciDomain;
11728 deUint32 pciDevice;
11729 deUint32 pciFunction;
11730 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
11734 #define VK_AMD_display_native_hdr 1
11735 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
11736 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
11737 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
11738 VkStructureType sType;
11740 VkBool32 localDimmingSupport;
11741 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
11743 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
11744 VkStructureType sType;
11746 VkBool32 localDimmingEnable;
11747 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
11749 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
11751 #ifndef VK_NO_PROTOTYPES
11752 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
11754 VkSwapchainKHR swapChain,
11755 VkBool32 localDimmingEnable);
11759 #define VK_EXT_fragment_density_map 1
11760 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
11761 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
11762 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
11763 VkStructureType sType;
11765 VkBool32 fragmentDensityMap;
11766 VkBool32 fragmentDensityMapDynamic;
11767 VkBool32 fragmentDensityMapNonSubsampledImages;
11768 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
11770 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
11771 VkStructureType sType;
11773 VkExtent2D minFragmentDensityTexelSize;
11774 VkExtent2D maxFragmentDensityTexelSize;
11775 VkBool32 fragmentDensityInvocations;
11776 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
11778 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
11779 VkStructureType sType;
11781 VkAttachmentReference fragmentDensityMapAttachment;
11782 } VkRenderPassFragmentDensityMapCreateInfoEXT;
11786 #define VK_EXT_scalar_block_layout 1
11787 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
11788 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
11789 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
11793 #define VK_GOOGLE_hlsl_functionality1 1
11794 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
11795 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
11798 #define VK_GOOGLE_decorate_string 1
11799 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
11800 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
11803 #define VK_EXT_subgroup_size_control 1
11804 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
11805 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
11806 typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
11807 VkStructureType sType;
11809 VkBool32 subgroupSizeControl;
11810 VkBool32 computeFullSubgroups;
11811 } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
11813 typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
11814 VkStructureType sType;
11816 deUint32 minSubgroupSize;
11817 deUint32 maxSubgroupSize;
11818 deUint32 maxComputeWorkgroupSubgroups;
11819 VkShaderStageFlags requiredSubgroupSizeStages;
11820 } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
11822 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
11823 VkStructureType sType;
11825 deUint32 requiredSubgroupSize;
11826 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
11830 #define VK_AMD_shader_core_properties2 1
11831 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
11832 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
11834 typedef enum VkShaderCorePropertiesFlagBitsAMD {
11835 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
11836 } VkShaderCorePropertiesFlagBitsAMD;
11837 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
11838 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
11839 VkStructureType sType;
11841 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
11842 deUint32 activeComputeUnitCount;
11843 } VkPhysicalDeviceShaderCoreProperties2AMD;
11847 #define VK_AMD_device_coherent_memory 1
11848 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
11849 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
11850 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
11851 VkStructureType sType;
11853 VkBool32 deviceCoherentMemory;
11854 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
11858 #define VK_EXT_shader_image_atomic_int64 1
11859 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
11860 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
11861 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
11862 VkStructureType sType;
11864 VkBool32 shaderImageInt64Atomics;
11865 VkBool32 sparseImageInt64Atomics;
11866 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
11870 #define VK_EXT_memory_budget 1
11871 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
11872 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
11873 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
11874 VkStructureType sType;
11876 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
11877 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
11878 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
11882 #define VK_EXT_memory_priority 1
11883 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
11884 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
11885 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
11886 VkStructureType sType;
11888 VkBool32 memoryPriority;
11889 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
11891 typedef struct VkMemoryPriorityAllocateInfoEXT {
11892 VkStructureType sType;
11895 } VkMemoryPriorityAllocateInfoEXT;
11899 #define VK_NV_dedicated_allocation_image_aliasing 1
11900 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
11901 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
11902 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
11903 VkStructureType sType;
11905 VkBool32 dedicatedAllocationImageAliasing;
11906 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
11910 #define VK_EXT_buffer_device_address 1
11911 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
11912 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
11913 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
11914 VkStructureType sType;
11916 VkBool32 bufferDeviceAddress;
11917 VkBool32 bufferDeviceAddressCaptureReplay;
11918 VkBool32 bufferDeviceAddressMultiDevice;
11919 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
11921 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
11923 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
11925 typedef struct VkBufferDeviceAddressCreateInfoEXT {
11926 VkStructureType sType;
11928 VkDeviceAddress deviceAddress;
11929 } VkBufferDeviceAddressCreateInfoEXT;
11931 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
11933 #ifndef VK_NO_PROTOTYPES
11934 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
11936 const VkBufferDeviceAddressInfo* pInfo);
11940 #define VK_EXT_tooling_info 1
11941 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
11942 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
11944 typedef enum VkToolPurposeFlagBitsEXT {
11945 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001,
11946 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002,
11947 VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004,
11948 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008,
11949 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010,
11950 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
11951 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
11952 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11953 } VkToolPurposeFlagBitsEXT;
11954 typedef VkFlags VkToolPurposeFlagsEXT;
11955 typedef struct VkPhysicalDeviceToolPropertiesEXT {
11956 VkStructureType sType;
11958 char name[VK_MAX_EXTENSION_NAME_SIZE];
11959 char version[VK_MAX_EXTENSION_NAME_SIZE];
11960 VkToolPurposeFlagsEXT purposes;
11961 char description[VK_MAX_DESCRIPTION_SIZE];
11962 char layer[VK_MAX_EXTENSION_NAME_SIZE];
11963 } VkPhysicalDeviceToolPropertiesEXT;
11965 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
11967 #ifndef VK_NO_PROTOTYPES
11968 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
11969 VkPhysicalDevice physicalDevice,
11970 deUint32* pToolCount,
11971 VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
11975 #define VK_EXT_separate_stencil_usage 1
11976 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
11977 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
11978 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
11982 #define VK_EXT_validation_features 1
11983 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 4
11984 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
11986 typedef enum VkValidationFeatureEnableEXT {
11987 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
11988 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
11989 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
11990 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
11991 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
11992 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
11993 } VkValidationFeatureEnableEXT;
11995 typedef enum VkValidationFeatureDisableEXT {
11996 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
11997 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
11998 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
11999 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
12000 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
12001 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
12002 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
12003 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
12004 } VkValidationFeatureDisableEXT;
12005 typedef struct VkValidationFeaturesEXT {
12006 VkStructureType sType;
12008 deUint32 enabledValidationFeatureCount;
12009 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
12010 deUint32 disabledValidationFeatureCount;
12011 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
12012 } VkValidationFeaturesEXT;
12016 #define VK_NV_cooperative_matrix 1
12017 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
12018 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
12020 typedef enum VkComponentTypeNV {
12021 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
12022 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
12023 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
12024 VK_COMPONENT_TYPE_SINT8_NV = 3,
12025 VK_COMPONENT_TYPE_SINT16_NV = 4,
12026 VK_COMPONENT_TYPE_SINT32_NV = 5,
12027 VK_COMPONENT_TYPE_SINT64_NV = 6,
12028 VK_COMPONENT_TYPE_UINT8_NV = 7,
12029 VK_COMPONENT_TYPE_UINT16_NV = 8,
12030 VK_COMPONENT_TYPE_UINT32_NV = 9,
12031 VK_COMPONENT_TYPE_UINT64_NV = 10,
12032 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12033 } VkComponentTypeNV;
12035 typedef enum VkScopeNV {
12036 VK_SCOPE_DEVICE_NV = 1,
12037 VK_SCOPE_WORKGROUP_NV = 2,
12038 VK_SCOPE_SUBGROUP_NV = 3,
12039 VK_SCOPE_QUEUE_FAMILY_NV = 5,
12040 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
12042 typedef struct VkCooperativeMatrixPropertiesNV {
12043 VkStructureType sType;
12048 VkComponentTypeNV AType;
12049 VkComponentTypeNV BType;
12050 VkComponentTypeNV CType;
12051 VkComponentTypeNV DType;
12053 } VkCooperativeMatrixPropertiesNV;
12055 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
12056 VkStructureType sType;
12058 VkBool32 cooperativeMatrix;
12059 VkBool32 cooperativeMatrixRobustBufferAccess;
12060 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
12062 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
12063 VkStructureType sType;
12065 VkShaderStageFlags cooperativeMatrixSupportedStages;
12066 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
12068 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
12070 #ifndef VK_NO_PROTOTYPES
12071 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
12072 VkPhysicalDevice physicalDevice,
12073 deUint32* pPropertyCount,
12074 VkCooperativeMatrixPropertiesNV* pProperties);
12078 #define VK_NV_coverage_reduction_mode 1
12079 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
12080 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
12082 typedef enum VkCoverageReductionModeNV {
12083 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
12084 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
12085 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
12086 } VkCoverageReductionModeNV;
12087 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
12088 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
12089 VkStructureType sType;
12091 VkBool32 coverageReductionMode;
12092 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
12094 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
12095 VkStructureType sType;
12097 VkPipelineCoverageReductionStateCreateFlagsNV flags;
12098 VkCoverageReductionModeNV coverageReductionMode;
12099 } VkPipelineCoverageReductionStateCreateInfoNV;
12101 typedef struct VkFramebufferMixedSamplesCombinationNV {
12102 VkStructureType sType;
12104 VkCoverageReductionModeNV coverageReductionMode;
12105 VkSampleCountFlagBits rasterizationSamples;
12106 VkSampleCountFlags depthStencilSamples;
12107 VkSampleCountFlags colorSamples;
12108 } VkFramebufferMixedSamplesCombinationNV;
12110 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
12112 #ifndef VK_NO_PROTOTYPES
12113 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
12114 VkPhysicalDevice physicalDevice,
12115 deUint32* pCombinationCount,
12116 VkFramebufferMixedSamplesCombinationNV* pCombinations);
12120 #define VK_EXT_fragment_shader_interlock 1
12121 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
12122 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
12123 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
12124 VkStructureType sType;
12126 VkBool32 fragmentShaderSampleInterlock;
12127 VkBool32 fragmentShaderPixelInterlock;
12128 VkBool32 fragmentShaderShadingRateInterlock;
12129 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
12133 #define VK_EXT_ycbcr_image_arrays 1
12134 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
12135 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
12136 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
12137 VkStructureType sType;
12139 VkBool32 ycbcrImageArrays;
12140 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
12144 #define VK_EXT_headless_surface 1
12145 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
12146 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
12147 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
12148 typedef struct VkHeadlessSurfaceCreateInfoEXT {
12149 VkStructureType sType;
12151 VkHeadlessSurfaceCreateFlagsEXT flags;
12152 } VkHeadlessSurfaceCreateInfoEXT;
12154 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
12156 #ifndef VK_NO_PROTOTYPES
12157 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
12158 VkInstance instance,
12159 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
12160 const VkAllocationCallbacks* pAllocator,
12161 VkSurfaceKHR* pSurface);
12165 #define VK_EXT_line_rasterization 1
12166 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
12167 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
12169 typedef enum VkLineRasterizationModeEXT {
12170 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
12171 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
12172 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
12173 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
12174 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12175 } VkLineRasterizationModeEXT;
12176 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
12177 VkStructureType sType;
12179 VkBool32 rectangularLines;
12180 VkBool32 bresenhamLines;
12181 VkBool32 smoothLines;
12182 VkBool32 stippledRectangularLines;
12183 VkBool32 stippledBresenhamLines;
12184 VkBool32 stippledSmoothLines;
12185 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
12187 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
12188 VkStructureType sType;
12190 deUint32 lineSubPixelPrecisionBits;
12191 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
12193 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
12194 VkStructureType sType;
12196 VkLineRasterizationModeEXT lineRasterizationMode;
12197 VkBool32 stippledLineEnable;
12198 deUint32 lineStippleFactor;
12199 deUint16 lineStipplePattern;
12200 } VkPipelineRasterizationLineStateCreateInfoEXT;
12202 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern);
12204 #ifndef VK_NO_PROTOTYPES
12205 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
12206 VkCommandBuffer commandBuffer,
12207 deUint32 lineStippleFactor,
12208 deUint16 lineStipplePattern);
12212 #define VK_EXT_shader_atomic_float 1
12213 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
12214 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
12215 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
12216 VkStructureType sType;
12218 VkBool32 shaderBufferFloat32Atomics;
12219 VkBool32 shaderBufferFloat32AtomicAdd;
12220 VkBool32 shaderBufferFloat64Atomics;
12221 VkBool32 shaderBufferFloat64AtomicAdd;
12222 VkBool32 shaderSharedFloat32Atomics;
12223 VkBool32 shaderSharedFloat32AtomicAdd;
12224 VkBool32 shaderSharedFloat64Atomics;
12225 VkBool32 shaderSharedFloat64AtomicAdd;
12226 VkBool32 shaderImageFloat32Atomics;
12227 VkBool32 shaderImageFloat32AtomicAdd;
12228 VkBool32 sparseImageFloat32Atomics;
12229 VkBool32 sparseImageFloat32AtomicAdd;
12230 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
12234 #define VK_EXT_host_query_reset 1
12235 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
12236 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
12237 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
12239 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
12241 #ifndef VK_NO_PROTOTYPES
12242 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
12244 VkQueryPool queryPool,
12245 deUint32 firstQuery,
12246 deUint32 queryCount);
12250 #define VK_EXT_index_type_uint8 1
12251 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
12252 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
12253 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
12254 VkStructureType sType;
12256 VkBool32 indexTypeUint8;
12257 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
12261 #define VK_EXT_extended_dynamic_state 1
12262 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
12263 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
12264 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
12265 VkStructureType sType;
12267 VkBool32 extendedDynamicState;
12268 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
12270 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
12271 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
12272 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
12273 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports);
12274 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors);
12275 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
12276 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
12277 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
12278 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
12279 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
12280 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
12281 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
12283 #ifndef VK_NO_PROTOTYPES
12284 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
12285 VkCommandBuffer commandBuffer,
12286 VkCullModeFlags cullMode);
12288 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
12289 VkCommandBuffer commandBuffer,
12290 VkFrontFace frontFace);
12292 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
12293 VkCommandBuffer commandBuffer,
12294 VkPrimitiveTopology primitiveTopology);
12296 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
12297 VkCommandBuffer commandBuffer,
12298 deUint32 viewportCount,
12299 const VkViewport* pViewports);
12301 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
12302 VkCommandBuffer commandBuffer,
12303 deUint32 scissorCount,
12304 const VkRect2D* pScissors);
12306 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
12307 VkCommandBuffer commandBuffer,
12308 deUint32 firstBinding,
12309 deUint32 bindingCount,
12310 const VkBuffer* pBuffers,
12311 const VkDeviceSize* pOffsets,
12312 const VkDeviceSize* pSizes,
12313 const VkDeviceSize* pStrides);
12315 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
12316 VkCommandBuffer commandBuffer,
12317 VkBool32 depthTestEnable);
12319 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
12320 VkCommandBuffer commandBuffer,
12321 VkBool32 depthWriteEnable);
12323 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
12324 VkCommandBuffer commandBuffer,
12325 VkCompareOp depthCompareOp);
12327 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
12328 VkCommandBuffer commandBuffer,
12329 VkBool32 depthBoundsTestEnable);
12331 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
12332 VkCommandBuffer commandBuffer,
12333 VkBool32 stencilTestEnable);
12335 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
12336 VkCommandBuffer commandBuffer,
12337 VkStencilFaceFlags faceMask,
12338 VkStencilOp failOp,
12339 VkStencilOp passOp,
12340 VkStencilOp depthFailOp,
12341 VkCompareOp compareOp);
12345 #define VK_EXT_shader_demote_to_helper_invocation 1
12346 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
12347 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
12348 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
12349 VkStructureType sType;
12351 VkBool32 shaderDemoteToHelperInvocation;
12352 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
12356 #define VK_NV_device_generated_commands 1
12357 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
12358 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
12359 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
12361 typedef enum VkIndirectCommandsTokenTypeNV {
12362 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
12363 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
12364 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
12365 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
12366 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
12367 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
12368 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
12369 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
12370 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12371 } VkIndirectCommandsTokenTypeNV;
12373 typedef enum VkIndirectStateFlagBitsNV {
12374 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
12375 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12376 } VkIndirectStateFlagBitsNV;
12377 typedef VkFlags VkIndirectStateFlagsNV;
12379 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
12380 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
12381 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
12382 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
12383 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12384 } VkIndirectCommandsLayoutUsageFlagBitsNV;
12385 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
12386 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
12387 VkStructureType sType;
12389 deUint32 maxGraphicsShaderGroupCount;
12390 deUint32 maxIndirectSequenceCount;
12391 deUint32 maxIndirectCommandsTokenCount;
12392 deUint32 maxIndirectCommandsStreamCount;
12393 deUint32 maxIndirectCommandsTokenOffset;
12394 deUint32 maxIndirectCommandsStreamStride;
12395 deUint32 minSequencesCountBufferOffsetAlignment;
12396 deUint32 minSequencesIndexBufferOffsetAlignment;
12397 deUint32 minIndirectCommandsBufferOffsetAlignment;
12398 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
12400 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
12401 VkStructureType sType;
12403 VkBool32 deviceGeneratedCommands;
12404 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
12406 typedef struct VkGraphicsShaderGroupCreateInfoNV {
12407 VkStructureType sType;
12409 deUint32 stageCount;
12410 const VkPipelineShaderStageCreateInfo* pStages;
12411 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
12412 const VkPipelineTessellationStateCreateInfo* pTessellationState;
12413 } VkGraphicsShaderGroupCreateInfoNV;
12415 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
12416 VkStructureType sType;
12418 deUint32 groupCount;
12419 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
12420 deUint32 pipelineCount;
12421 const VkPipeline* pPipelines;
12422 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
12424 typedef struct VkBindShaderGroupIndirectCommandNV {
12425 deUint32 groupIndex;
12426 } VkBindShaderGroupIndirectCommandNV;
12428 typedef struct VkBindIndexBufferIndirectCommandNV {
12429 VkDeviceAddress bufferAddress;
12431 VkIndexType indexType;
12432 } VkBindIndexBufferIndirectCommandNV;
12434 typedef struct VkBindVertexBufferIndirectCommandNV {
12435 VkDeviceAddress bufferAddress;
12438 } VkBindVertexBufferIndirectCommandNV;
12440 typedef struct VkSetStateFlagsIndirectCommandNV {
12442 } VkSetStateFlagsIndirectCommandNV;
12444 typedef struct VkIndirectCommandsStreamNV {
12446 VkDeviceSize offset;
12447 } VkIndirectCommandsStreamNV;
12449 typedef struct VkIndirectCommandsLayoutTokenNV {
12450 VkStructureType sType;
12452 VkIndirectCommandsTokenTypeNV tokenType;
12455 deUint32 vertexBindingUnit;
12456 VkBool32 vertexDynamicStride;
12457 VkPipelineLayout pushconstantPipelineLayout;
12458 VkShaderStageFlags pushconstantShaderStageFlags;
12459 deUint32 pushconstantOffset;
12460 deUint32 pushconstantSize;
12461 VkIndirectStateFlagsNV indirectStateFlags;
12462 deUint32 indexTypeCount;
12463 const VkIndexType* pIndexTypes;
12464 const deUint32* pIndexTypeValues;
12465 } VkIndirectCommandsLayoutTokenNV;
12467 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
12468 VkStructureType sType;
12470 VkIndirectCommandsLayoutUsageFlagsNV flags;
12471 VkPipelineBindPoint pipelineBindPoint;
12472 deUint32 tokenCount;
12473 const VkIndirectCommandsLayoutTokenNV* pTokens;
12474 deUint32 streamCount;
12475 const deUint32* pStreamStrides;
12476 } VkIndirectCommandsLayoutCreateInfoNV;
12478 typedef struct VkGeneratedCommandsInfoNV {
12479 VkStructureType sType;
12481 VkPipelineBindPoint pipelineBindPoint;
12482 VkPipeline pipeline;
12483 VkIndirectCommandsLayoutNV indirectCommandsLayout;
12484 deUint32 streamCount;
12485 const VkIndirectCommandsStreamNV* pStreams;
12486 deUint32 sequencesCount;
12487 VkBuffer preprocessBuffer;
12488 VkDeviceSize preprocessOffset;
12489 VkDeviceSize preprocessSize;
12490 VkBuffer sequencesCountBuffer;
12491 VkDeviceSize sequencesCountOffset;
12492 VkBuffer sequencesIndexBuffer;
12493 VkDeviceSize sequencesIndexOffset;
12494 } VkGeneratedCommandsInfoNV;
12496 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
12497 VkStructureType sType;
12499 VkPipelineBindPoint pipelineBindPoint;
12500 VkPipeline pipeline;
12501 VkIndirectCommandsLayoutNV indirectCommandsLayout;
12502 deUint32 maxSequencesCount;
12503 } VkGeneratedCommandsMemoryRequirementsInfoNV;
12505 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
12506 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12507 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12508 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, deUint32 groupIndex);
12509 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12510 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
12512 #ifndef VK_NO_PROTOTYPES
12513 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
12515 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
12516 VkMemoryRequirements2* pMemoryRequirements);
12518 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
12519 VkCommandBuffer commandBuffer,
12520 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12522 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
12523 VkCommandBuffer commandBuffer,
12524 VkBool32 isPreprocessed,
12525 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12527 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
12528 VkCommandBuffer commandBuffer,
12529 VkPipelineBindPoint pipelineBindPoint,
12530 VkPipeline pipeline,
12531 deUint32 groupIndex);
12533 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
12535 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
12536 const VkAllocationCallbacks* pAllocator,
12537 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12539 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
12541 VkIndirectCommandsLayoutNV indirectCommandsLayout,
12542 const VkAllocationCallbacks* pAllocator);
12546 #define VK_NV_inherited_viewport_scissor 1
12547 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
12548 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
12549 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
12550 VkStructureType sType;
12552 VkBool32 inheritedViewportScissor2D;
12553 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
12555 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
12556 VkStructureType sType;
12558 VkBool32 viewportScissor2D;
12559 deUint32 viewportDepthCount;
12560 const VkViewport* pViewportDepths;
12561 } VkCommandBufferInheritanceViewportScissorInfoNV;
12565 #define VK_EXT_texel_buffer_alignment 1
12566 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
12567 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
12568 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
12569 VkStructureType sType;
12571 VkBool32 texelBufferAlignment;
12572 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
12574 typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
12575 VkStructureType sType;
12577 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
12578 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
12579 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
12580 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
12581 } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
12585 #define VK_QCOM_render_pass_transform 1
12586 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
12587 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
12588 typedef struct VkRenderPassTransformBeginInfoQCOM {
12589 VkStructureType sType;
12591 VkSurfaceTransformFlagBitsKHR transform;
12592 } VkRenderPassTransformBeginInfoQCOM;
12594 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
12595 VkStructureType sType;
12597 VkSurfaceTransformFlagBitsKHR transform;
12598 VkRect2D renderArea;
12599 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
12603 #define VK_EXT_device_memory_report 1
12604 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
12605 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
12607 typedef enum VkDeviceMemoryReportEventTypeEXT {
12608 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
12609 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
12610 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
12611 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
12612 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
12613 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
12614 } VkDeviceMemoryReportEventTypeEXT;
12615 typedef VkFlags VkDeviceMemoryReportFlagsEXT;
12616 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
12617 VkStructureType sType;
12619 VkBool32 deviceMemoryReport;
12620 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
12622 typedef struct VkDeviceMemoryReportCallbackDataEXT {
12623 VkStructureType sType;
12625 VkDeviceMemoryReportFlagsEXT flags;
12626 VkDeviceMemoryReportEventTypeEXT type;
12627 deUint64 memoryObjectId;
12629 VkObjectType objectType;
12630 deUint64 objectHandle;
12631 deUint32 heapIndex;
12632 } VkDeviceMemoryReportCallbackDataEXT;
12634 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
12635 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
12638 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
12639 VkStructureType sType;
12641 VkDeviceMemoryReportFlagsEXT flags;
12642 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
12644 } VkDeviceDeviceMemoryReportCreateInfoEXT;
12648 #define VK_EXT_robustness2 1
12649 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
12650 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
12651 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
12652 VkStructureType sType;
12654 VkBool32 robustBufferAccess2;
12655 VkBool32 robustImageAccess2;
12656 VkBool32 nullDescriptor;
12657 } VkPhysicalDeviceRobustness2FeaturesEXT;
12659 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
12660 VkStructureType sType;
12662 VkDeviceSize robustStorageBufferAccessSizeAlignment;
12663 VkDeviceSize robustUniformBufferAccessSizeAlignment;
12664 } VkPhysicalDeviceRobustness2PropertiesEXT;
12668 #define VK_EXT_custom_border_color 1
12669 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
12670 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
12671 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
12672 VkStructureType sType;
12674 VkClearColorValue customBorderColor;
12676 } VkSamplerCustomBorderColorCreateInfoEXT;
12678 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
12679 VkStructureType sType;
12681 deUint32 maxCustomBorderColorSamplers;
12682 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
12684 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
12685 VkStructureType sType;
12687 VkBool32 customBorderColors;
12688 VkBool32 customBorderColorWithoutFormat;
12689 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
12693 #define VK_GOOGLE_user_type 1
12694 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
12695 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
12698 #define VK_EXT_private_data 1
12699 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT)
12700 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
12701 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
12703 typedef enum VkPrivateDataSlotCreateFlagBitsEXT {
12704 VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12705 } VkPrivateDataSlotCreateFlagBitsEXT;
12706 typedef VkFlags VkPrivateDataSlotCreateFlagsEXT;
12707 typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
12708 VkStructureType sType;
12710 VkBool32 privateData;
12711 } VkPhysicalDevicePrivateDataFeaturesEXT;
12713 typedef struct VkDevicePrivateDataCreateInfoEXT {
12714 VkStructureType sType;
12716 deUint32 privateDataSlotRequestCount;
12717 } VkDevicePrivateDataCreateInfoEXT;
12719 typedef struct VkPrivateDataSlotCreateInfoEXT {
12720 VkStructureType sType;
12722 VkPrivateDataSlotCreateFlagsEXT flags;
12723 } VkPrivateDataSlotCreateInfoEXT;
12725 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot);
12726 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator);
12727 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64 data);
12728 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64* pData);
12730 #ifndef VK_NO_PROTOTYPES
12731 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
12733 const VkPrivateDataSlotCreateInfoEXT* pCreateInfo,
12734 const VkAllocationCallbacks* pAllocator,
12735 VkPrivateDataSlotEXT* pPrivateDataSlot);
12737 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
12739 VkPrivateDataSlotEXT privateDataSlot,
12740 const VkAllocationCallbacks* pAllocator);
12742 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
12744 VkObjectType objectType,
12745 deUint64 objectHandle,
12746 VkPrivateDataSlotEXT privateDataSlot,
12749 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
12751 VkObjectType objectType,
12752 deUint64 objectHandle,
12753 VkPrivateDataSlotEXT privateDataSlot,
12758 #define VK_EXT_pipeline_creation_cache_control 1
12759 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
12760 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
12761 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
12762 VkStructureType sType;
12764 VkBool32 pipelineCreationCacheControl;
12765 } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
12769 #define VK_NV_device_diagnostics_config 1
12770 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
12771 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
12773 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
12774 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
12775 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
12776 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
12777 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12778 } VkDeviceDiagnosticsConfigFlagBitsNV;
12779 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
12780 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
12781 VkStructureType sType;
12783 VkBool32 diagnosticsConfig;
12784 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
12786 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
12787 VkStructureType sType;
12789 VkDeviceDiagnosticsConfigFlagsNV flags;
12790 } VkDeviceDiagnosticsConfigCreateInfoNV;
12794 #define VK_QCOM_render_pass_store_ops 1
12795 #define VK_QCOM_render_pass_store_ops_SPEC_VERSION 2
12796 #define VK_QCOM_render_pass_store_ops_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
12799 #define VK_NV_fragment_shading_rate_enums 1
12800 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
12801 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
12803 typedef enum VkFragmentShadingRateTypeNV {
12804 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
12805 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
12806 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12807 } VkFragmentShadingRateTypeNV;
12809 typedef enum VkFragmentShadingRateNV {
12810 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
12811 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
12812 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
12813 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
12814 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
12815 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
12816 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
12817 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
12818 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
12819 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
12820 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
12821 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
12822 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
12823 } VkFragmentShadingRateNV;
12824 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
12825 VkStructureType sType;
12827 VkBool32 fragmentShadingRateEnums;
12828 VkBool32 supersampleFragmentShadingRates;
12829 VkBool32 noInvocationFragmentShadingRates;
12830 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
12832 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
12833 VkStructureType sType;
12835 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
12836 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
12838 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
12839 VkStructureType sType;
12841 VkFragmentShadingRateTypeNV shadingRateType;
12842 VkFragmentShadingRateNV shadingRate;
12843 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
12844 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
12846 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
12848 #ifndef VK_NO_PROTOTYPES
12849 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
12850 VkCommandBuffer commandBuffer,
12851 VkFragmentShadingRateNV shadingRate,
12852 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
12856 #define VK_EXT_ycbcr_2plane_444_formats 1
12857 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
12858 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
12859 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
12860 VkStructureType sType;
12862 VkBool32 ycbcr2plane444Formats;
12863 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
12867 #define VK_EXT_fragment_density_map2 1
12868 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
12869 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
12870 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
12871 VkStructureType sType;
12873 VkBool32 fragmentDensityMapDeferred;
12874 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
12876 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
12877 VkStructureType sType;
12879 VkBool32 subsampledLoads;
12880 VkBool32 subsampledCoarseReconstructionEarlyAccess;
12881 deUint32 maxSubsampledArrayLayers;
12882 deUint32 maxDescriptorSetSubsampledSamplers;
12883 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
12887 #define VK_QCOM_rotated_copy_commands 1
12888 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 0
12889 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
12890 typedef struct VkCopyCommandTransformInfoQCOM {
12891 VkStructureType sType;
12893 VkSurfaceTransformFlagBitsKHR transform;
12894 } VkCopyCommandTransformInfoQCOM;
12898 #define VK_EXT_image_robustness 1
12899 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
12900 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
12901 typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
12902 VkStructureType sType;
12904 VkBool32 robustImageAccess;
12905 } VkPhysicalDeviceImageRobustnessFeaturesEXT;
12909 #define VK_EXT_4444_formats 1
12910 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
12911 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
12912 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
12913 VkStructureType sType;
12915 VkBool32 formatA4R4G4B4;
12916 VkBool32 formatA4B4G4R4;
12917 } VkPhysicalDevice4444FormatsFeaturesEXT;
12921 #define VK_NV_acquire_winrt_display 1
12922 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
12923 #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
12924 typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
12925 typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, deUint32 deviceRelativeId, VkDisplayKHR* pDisplay);
12927 #ifndef VK_NO_PROTOTYPES
12928 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
12929 VkPhysicalDevice physicalDevice,
12930 VkDisplayKHR display);
12932 VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
12933 VkPhysicalDevice physicalDevice,
12934 deUint32 deviceRelativeId,
12935 VkDisplayKHR* pDisplay);
12939 #define VK_VALVE_mutable_descriptor_type 1
12940 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
12941 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
12942 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
12943 VkStructureType sType;
12945 VkBool32 mutableDescriptorType;
12946 } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
12948 typedef struct VkMutableDescriptorTypeListVALVE {
12949 deUint32 descriptorTypeCount;
12950 const VkDescriptorType* pDescriptorTypes;
12951 } VkMutableDescriptorTypeListVALVE;
12953 typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
12954 VkStructureType sType;
12956 deUint32 mutableDescriptorTypeListCount;
12957 const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
12958 } VkMutableDescriptorTypeCreateInfoVALVE;
12962 #define VK_EXT_vertex_input_dynamic_state 1
12963 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
12964 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
12965 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
12966 VkStructureType sType;
12968 VkBool32 vertexInputDynamicState;
12969 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
12971 typedef struct VkVertexInputBindingDescription2EXT {
12972 VkStructureType sType;
12976 VkVertexInputRate inputRate;
12978 } VkVertexInputBindingDescription2EXT;
12980 typedef struct VkVertexInputAttributeDescription2EXT {
12981 VkStructureType sType;
12987 } VkVertexInputAttributeDescription2EXT;
12989 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
12991 #ifndef VK_NO_PROTOTYPES
12992 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
12993 VkCommandBuffer commandBuffer,
12994 deUint32 vertexBindingDescriptionCount,
12995 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
12996 deUint32 vertexAttributeDescriptionCount,
12997 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
13001 #define VK_EXT_color_write_enable 1
13002 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
13003 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
13004 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
13005 VkStructureType sType;
13007 VkBool32 colorWriteEnable;
13008 } VkPhysicalDeviceColorWriteEnableFeaturesEXT;
13010 typedef struct VkPipelineColorWriteCreateInfoEXT {
13011 VkStructureType sType;
13013 deUint32 attachmentCount;
13014 const VkBool32* pColorWriteEnables;
13015 } VkPipelineColorWriteCreateInfoEXT;
13017 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables);
13019 #ifndef VK_NO_PROTOTYPES
13020 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
13021 VkCommandBuffer commandBuffer,
13022 deUint32 attachmentCount,
13023 const VkBool32* pColorWriteEnables);
13027 #define VK_KHR_acceleration_structure 1
13028 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
13029 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 11
13030 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
13032 typedef enum VkBuildAccelerationStructureModeKHR {
13033 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
13034 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
13035 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
13036 } VkBuildAccelerationStructureModeKHR;
13038 typedef enum VkAccelerationStructureBuildTypeKHR {
13039 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
13040 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
13041 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
13042 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
13043 } VkAccelerationStructureBuildTypeKHR;
13045 typedef enum VkAccelerationStructureCompatibilityKHR {
13046 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
13047 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
13048 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
13049 } VkAccelerationStructureCompatibilityKHR;
13051 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
13052 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
13053 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13054 } VkAccelerationStructureCreateFlagBitsKHR;
13055 typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
13056 typedef union VkDeviceOrHostAddressKHR {
13057 VkDeviceAddress deviceAddress;
13059 } VkDeviceOrHostAddressKHR;
13061 typedef union VkDeviceOrHostAddressConstKHR {
13062 VkDeviceAddress deviceAddress;
13063 const void* hostAddress;
13064 } VkDeviceOrHostAddressConstKHR;
13066 typedef struct VkAccelerationStructureBuildRangeInfoKHR {
13067 deUint32 primitiveCount;
13068 deUint32 primitiveOffset;
13069 deUint32 firstVertex;
13070 deUint32 transformOffset;
13071 } VkAccelerationStructureBuildRangeInfoKHR;
13073 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
13074 VkStructureType sType;
13076 VkFormat vertexFormat;
13077 VkDeviceOrHostAddressConstKHR vertexData;
13078 VkDeviceSize vertexStride;
13079 deUint32 maxVertex;
13080 VkIndexType indexType;
13081 VkDeviceOrHostAddressConstKHR indexData;
13082 VkDeviceOrHostAddressConstKHR transformData;
13083 } VkAccelerationStructureGeometryTrianglesDataKHR;
13085 typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
13086 VkStructureType sType;
13088 VkDeviceOrHostAddressConstKHR data;
13089 VkDeviceSize stride;
13090 } VkAccelerationStructureGeometryAabbsDataKHR;
13092 typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
13093 VkStructureType sType;
13095 VkBool32 arrayOfPointers;
13096 VkDeviceOrHostAddressConstKHR data;
13097 } VkAccelerationStructureGeometryInstancesDataKHR;
13099 typedef union VkAccelerationStructureGeometryDataKHR {
13100 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
13101 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
13102 VkAccelerationStructureGeometryInstancesDataKHR instances;
13103 } VkAccelerationStructureGeometryDataKHR;
13105 typedef struct VkAccelerationStructureGeometryKHR {
13106 VkStructureType sType;
13108 VkGeometryTypeKHR geometryType;
13109 VkAccelerationStructureGeometryDataKHR geometry;
13110 VkGeometryFlagsKHR flags;
13111 } VkAccelerationStructureGeometryKHR;
13113 typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
13114 VkStructureType sType;
13116 VkAccelerationStructureTypeKHR type;
13117 VkBuildAccelerationStructureFlagsKHR flags;
13118 VkBuildAccelerationStructureModeKHR mode;
13119 VkAccelerationStructureKHR srcAccelerationStructure;
13120 VkAccelerationStructureKHR dstAccelerationStructure;
13121 deUint32 geometryCount;
13122 const VkAccelerationStructureGeometryKHR* pGeometries;
13123 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
13124 VkDeviceOrHostAddressKHR scratchData;
13125 } VkAccelerationStructureBuildGeometryInfoKHR;
13127 typedef struct VkAccelerationStructureCreateInfoKHR {
13128 VkStructureType sType;
13130 VkAccelerationStructureCreateFlagsKHR createFlags;
13132 VkDeviceSize offset;
13134 VkAccelerationStructureTypeKHR type;
13135 VkDeviceAddress deviceAddress;
13136 } VkAccelerationStructureCreateInfoKHR;
13138 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
13139 VkStructureType sType;
13141 deUint32 accelerationStructureCount;
13142 const VkAccelerationStructureKHR* pAccelerationStructures;
13143 } VkWriteDescriptorSetAccelerationStructureKHR;
13145 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
13146 VkStructureType sType;
13148 VkBool32 accelerationStructure;
13149 VkBool32 accelerationStructureCaptureReplay;
13150 VkBool32 accelerationStructureIndirectBuild;
13151 VkBool32 accelerationStructureHostCommands;
13152 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
13153 } VkPhysicalDeviceAccelerationStructureFeaturesKHR;
13155 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
13156 VkStructureType sType;
13158 deUint64 maxGeometryCount;
13159 deUint64 maxInstanceCount;
13160 deUint64 maxPrimitiveCount;
13161 deUint32 maxPerStageDescriptorAccelerationStructures;
13162 deUint32 maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
13163 deUint32 maxDescriptorSetAccelerationStructures;
13164 deUint32 maxDescriptorSetUpdateAfterBindAccelerationStructures;
13165 deUint32 minAccelerationStructureScratchOffsetAlignment;
13166 } VkPhysicalDeviceAccelerationStructurePropertiesKHR;
13168 typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
13169 VkStructureType sType;
13171 VkAccelerationStructureKHR accelerationStructure;
13172 } VkAccelerationStructureDeviceAddressInfoKHR;
13174 typedef struct VkAccelerationStructureVersionInfoKHR {
13175 VkStructureType sType;
13177 const deUint8* pVersionData;
13178 } VkAccelerationStructureVersionInfoKHR;
13180 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
13181 VkStructureType sType;
13183 VkAccelerationStructureKHR src;
13184 VkDeviceOrHostAddressKHR dst;
13185 VkCopyAccelerationStructureModeKHR mode;
13186 } VkCopyAccelerationStructureToMemoryInfoKHR;
13188 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
13189 VkStructureType sType;
13191 VkDeviceOrHostAddressConstKHR src;
13192 VkAccelerationStructureKHR dst;
13193 VkCopyAccelerationStructureModeKHR mode;
13194 } VkCopyMemoryToAccelerationStructureInfoKHR;
13196 typedef struct VkCopyAccelerationStructureInfoKHR {
13197 VkStructureType sType;
13199 VkAccelerationStructureKHR src;
13200 VkAccelerationStructureKHR dst;
13201 VkCopyAccelerationStructureModeKHR mode;
13202 } VkCopyAccelerationStructureInfoKHR;
13204 typedef struct VkAccelerationStructureBuildSizesInfoKHR {
13205 VkStructureType sType;
13207 VkDeviceSize accelerationStructureSize;
13208 VkDeviceSize updateScratchSize;
13209 VkDeviceSize buildScratchSize;
13210 } VkAccelerationStructureBuildSizesInfoKHR;
13212 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
13213 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
13214 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13215 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const deUint32* pIndirectStrides, const deUint32* const* ppMaxPrimitiveCounts);
13216 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13217 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
13218 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13219 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13220 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, deUintptr dataSize, void* pData, deUintptr stride);
13221 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
13222 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13223 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13224 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
13225 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
13226 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
13227 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const deUint32* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
13229 #ifndef VK_NO_PROTOTYPES
13230 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
13232 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
13233 const VkAllocationCallbacks* pAllocator,
13234 VkAccelerationStructureKHR* pAccelerationStructure);
13236 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
13238 VkAccelerationStructureKHR accelerationStructure,
13239 const VkAllocationCallbacks* pAllocator);
13241 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
13242 VkCommandBuffer commandBuffer,
13243 deUint32 infoCount,
13244 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13245 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13247 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
13248 VkCommandBuffer commandBuffer,
13249 deUint32 infoCount,
13250 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13251 const VkDeviceAddress* pIndirectDeviceAddresses,
13252 const deUint32* pIndirectStrides,
13253 const deUint32* const* ppMaxPrimitiveCounts);
13255 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
13257 VkDeferredOperationKHR deferredOperation,
13258 deUint32 infoCount,
13259 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13260 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13262 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
13264 VkDeferredOperationKHR deferredOperation,
13265 const VkCopyAccelerationStructureInfoKHR* pInfo);
13267 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
13269 VkDeferredOperationKHR deferredOperation,
13270 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13272 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
13274 VkDeferredOperationKHR deferredOperation,
13275 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13277 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
13279 deUint32 accelerationStructureCount,
13280 const VkAccelerationStructureKHR* pAccelerationStructures,
13281 VkQueryType queryType,
13282 deUintptr dataSize,
13286 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
13287 VkCommandBuffer commandBuffer,
13288 const VkCopyAccelerationStructureInfoKHR* pInfo);
13290 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
13291 VkCommandBuffer commandBuffer,
13292 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13294 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
13295 VkCommandBuffer commandBuffer,
13296 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13298 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
13300 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
13302 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
13303 VkCommandBuffer commandBuffer,
13304 deUint32 accelerationStructureCount,
13305 const VkAccelerationStructureKHR* pAccelerationStructures,
13306 VkQueryType queryType,
13307 VkQueryPool queryPool,
13308 deUint32 firstQuery);
13310 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
13312 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
13313 VkAccelerationStructureCompatibilityKHR* pCompatibility);
13315 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
13317 VkAccelerationStructureBuildTypeKHR buildType,
13318 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
13319 const deUint32* pMaxPrimitiveCounts,
13320 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
13324 #define VK_KHR_ray_tracing_pipeline 1
13325 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
13326 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
13328 typedef enum VkShaderGroupShaderKHR {
13329 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
13330 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
13331 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
13332 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
13333 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
13334 } VkShaderGroupShaderKHR;
13335 typedef struct VkRayTracingShaderGroupCreateInfoKHR {
13336 VkStructureType sType;
13338 VkRayTracingShaderGroupTypeKHR type;
13339 deUint32 generalShader;
13340 deUint32 closestHitShader;
13341 deUint32 anyHitShader;
13342 deUint32 intersectionShader;
13343 const void* pShaderGroupCaptureReplayHandle;
13344 } VkRayTracingShaderGroupCreateInfoKHR;
13346 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
13347 VkStructureType sType;
13349 deUint32 maxPipelineRayPayloadSize;
13350 deUint32 maxPipelineRayHitAttributeSize;
13351 } VkRayTracingPipelineInterfaceCreateInfoKHR;
13353 typedef struct VkRayTracingPipelineCreateInfoKHR {
13354 VkStructureType sType;
13356 VkPipelineCreateFlags flags;
13357 deUint32 stageCount;
13358 const VkPipelineShaderStageCreateInfo* pStages;
13359 deUint32 groupCount;
13360 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
13361 deUint32 maxPipelineRayRecursionDepth;
13362 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
13363 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
13364 const VkPipelineDynamicStateCreateInfo* pDynamicState;
13365 VkPipelineLayout layout;
13366 VkPipeline basePipelineHandle;
13367 deInt32 basePipelineIndex;
13368 } VkRayTracingPipelineCreateInfoKHR;
13370 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
13371 VkStructureType sType;
13373 VkBool32 rayTracingPipeline;
13374 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
13375 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
13376 VkBool32 rayTracingPipelineTraceRaysIndirect;
13377 VkBool32 rayTraversalPrimitiveCulling;
13378 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
13380 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
13381 VkStructureType sType;
13383 deUint32 shaderGroupHandleSize;
13384 deUint32 maxRayRecursionDepth;
13385 deUint32 maxShaderGroupStride;
13386 deUint32 shaderGroupBaseAlignment;
13387 deUint32 shaderGroupHandleCaptureReplaySize;
13388 deUint32 maxRayDispatchInvocationCount;
13389 deUint32 shaderGroupHandleAlignment;
13390 deUint32 maxRayHitAttributeSize;
13391 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
13393 typedef struct VkStridedDeviceAddressRegionKHR {
13394 VkDeviceAddress deviceAddress;
13395 VkDeviceSize stride;
13397 } VkStridedDeviceAddressRegionKHR;
13399 typedef struct VkTraceRaysIndirectCommandKHR {
13403 } VkTraceRaysIndirectCommandKHR;
13405 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);
13406 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
13407 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
13408 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
13409 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, deUint32 group, VkShaderGroupShaderKHR groupShader);
13410 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, deUint32 pipelineStackSize);
13412 #ifndef VK_NO_PROTOTYPES
13413 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
13414 VkCommandBuffer commandBuffer,
13415 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
13416 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
13417 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
13418 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
13423 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
13425 VkDeferredOperationKHR deferredOperation,
13426 VkPipelineCache pipelineCache,
13427 deUint32 createInfoCount,
13428 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
13429 const VkAllocationCallbacks* pAllocator,
13430 VkPipeline* pPipelines);
13432 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
13434 VkPipeline pipeline,
13435 deUint32 firstGroup,
13436 deUint32 groupCount,
13437 deUintptr dataSize,
13440 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
13441 VkCommandBuffer commandBuffer,
13442 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
13443 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
13444 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
13445 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
13446 VkDeviceAddress indirectDeviceAddress);
13448 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
13450 VkPipeline pipeline,
13452 VkShaderGroupShaderKHR groupShader);
13454 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
13455 VkCommandBuffer commandBuffer,
13456 deUint32 pipelineStackSize);
13460 #define VK_KHR_ray_query 1
13461 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
13462 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
13463 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
13464 VkStructureType sType;
13467 } VkPhysicalDeviceRayQueryFeaturesKHR;