1 /* WARNING: This is auto-generated file. Do not modify, since changes will
2 * be lost! Modify the generating script instead.
5 ** Copyright (c) 2019-2021 The Khronos Group Inc.
7 ** SPDX-License-Identifier: Apache-2.0
10 #ifndef VULKAN_VIDEO_CODEC_COMMON_H_
11 #define VULKAN_VIDEO_CODEC_COMMON_H_ 1
17 #define VK_MAKE_VIDEO_STD_VERSION(major, minor, patch) \
18 ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
24 #endif // VULKAN_VIDEO_CODEC_COMMON_H_
26 ** Copyright (c) 2019-2021 The Khronos Group Inc.
28 ** SPDX-License-Identifier: Apache-2.0
31 #ifndef VULKAN_VIDEO_CODEC_H264STD_H_
32 #define VULKAN_VIDEO_CODEC_H264STD_H_ 1
40 // Vulkan 0.9 provisional Vulkan video H.264 encode and decode std specification version number
41 #define VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9 VK_MAKE_VIDEO_STD_VERSION(0, 9, 0) // Patch version should always be set to 0
43 // Format must be in the form XX.XX where the first two digits are the major and the second two, the minor.
44 #define VK_STD_VULKAN_VIDEO_CODEC_H264_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9
45 #define VK_STD_VULKAN_VIDEO_CODEC_H264_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264"
47 // *************************************************
48 // Video H.264 common definitions:
49 // *************************************************
51 typedef enum StdVideoH264ChromaFormatIdc {
52 std_video_h264_chroma_format_idc_monochrome = 0,
53 std_video_h264_chroma_format_idc_420 = 1,
54 std_video_h264_chroma_format_idc_422 = 2,
55 std_video_h264_chroma_format_idc_444 = 3,
56 } StdVideoH264ChromaFormatIdc;
58 typedef enum StdVideoH264ProfileIdc {
59 std_video_h264_profile_idc_baseline = 66, /* Only constrained baseline is supported */
60 std_video_h264_profile_idc_main = 77,
61 std_video_h264_profile_idc_high = 100,
62 std_video_h264_profile_idc_high_444_predictive = 244,
63 std_video_h264_profile_idc_invalid = 0x7FFFFFFF
64 } StdVideoH264ProfileIdc;
66 typedef enum StdVideoH264Level {
67 std_video_h264_level_1_0 = 0,
68 std_video_h264_level_1_1 = 1,
69 std_video_h264_level_1_2 = 2,
70 std_video_h264_level_1_3 = 3,
71 std_video_h264_level_2_0 = 4,
72 std_video_h264_level_2_1 = 5,
73 std_video_h264_level_2_2 = 6,
74 std_video_h264_level_3_0 = 7,
75 std_video_h264_level_3_1 = 8,
76 std_video_h264_level_3_2 = 9,
77 std_video_h264_level_4_0 = 10,
78 std_video_h264_level_4_1 = 11,
79 std_video_h264_level_4_2 = 12,
80 std_video_h264_level_5_0 = 13,
81 std_video_h264_level_5_1 = 14,
82 std_video_h264_level_5_2 = 15,
83 std_video_h264_level_6_0 = 16,
84 std_video_h264_level_6_1 = 17,
85 std_video_h264_level_6_2 = 18,
86 std_video_h264_level_invalid = 0x7FFFFFFF
89 typedef enum StdVideoH264PocType {
90 std_video_h264_poc_type_0 = 0,
91 std_video_h264_poc_type_1 = 1,
92 std_video_h264_poc_type_2 = 2,
93 std_video_h264_poc_type_invalid = 0x7FFFFFFF
94 } StdVideoH264PocType;
96 typedef enum StdVideoH264AspectRatioIdc {
97 std_video_h264_aspect_ratio_idc_unspecified = 0,
98 std_video_h264_aspect_ratio_idc_square = 1,
99 std_video_h264_aspect_ratio_idc_12_11 = 2,
100 std_video_h264_aspect_ratio_idc_10_11 = 3,
101 std_video_h264_aspect_ratio_idc_16_11 = 4,
102 std_video_h264_aspect_ratio_idc_40_33 = 5,
103 std_video_h264_aspect_ratio_idc_24_11 = 6,
104 std_video_h264_aspect_ratio_idc_20_11 = 7,
105 std_video_h264_aspect_ratio_idc_32_11 = 8,
106 std_video_h264_aspect_ratio_idc_80_33 = 9,
107 std_video_h264_aspect_ratio_idc_18_11 = 10,
108 std_video_h264_aspect_ratio_idc_15_11 = 11,
109 std_video_h264_aspect_ratio_idc_64_33 = 12,
110 std_video_h264_aspect_ratio_idc_160_99 = 13,
111 std_video_h264_aspect_ratio_idc_4_3 = 14,
112 std_video_h264_aspect_ratio_idc_3_2 = 15,
113 std_video_h264_aspect_ratio_idc_2_1 = 16,
114 std_video_h264_aspect_ratio_idc_extended_sar = 255,
115 std_video_h264_aspect_ratio_idc_invalid = 0x7FFFFFFF
116 } StdVideoH264AspectRatioIdc;
118 typedef enum StdVideoH264WeightedBiPredIdc {
119 std_video_h264_default_weighted_b_slices_prediction_idc = 0,
120 std_video_h264_explicit_weighted_b_slices_prediction_idc = 1,
121 std_video_h264_implicit_weighted_b_slices_prediction_idc = 2,
122 std_video_h264_invalid_weighted_b_slices_prediction_idc = 0x7FFFFFFF
123 } StdVideoH264WeightedBiPredIdc;
125 typedef enum StdVideoH264ModificationOfPicNumsIdc {
126 std_video_h264_modification_of_pic_nums_idc_short_term_subtract = 0,
127 std_video_h264_modification_of_pic_nums_idc_short_term_add = 1,
128 std_video_h264_modification_of_pic_nums_idc_long_term = 2,
129 std_video_h264_modification_of_pic_nums_idc_end = 3,
130 std_video_h264_modification_of_pic_nums_idc_invalid = 0x7FFFFFFF
131 } StdVideoH264ModificationOfPicNumsIdc;
133 typedef enum StdVideoH264MemMgmtControlOp {
134 std_video_h264_mem_mgmt_control_op_end = 0,
135 std_video_h264_mem_mgmt_control_op_unmark_short_term = 1,
136 std_video_h264_mem_mgmt_control_op_unmark_long_term = 2,
137 std_video_h264_mem_mgmt_control_op_mark_long_term = 3,
138 std_video_h264_mem_mgmt_control_op_set_max_long_term_index = 4,
139 std_video_h264_mem_mgmt_control_op_unmark_all = 5,
140 std_video_h264_mem_mgmt_control_op_mark_current_as_long_term = 6,
141 std_video_h264_mem_mgmt_control_op_invalid = 0x7FFFFFFF
142 } StdVideoH264MemMgmtControlOp;
144 typedef enum StdVideoH264CabacInitIdc {
145 std_video_h264_cabac_init_idc_0 = 0,
146 std_video_h264_cabac_init_idc_1 = 1,
147 std_video_h264_cabac_init_idc_2 = 2,
148 std_video_h264_cabac_init_idc_invalid = 0x7FFFFFFF
149 } StdVideoH264CabacInitIdc;
151 typedef enum StdVideoH264DisableDeblockingFilterIdc {
152 std_video_h264_disable_deblocking_filter_idc_disabled = 0,
153 std_video_h264_disable_deblocking_filter_idc_enabled = 1,
154 std_video_h264_disable_deblocking_filter_idc_partial = 2,
155 std_video_h264_disable_deblocking_filter_idc_invalid = 0x7FFFFFFF
156 } StdVideoH264DisableDeblockingFilterIdc;
158 typedef enum StdVideoH264PictureType {
159 std_video_h264_picture_type_i = 0,
160 std_video_h264_picture_type_p = 1,
161 std_video_h264_picture_type_b = 2,
162 std_video_h264_picture_type_invalid = 0x7FFFFFFF
163 } StdVideoH264PictureType;
165 typedef enum StdVideoH264SliceType {
166 std_video_h264_slice_type_i = 0,
167 std_video_h264_slice_type_p = 1,
168 std_video_h264_slice_type_b = 2,
169 std_video_h264_slice_type_invalid = 0x7FFFFFFF
170 } StdVideoH264SliceType;
172 typedef enum StdVideoH264NonVclNaluType {
173 std_video_h264_non_vcl_nalu_type_sps = 0,
174 std_video_h264_non_vcl_nalu_type_pps = 1,
175 std_video_h264_non_vcl_nalu_type_aud = 2,
176 std_video_h264_non_vcl_nalu_type_prefix = 3,
177 std_video_h264_non_vcl_nalu_type_end_of_sequence = 4,
178 std_video_h264_non_vcl_nalu_type_end_of_stream = 5,
179 std_video_h264_non_vcl_nalu_type_precoded = 6,
180 std_video_h264_non_vcl_nalu_type_invalid = 0x7FFFFFFF
181 } StdVideoH264NonVclNaluType;
183 typedef struct StdVideoH264SpsVuiFlags {
184 deUint32 aspect_ratio_info_present_flag:1;
185 deUint32 overscan_info_present_flag:1;
186 deUint32 overscan_appropriate_flag:1;
187 deUint32 video_signal_type_present_flag:1;
188 deUint32 video_full_range_flag:1;
189 deUint32 color_description_present_flag:1;
190 deUint32 chroma_loc_info_present_flag:1;
191 deUint32 timing_info_present_flag:1;
192 deUint32 fixed_frame_rate_flag:1;
193 deUint32 bitstream_restriction_flag:1;
194 deUint32 nal_hrd_parameters_present_flag:1;
195 deUint32 vcl_hrd_parameters_present_flag:1;
196 } StdVideoH264SpsVuiFlags;
198 typedef struct StdVideoH264HrdParameters {
199 deUint8 cpb_cnt_minus1;
200 deUint8 bit_rate_scale;
201 deUint8 cpb_size_scale;
202 deUint32 bit_rate_value_minus1[32];
203 deUint32 cpb_size_value_minus1[32];
204 deUint8 cbr_flag[32];
205 deUint32 initial_cpb_removal_delay_length_minus1;
206 deUint32 cpb_removal_delay_length_minus1;
207 deUint32 dpb_output_delay_length_minus1;
208 deUint32 time_offset_length;
209 } StdVideoH264HrdParameters;
211 typedef struct StdVideoH264SequenceParameterSetVui {
212 StdVideoH264AspectRatioIdc aspect_ratio_idc;
215 deUint8 video_format;
216 deUint8 color_primaries;
217 deUint8 transfer_characteristics;
218 deUint8 matrix_coefficients;
219 deUint32 num_units_in_tick;
221 StdVideoH264HrdParameters hrd_parameters;
222 deUint8 num_reorder_frames;
223 deUint8 max_dec_frame_buffering;
224 StdVideoH264SpsVuiFlags flags;
225 } StdVideoH264SequenceParameterSetVui;
227 typedef struct StdVideoH264SpsFlags {
228 deUint32 constraint_set0_flag:1;
229 deUint32 constraint_set1_flag:1;
230 deUint32 constraint_set2_flag:1;
231 deUint32 constraint_set3_flag:1;
232 deUint32 constraint_set4_flag:1;
233 deUint32 constraint_set5_flag:1;
234 deUint32 direct_8x8_inference_flag:1;
235 deUint32 mb_adaptive_frame_field_flag:1;
236 deUint32 frame_mbs_only_flag:1;
237 deUint32 delta_pic_order_always_zero_flag:1;
238 deUint32 residual_colour_transform_flag:1;
239 deUint32 gaps_in_frame_num_value_allowed_flag:1;
240 deUint32 first_picture_after_seek_flag:1; // where is this being documented?
241 deUint32 qpprime_y_zero_transform_bypass_flag:1;
242 deUint32 frame_cropping_flag:1;
243 deUint32 scaling_matrix_present_flag:1;
244 deUint32 vui_parameters_present_flag:1;
245 } StdVideoH264SpsFlags;
247 typedef struct StdVideoH264ScalingLists
249 // scaling_list_present_mask has one bit for each
250 // seq_scaling_list_present_flag[i] for SPS OR
251 // pic_scaling_list_present_flag[i] for PPS,
252 // bit 0 - 5 are for each entry of ScalingList4x4
253 // bit 6 - 7 are for each entry plus 6 for ScalingList8x8
254 deUint8 scaling_list_present_mask;
255 // use_default_scaling_matrix_mask has one bit for each
256 // UseDefaultScalingMatrix4x4Flag[ i ] and
257 // UseDefaultScalingMatrix8x8Flag[ i - 6 ] for SPS OR PPS
258 // bit 0 - 5 are for each entry of ScalingList4x4
259 // bit 6 - 7 are for each entry plus 6 for ScalingList8x8
260 deUint8 use_default_scaling_matrix_mask;
261 deUint8 ScalingList4x4[6][16];
262 deUint8 ScalingList8x8[2][64];
263 } StdVideoH264ScalingLists;
265 typedef struct StdVideoH264SequenceParameterSet
267 StdVideoH264ProfileIdc profile_idc;
268 StdVideoH264Level level_idc;
269 deUint8 seq_parameter_set_id;
270 StdVideoH264ChromaFormatIdc chroma_format_idc;
271 deUint8 bit_depth_luma_minus8;
272 deUint8 bit_depth_chroma_minus8;
273 deUint8 log2_max_frame_num_minus4;
274 StdVideoH264PocType pic_order_cnt_type;
275 deUint8 log2_max_pic_order_cnt_lsb_minus4;
276 deInt32 offset_for_non_ref_pic;
277 deInt32 offset_for_top_to_bottom_field;
278 deUint8 num_ref_frames_in_pic_order_cnt_cycle;
279 deUint8 max_num_ref_frames;
280 deUint32 pic_width_in_mbs_minus1;
281 deUint32 pic_height_in_map_units_minus1;
282 deUint32 frame_crop_left_offset;
283 deUint32 frame_crop_right_offset;
284 deUint32 frame_crop_top_offset;
285 deUint32 frame_crop_bottom_offset;
286 StdVideoH264SpsFlags flags;
287 deInt32 offset_for_ref_frame[255]; // The number of valid values are defined by the num_ref_frames_in_pic_order_cnt_cycle
288 StdVideoH264ScalingLists* pScalingLists; // Must be a valid pointer if scaling_matrix_present_flag is set
289 StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui; // Must be a valid pointer if StdVideoH264SpsFlags:vui_parameters_present_flag is set
290 } StdVideoH264SequenceParameterSet;
292 typedef struct StdVideoH264PpsFlags {
293 deUint32 transform_8x8_mode_flag:1;
294 deUint32 redundant_pic_cnt_present_flag:1;
295 deUint32 constrained_intra_pred_flag:1;
296 deUint32 deblocking_filter_control_present_flag:1;
297 deUint32 weighted_bipred_idc_flag:1;
298 deUint32 weighted_pred_flag:1;
299 deUint32 pic_order_present_flag:1;
300 deUint32 entropy_coding_mode_flag:1;
301 deUint32 scaling_matrix_present_flag:1;
302 } StdVideoH264PpsFlags;
304 typedef struct StdVideoH264PictureParameterSet
306 deUint8 seq_parameter_set_id;
307 deUint8 pic_parameter_set_id;
308 deUint8 num_ref_idx_l0_default_active_minus1;
309 deUint8 num_ref_idx_l1_default_active_minus1;
310 StdVideoH264WeightedBiPredIdc weighted_bipred_idc;
311 deInt8 pic_init_qp_minus26;
312 deInt8 pic_init_qs_minus26;
313 deInt8 chroma_qp_index_offset;
314 deInt8 second_chroma_qp_index_offset;
315 StdVideoH264PpsFlags flags;
316 StdVideoH264ScalingLists* pScalingLists; // Must be a valid pointer if StdVideoH264PpsFlags::scaling_matrix_present_flag is set.
317 } StdVideoH264PictureParameterSet;
323 #endif // VULKAN_VIDEO_CODEC_H264STD_H_
325 ** Copyright (c) 2019-2021 The Khronos Group Inc.
327 ** SPDX-License-Identifier: Apache-2.0
330 #ifndef VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_
331 #define VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ 1
339 // *************************************************
340 // Video H.264 Encode related parameters:
341 // *************************************************
343 typedef struct StdVideoEncodeH264SliceHeaderFlags {
345 deUint32 is_reference_flag:1;
346 deUint32 num_ref_idx_active_override_flag:1;
347 deUint32 no_output_of_prior_pics_flag:1;
348 deUint32 long_term_reference_flag:1;
349 deUint32 adaptive_ref_pic_marking_mode_flag:1;
350 deUint32 no_prior_references_available_flag:1;
351 } StdVideoEncodeH264SliceHeaderFlags;
353 typedef struct StdVideoEncodeH264PictureInfoFlags {
355 deUint32 is_reference_flag:1;
356 deUint32 long_term_reference_flag:1;
357 } StdVideoEncodeH264PictureInfoFlags;
359 typedef struct StdVideoEncodeH264RefMgmtFlags {
360 deUint32 ref_pic_list_modification_l0_flag:1;
361 deUint32 ref_pic_list_modification_l1_flag:1;
362 } StdVideoEncodeH264RefMgmtFlags;
364 typedef struct StdVideoEncodeH264RefListModEntry {
365 StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc;
366 deUint16 abs_diff_pic_num_minus1;
367 deUint16 long_term_pic_num;
368 } StdVideoEncodeH264RefListModEntry;
370 typedef struct StdVideoEncodeH264RefPicMarkingEntry {
371 StdVideoH264MemMgmtControlOp operation;
372 deUint16 difference_of_pic_nums_minus1;
373 deUint16 long_term_pic_num;
374 deUint16 long_term_frame_idx;
375 deUint16 max_long_term_frame_idx_plus1;
376 } StdVideoEncodeH264RefPicMarkingEntry;
378 typedef struct StdVideoEncodeH264RefMemMgmtCtrlOperations {
379 StdVideoEncodeH264RefMgmtFlags flags;
380 deUint8 refList0ModOpCount;
381 StdVideoEncodeH264RefListModEntry* pRefList0ModOperations;
382 deUint8 refList1ModOpCount;
383 StdVideoEncodeH264RefListModEntry* pRefList1ModOperations;
384 deUint8 refPicMarkingOpCount;
385 StdVideoEncodeH264RefPicMarkingEntry* pRefPicMarkingOperations;
386 } StdVideoEncodeH264RefMemMgmtCtrlOperations;
388 typedef struct StdVideoEncodeH264PictureInfo {
389 StdVideoEncodeH264PictureInfoFlags flags;
390 StdVideoH264PictureType pictureType;
392 deUint32 pictureOrderCount;
393 deUint16 long_term_pic_num;
394 deUint16 long_term_frame_idx;
395 } StdVideoEncodeH264PictureInfo;
397 typedef struct StdVideoEncodeH264SliceHeader {
398 StdVideoEncodeH264SliceHeaderFlags flags;
399 StdVideoH264SliceType slice_type;
400 deUint8 seq_parameter_set_id;
401 deUint8 pic_parameter_set_id;
403 deUint8 num_ref_idx_l0_active_minus1;
404 deUint8 num_ref_idx_l1_active_minus1;
405 StdVideoH264CabacInitIdc cabac_init_idc;
406 StdVideoH264DisableDeblockingFilterIdc disable_deblocking_filter_idc;
407 deInt8 slice_alpha_c0_offset_div2;
408 deInt8 slice_beta_offset_div2;
409 StdVideoEncodeH264RefMemMgmtCtrlOperations* pMemMgmtCtrlOperations;
410 } StdVideoEncodeH264SliceHeader;
417 #endif // VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_
419 ** Copyright (c) 2019-2021 The Khronos Group Inc.
421 ** SPDX-License-Identifier: Apache-2.0
424 #ifndef VULKAN_VIDEO_CODEC_H265STD_H_
425 #define VULKAN_VIDEO_CODEC_H265STD_H_ 1
433 // Vulkan 0.5 version number WIP
434 #define VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_5 VK_MAKE_VIDEO_STD_VERSION(0, 5, 0) // Patch version should always be set to 0
436 // Format must be in the form XX.XX where the first two digits are the major and the second two, the minor.
437 #define VK_STD_VULKAN_VIDEO_CODEC_H265_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_5
438 #define VK_STD_VULKAN_VIDEO_CODEC_H265_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265"
440 typedef enum StdVideoH265ChromaFormatIdc {
441 std_video_h265_chroma_format_idc_monochrome = 0,
442 std_video_h265_chroma_format_idc_420 = 1,
443 std_video_h265_chroma_format_idc_422 = 2,
444 std_video_h265_chroma_format_idc_444 = 3,
445 } StdVideoH265ChromaFormatIdc;
447 typedef enum StdVideoH265ProfileIdc {
448 std_video_h265_profile_idc_main = 1,
449 std_video_h265_profile_idc_main_10 = 2,
450 std_video_h265_profile_idc_main_still_picture = 3,
451 std_video_h265_profile_idc_format_range_extensions = 4,
452 std_video_h265_profile_idc_scc_extensions = 9,
453 std_video_h265_profile_idc_invalid = 0x7FFFFFFF
454 } StdVideoH265ProfileIdc;
456 typedef enum StdVideoH265Level {
457 std_video_h265_level_1_0 = 0,
458 std_video_h265_level_2_0 = 1,
459 std_video_h265_level_2_1 = 2,
460 std_video_h265_level_3_0 = 3,
461 std_video_h265_level_3_1 = 4,
462 std_video_h265_level_4_0 = 5,
463 std_video_h265_level_4_1 = 6,
464 std_video_h265_level_5_0 = 7,
465 std_video_h265_level_5_1 = 8,
466 std_video_h265_level_5_2 = 9,
467 std_video_h265_level_6_0 = 10,
468 std_video_h265_level_6_1 = 11,
469 std_video_h265_level_6_2 = 12,
470 std_video_h265_level_invalid = 0x7FFFFFFF
474 typedef struct StdVideoH265DecPicBufMgr
476 deUint32 max_latency_increase_plus1[7];
477 deUint8 max_dec_pic_buffering_minus1[7];
478 deUint8 max_num_reorder_pics[7];
479 } StdVideoH265DecPicBufMgr;
481 typedef struct StdVideoH265SubLayerHrdParameters {
482 deUint32 bit_rate_value_minus1[32];
483 deUint32 cpb_size_value_minus1[32];
484 deUint32 cpb_size_du_value_minus1[32];
485 deUint32 bit_rate_du_value_minus1[32];
486 deUint32 cbr_flag; // each bit represents a range of CpbCounts (bit 0 - cpb_cnt_minus1) per sub-layer
487 } StdVideoH265SubLayerHrdParameters;
489 typedef struct StdVideoH265HrdFlags {
490 deUint32 nal_hrd_parameters_present_flag : 1;
491 deUint32 vcl_hrd_parameters_present_flag : 1;
492 deUint32 sub_pic_hrd_params_present_flag : 1;
493 deUint32 sub_pic_cpb_params_in_pic_timing_sei_flag : 1;
494 deUint8 fixed_pic_rate_general_flag; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1
495 deUint8 fixed_pic_rate_within_cvs_flag; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1
496 deUint8 low_delay_hrd_flag; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1
497 } StdVideoH265HrdFlags;
499 typedef struct StdVideoH265HrdParameters {
500 deUint8 tick_divisor_minus2;
501 deUint8 du_cpb_removal_delay_increment_length_minus1;
502 deUint8 dpb_output_delay_du_length_minus1;
503 deUint8 bit_rate_scale;
504 deUint8 cpb_size_scale;
505 deUint8 cpb_size_du_scale;
506 deUint8 initial_cpb_removal_delay_length_minus1;
507 deUint8 au_cpb_removal_delay_length_minus1;
508 deUint8 dpb_output_delay_length_minus1;
509 deUint8 cpb_cnt_minus1[7];
510 deUint16 elemental_duration_in_tc_minus1[7];
511 StdVideoH265SubLayerHrdParameters* SubLayerHrdParametersNal[7];
512 StdVideoH265SubLayerHrdParameters* SubLayerHrdParametersVcl[7];
513 StdVideoH265HrdFlags flags;
514 } StdVideoH265HrdParameters;
516 typedef struct StdVideoH265VpsFlags {
517 deUint32 vps_temporal_id_nesting_flag : 1;
518 deUint32 vps_sub_layer_ordering_info_present_flag : 1;
519 deUint32 vps_timing_info_present_flag : 1;
520 deUint32 vps_poc_proportional_to_timing_flag : 1;
521 } StdVideoH265VpsFlags;
523 typedef struct StdVideoH265VideoParameterSet
525 deUint8 vps_video_parameter_set_id;
526 deUint8 vps_max_sub_layers_minus1;
527 deUint32 vps_num_units_in_tick;
528 deUint32 vps_time_scale;
529 deUint32 vps_num_ticks_poc_diff_one_minus1;
530 StdVideoH265DecPicBufMgr* pDecPicBufMgr;
531 StdVideoH265HrdParameters* hrd_parameters;
532 StdVideoH265VpsFlags flags;
533 } StdVideoH265VideoParameterSet;
535 typedef struct StdVideoH265ScalingLists
537 deUint8 ScalingList4x4[6][16]; // ScalingList[ 0 ][ MatrixID ][ i ] (sizeID = 0)
538 deUint8 ScalingList8x8[6][64]; // ScalingList[ 1 ][ MatrixID ][ i ] (sizeID = 1)
539 deUint8 ScalingList16x16[6][64]; // ScalingList[ 2 ][ MatrixID ][ i ] (sizeID = 2)
540 deUint8 ScalingList32x32[2][64]; // ScalingList[ 3 ][ MatrixID ][ i ] (sizeID = 3)
541 deUint8 ScalingListDCCoef16x16[6]; // scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8, sizeID = 2
542 deUint8 ScalingListDCCoef32x32[2]; // scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8. sizeID = 3
543 } StdVideoH265ScalingLists;
545 typedef struct StdVideoH265SpsVuiFlags {
546 deUint32 aspect_ratio_info_present_flag : 1;
547 deUint32 overscan_info_present_flag : 1;
548 deUint32 overscan_appropriate_flag : 1;
549 deUint32 video_signal_type_present_flag : 1;
550 deUint32 video_full_range_flag : 1;
551 deUint32 colour_description_present_flag : 1;
552 deUint32 chroma_loc_info_present_flag : 1;
553 deUint32 neutral_chroma_indication_flag : 1;
554 deUint32 field_seq_flag : 1;
555 deUint32 frame_field_info_present_flag : 1;
556 deUint32 default_display_window_flag : 1;
557 deUint32 vui_timing_info_present_flag : 1;
558 deUint32 vui_poc_proportional_to_timing_flag : 1;
559 deUint32 vui_hrd_parameters_present_flag : 1;
560 deUint32 bitstream_restriction_flag : 1;
561 deUint32 tiles_fixed_structure_flag : 1;
562 deUint32 motion_vectors_over_pic_boundaries_flag : 1;
563 deUint32 restricted_ref_pic_lists_flag : 1;
564 } StdVideoH265SpsVuiFlags;
566 typedef struct StdVideoH265SequenceParameterSetVui {
567 deUint8 aspect_ratio_idc;
570 deUint8 video_format;
571 deUint8 colour_primaries;
572 deUint8 transfer_characteristics;
573 deUint8 matrix_coeffs;
574 deUint8 chroma_sample_loc_type_top_field;
575 deUint8 chroma_sample_loc_type_bottom_field;
576 deUint16 def_disp_win_left_offset;
577 deUint16 def_disp_win_right_offset;
578 deUint16 def_disp_win_top_offset;
579 deUint16 def_disp_win_bottom_offset;
580 deUint32 vui_num_units_in_tick;
581 deUint32 vui_time_scale;
582 deUint32 vui_num_ticks_poc_diff_one_minus1;
583 StdVideoH265HrdParameters* hrd_parameters;
584 deUint16 min_spatial_segmentation_idc;
585 deUint8 max_bytes_per_pic_denom;
586 deUint8 max_bits_per_min_cu_denom;
587 deUint8 log2_max_mv_length_horizontal;
588 deUint8 log2_max_mv_length_vertical;
589 StdVideoH265SpsVuiFlags flags;
590 } StdVideoH265SequenceParameterSetVui;
592 typedef struct StdVideoH265PredictorPaletteEntries
594 deUint16 PredictorPaletteEntries[3][128];
595 } StdVideoH265PredictorPaletteEntries;
598 typedef struct StdVideoH265SpsFlags {
599 deUint32 sps_temporal_id_nesting_flag : 1;
600 deUint32 separate_colour_plane_flag : 1;
601 deUint32 scaling_list_enabled_flag : 1;
602 deUint32 sps_scaling_list_data_present_flag : 1;
603 deUint32 amp_enabled_flag : 1;
604 deUint32 sample_adaptive_offset_enabled_flag : 1;
605 deUint32 pcm_enabled_flag : 1;
606 deUint32 pcm_loop_filter_disabled_flag : 1;
607 deUint32 long_term_ref_pics_present_flag : 1;
608 deUint32 sps_temporal_mvp_enabled_flag : 1;
609 deUint32 strong_intra_smoothing_enabled_flag : 1;
610 deUint32 vui_parameters_present_flag : 1;
611 deUint32 sps_extension_present_flag : 1;
612 deUint32 sps_range_extension_flag : 1;
614 // extension SPS flags, valid when std_video_h265_profile_idc_format_range_extensions is set
615 deUint32 transform_skip_rotation_enabled_flag : 1;
616 deUint32 transform_skip_context_enabled_flag : 1;
617 deUint32 implicit_rdpcm_enabled_flag : 1;
618 deUint32 explicit_rdpcm_enabled_flag : 1;
619 deUint32 extended_precision_processing_flag : 1;
620 deUint32 intra_smoothing_disabled_flag : 1;
621 deUint32 high_precision_offsets_enabled_flag : 1;
622 deUint32 persistent_rice_adaptation_enabled_flag : 1;
623 deUint32 cabac_bypass_alignment_enabled_flag : 1;
625 // extension SPS flags, valid when std_video_h265_profile_idc_scc_extensions is set
626 deUint32 sps_curr_pic_ref_enabled_flag : 1;
627 deUint32 palette_mode_enabled_flag : 1;
628 deUint32 sps_palette_predictor_initializer_present_flag : 1;
629 deUint32 intra_boundary_filtering_disabled_flag : 1;
630 } StdVideoH265SpsFlags;
632 typedef struct StdVideoH265SequenceParameterSet
634 StdVideoH265ProfileIdc profile_idc;
635 StdVideoH265Level level_idc;
636 deUint32 pic_width_in_luma_samples;
637 deUint32 pic_height_in_luma_samples;
638 deUint8 sps_video_parameter_set_id;
639 deUint8 sps_max_sub_layers_minus1;
640 deUint8 sps_seq_parameter_set_id;
641 deUint8 chroma_format_idc;
642 deUint8 bit_depth_luma_minus8;
643 deUint8 bit_depth_chroma_minus8;
644 deUint8 log2_max_pic_order_cnt_lsb_minus4;
645 deUint8 sps_max_dec_pic_buffering_minus1;
646 deUint8 log2_min_luma_coding_block_size_minus3;
647 deUint8 log2_diff_max_min_luma_coding_block_size;
648 deUint8 log2_min_luma_transform_block_size_minus2;
649 deUint8 log2_diff_max_min_luma_transform_block_size;
650 deUint8 max_transform_hierarchy_depth_inter;
651 deUint8 max_transform_hierarchy_depth_intra;
652 deUint8 num_short_term_ref_pic_sets;
653 deUint8 num_long_term_ref_pics_sps;
654 deUint8 pcm_sample_bit_depth_luma_minus1;
655 deUint8 pcm_sample_bit_depth_chroma_minus1;
656 deUint8 log2_min_pcm_luma_coding_block_size_minus3;
657 deUint8 log2_diff_max_min_pcm_luma_coding_block_size;
658 deUint32 conf_win_left_offset;
659 deUint32 conf_win_right_offset;
660 deUint32 conf_win_top_offset;
661 deUint32 conf_win_bottom_offset;
662 StdVideoH265DecPicBufMgr* pDecPicBufMgr;
663 StdVideoH265SpsFlags flags;
664 StdVideoH265ScalingLists* pScalingLists; // Must be a valid pointer if sps_scaling_list_data_present_flag is set
665 StdVideoH265SequenceParameterSetVui* pSequenceParameterSetVui; // Must be a valid pointer if StdVideoH265SpsFlags:vui_parameters_present_flag is set palette_max_size;
667 // extension SPS flags, valid when std_video_h265_profile_idc_scc_extensions is set
668 deUint8 palette_max_size;
669 deUint8 delta_palette_max_predictor_size;
670 deUint8 motion_vector_resolution_control_idc;
671 deUint8 sps_num_palette_predictor_initializer_minus1;
672 StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; // Must be a valid pointer if sps_palette_predictor_initializer_present_flag is set
673 } StdVideoH265SequenceParameterSet;
676 typedef struct StdVideoH265PpsFlags {
677 deUint32 dependent_slice_segments_enabled_flag : 1;
678 deUint32 output_flag_present_flag : 1;
679 deUint32 sign_data_hiding_enabled_flag : 1;
680 deUint32 cabac_init_present_flag : 1;
681 deUint32 constrained_intra_pred_flag : 1;
682 deUint32 transform_skip_enabled_flag : 1;
683 deUint32 cu_qp_delta_enabled_flag : 1;
684 deUint32 pps_slice_chroma_qp_offsets_present_flag : 1;
685 deUint32 weighted_pred_flag : 1;
686 deUint32 weighted_bipred_flag : 1;
687 deUint32 transquant_bypass_enabled_flag : 1;
688 deUint32 tiles_enabled_flag : 1;
689 deUint32 entropy_coding_sync_enabled_flag : 1;
690 deUint32 uniform_spacing_flag : 1;
691 deUint32 loop_filter_across_tiles_enabled_flag : 1;
692 deUint32 pps_loop_filter_across_slices_enabled_flag : 1;
693 deUint32 deblocking_filter_control_present_flag : 1;
694 deUint32 deblocking_filter_override_enabled_flag : 1;
695 deUint32 pps_deblocking_filter_disabled_flag : 1;
696 deUint32 pps_scaling_list_data_present_flag : 1;
697 deUint32 lists_modification_present_flag : 1;
698 deUint32 slice_segment_header_extension_present_flag : 1;
699 deUint32 pps_extension_present_flag : 1;
701 // extension PPS flags, valid when std_video_h265_profile_idc_format_range_extensions is set
702 deUint32 cross_component_prediction_enabled_flag : 1;
703 deUint32 chroma_qp_offset_list_enabled_flag : 1;
705 // extension PPS flags, valid when std_video_h265_profile_idc_scc_extensions is set
706 deUint32 pps_curr_pic_ref_enabled_flag : 1;
707 deUint32 residual_adaptive_colour_transform_enabled_flag : 1;
708 deUint32 pps_slice_act_qp_offsets_present_flag : 1;
709 deUint32 pps_palette_predictor_initializer_present_flag : 1;
710 deUint32 monochrome_palette_flag : 1;
711 deUint32 pps_range_extension_flag : 1;
712 } StdVideoH265PpsFlags;
714 typedef struct StdVideoH265PictureParameterSet
716 deUint8 pps_pic_parameter_set_id;
717 deUint8 pps_seq_parameter_set_id;
718 deUint8 num_extra_slice_header_bits;
719 deUint8 num_ref_idx_l0_default_active_minus1;
720 deUint8 num_ref_idx_l1_default_active_minus1;
721 deInt8 init_qp_minus26;
722 deUint8 diff_cu_qp_delta_depth;
723 deInt8 pps_cb_qp_offset;
724 deInt8 pps_cr_qp_offset;
725 deUint8 num_tile_columns_minus1;
726 deUint8 num_tile_rows_minus1;
727 deUint16 column_width_minus1[19];
728 deUint16 row_height_minus1[21];
729 deInt8 pps_beta_offset_div2;
730 deInt8 pps_tc_offset_div2;
731 deUint8 log2_parallel_merge_level_minus2;
732 StdVideoH265PpsFlags flags;
733 StdVideoH265ScalingLists* pScalingLists; // Must be a valid pointer if pps_scaling_list_data_present_flag is set
735 // extension PPS, valid when std_video_h265_profile_idc_format_range_extensions is set
736 deUint8 log2_max_transform_skip_block_size_minus2;
737 deUint8 diff_cu_chroma_qp_offset_depth;
738 deUint8 chroma_qp_offset_list_len_minus1;
739 deInt8 cb_qp_offset_list[6];
740 deInt8 cr_qp_offset_list[6];
741 deUint8 log2_sao_offset_scale_luma;
742 deUint8 log2_sao_offset_scale_chroma;
744 // extension PPS, valid when std_video_h265_profile_idc_scc_extensions is set
745 deInt8 pps_act_y_qp_offset_plus5;
746 deInt8 pps_act_cb_qp_offset_plus5;
747 deInt8 pps_act_cr_qp_offset_plus5;
748 deUint8 pps_num_palette_predictor_initializer;
749 deUint8 luma_bit_depth_entry_minus8;
750 deUint8 chroma_bit_depth_entry_minus8;
751 StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; // Must be a valid pointer if pps_palette_predictor_initializer_present_flag is set
752 } StdVideoH265PictureParameterSet;
758 #endif // VULKAN_VIDEO_CODEC_H265STD_H_
760 ** Copyright (c) 2019-2020 The Khronos Group Inc.
762 ** SPDX-License-Identifier: Apache-2.0
765 #ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
766 #define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1
774 // *************************************************
775 // Video H.264 Decode related parameters:
776 // *************************************************
778 typedef struct StdVideoDecodeH264PictureInfoFlags {
779 deUint32 field_pic_flag:1; // Is field picture
780 deUint32 is_intra:1; // Is intra picture
781 deUint32 bottom_field_flag:1; // bottom (true) or top (false) field if field_pic_flag is set.
782 deUint32 is_reference:1; // This only applies to picture info, and not to the DPB lists.
783 deUint32 complementary_field_pair:1; // complementary field pair, complementary non-reference field pair, complementary reference field pair
784 } StdVideoDecodeH264PictureInfoFlags;
786 typedef struct StdVideoDecodeH264PictureInfo {
787 deUint8 seq_parameter_set_id; // Selecting SPS from the Picture Parameters
788 deUint8 pic_parameter_set_id; // Selecting PPS from the Picture Parameters and the SPS
789 deUint16 reserved; // for structure members 32-bit packing/alignment
790 deUint16 frame_num; // 7.4.3 Slice header semantics
791 deUint16 idr_pic_id; // 7.4.3 Slice header semantics
792 // PicOrderCnt is based on TopFieldOrderCnt and BottomFieldOrderCnt. See 8.2.1 Decoding process for picture order count type 0 - 2
793 deInt32 PicOrderCnt[2]; // TopFieldOrderCnt and BottomFieldOrderCnt fields.
794 StdVideoDecodeH264PictureInfoFlags flags;
795 } StdVideoDecodeH264PictureInfo;
797 typedef struct StdVideoDecodeH264ReferenceInfoFlags {
798 deUint32 top_field_flag:1; // Reference is used for top field reference.
799 deUint32 bottom_field_flag:1; // Reference is used for bottom field reference.
800 deUint32 is_long_term:1; // this is a long term reference
801 deUint32 is_non_existing:1; // Must be handled in accordance with 8.2.5.2: Decoding process for gaps in frame_num
802 } StdVideoDecodeH264ReferenceInfoFlags;
804 typedef struct StdVideoDecodeH264ReferenceInfo {
805 // FrameNum = is_long_term ? long_term_frame_idx : frame_num
806 deUint16 FrameNum; // 7.4.3.3 Decoded reference picture marking semantics
807 deUint16 reserved; // for structure members 32-bit packing/alignment
808 deInt32 PicOrderCnt[2]; // TopFieldOrderCnt and BottomFieldOrderCnt fields.
809 StdVideoDecodeH264ReferenceInfoFlags flags;
810 } StdVideoDecodeH264ReferenceInfo;
812 typedef struct StdVideoDecodeH264MvcElementFlags {
814 deUint32 anchor_pic:1;
815 deUint32 inter_view:1;
816 } StdVideoDecodeH264MvcElementFlags;
818 typedef struct StdVideoDecodeH264MvcElement {
819 StdVideoDecodeH264MvcElementFlags flags;
820 deUint16 viewOrderIndex;
822 deUint16 temporalId; // move out?
823 deUint16 priorityId; // move out?
824 deUint16 numOfAnchorRefsInL0;
825 deUint16 viewIdOfAnchorRefsInL0[15];
826 deUint16 numOfAnchorRefsInL1;
827 deUint16 viewIdOfAnchorRefsInL1[15];
828 deUint16 numOfNonAnchorRefsInL0;
829 deUint16 viewIdOfNonAnchorRefsInL0[15];
830 deUint16 numOfNonAnchorRefsInL1;
831 deUint16 viewIdOfNonAnchorRefsInL1[15];
832 } StdVideoDecodeH264MvcElement;
834 typedef struct StdVideoDecodeH264Mvc {
836 deUint32 mvcElementCount;
837 StdVideoDecodeH264MvcElement* pMvcElements;
838 } StdVideoDecodeH264Mvc;
845 #endif // VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
847 ** Copyright (c) 2019-2021 The Khronos Group Inc.
849 ** SPDX-License-Identifier: Apache-2.0
852 #ifndef VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
853 #define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1
861 // *************************************************
862 // Video h265 Decode related parameters:
863 // *************************************************
865 typedef struct StdVideoDecodeH265PictureInfoFlags {
866 deUint32 IrapPicFlag : 1;
867 deUint32 IdrPicFlag : 1;
868 deUint32 IsReference : 1;
869 deUint32 short_term_ref_pic_set_sps_flag : 1;
870 } StdVideoDecodeH265PictureInfoFlags;
872 typedef struct StdVideoDecodeH265PictureInfo {
873 deUint8 vps_video_parameter_set_id;
874 deUint8 sps_seq_parameter_set_id;
875 deUint8 pps_pic_parameter_set_id;
876 deUint8 num_short_term_ref_pic_sets;
877 deInt32 PicOrderCntVal;
878 deUint16 NumBitsForSTRefPicSetInSlice; // number of bits used in st_ref_pic_set()
879 //when short_term_ref_pic_set_sps_flag is 0; otherwise set to 0.
880 deUint8 NumDeltaPocsOfRefRpsIdx; // NumDeltaPocs[ RefRpsIdx ] when short_term_ref_pic_set_sps_flag = 1, otherwise 0
881 deUint8 RefPicSetStCurrBefore[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing
882 //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
883 deUint8 RefPicSetStCurrAfter[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing
884 //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
885 deUint8 RefPicSetLtCurr[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing
886 //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
887 StdVideoDecodeH265PictureInfoFlags flags;
888 } StdVideoDecodeH265PictureInfo;
890 typedef struct StdVideoDecodeH265ReferenceInfoFlags {
891 deUint32 is_long_term : 1;
892 deUint32 is_non_existing : 1;
893 } StdVideoDecodeH265ReferenceInfoFlags;
895 typedef struct StdVideoDecodeH265ReferenceInfo {
896 deInt32 PicOrderCntVal;
897 StdVideoDecodeH265ReferenceInfoFlags flags;
898 } StdVideoDecodeH265ReferenceInfo;
904 #endif // VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
905 #ifndef VULKAN_CORE_H_
906 #define VULKAN_CORE_H_ 1
909 ** Copyright 2015-2021 The Khronos Group Inc.
911 ** SPDX-License-Identifier: Apache-2.0
915 ** This header is generated from the Khronos Vulkan XML API Registry.
926 #define VK_VERSION_1_0 1
929 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
932 #ifndef VK_USE_64_BIT_PTR_DEFINES
933 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
934 #define VK_USE_64_BIT_PTR_DEFINES 1
936 #define VK_USE_64_BIT_PTR_DEFINES 0
941 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
942 #if (VK_USE_64_BIT_PTR_DEFINES==1)
943 #if __cplusplus >= 201103L || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L))
944 #define VK_NULL_HANDLE nullptr
946 #define VK_NULL_HANDLE ((void*)0)
949 #define VK_NULL_HANDLE 0ULL
952 #ifndef VK_NULL_HANDLE
953 #define VK_NULL_HANDLE 0
957 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
958 #if (VK_USE_64_BIT_PTR_DEFINES==1)
959 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
961 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef deUint64 object;
965 // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead.
966 #define VK_MAKE_VERSION(major, minor, patch) \
967 ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
969 // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead.
970 //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
972 #define VK_MAKE_API_VERSION(variant, major, minor, patch) \
973 ((((deUint32)(variant)) << 29) | (((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
975 // Vulkan 1.0 version number
976 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
978 // Version of this file
979 #define VK_HEADER_VERSION 178
981 // Complete version of this file
982 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION)
984 // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead.
985 #define VK_VERSION_MAJOR(version) ((deUint32)(version) >> 22)
987 // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead.
988 #define VK_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU)
990 // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead.
991 #define VK_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU)
993 #define VK_API_VERSION_VARIANT(version) ((deUint32)(version) >> 29)
994 #define VK_API_VERSION_MAJOR(version) (((deUint32)(version) >> 22) & 0x7FU)
995 #define VK_API_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU)
996 #define VK_API_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU)
997 typedef deUint32 VkBool32;
998 typedef deUint64 VkDeviceAddress;
999 typedef deUint64 VkDeviceSize;
1000 typedef deUint32 VkFlags;
1001 typedef deUint32 VkSampleMask;
1002 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
1003 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
1004 VK_DEFINE_HANDLE(VkInstance)
1005 VK_DEFINE_HANDLE(VkPhysicalDevice)
1006 VK_DEFINE_HANDLE(VkDevice)
1007 VK_DEFINE_HANDLE(VkQueue)
1008 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
1009 VK_DEFINE_HANDLE(VkCommandBuffer)
1010 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
1011 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
1012 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
1013 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
1014 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
1015 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
1016 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
1017 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
1018 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
1019 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
1020 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
1021 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
1022 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
1023 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
1024 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
1025 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
1026 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
1027 #define VK_ATTACHMENT_UNUSED (~0U)
1029 #define VK_LOD_CLAMP_NONE 1000.0F
1030 #define VK_QUEUE_FAMILY_IGNORED (~0U)
1031 #define VK_REMAINING_ARRAY_LAYERS (~0U)
1032 #define VK_REMAINING_MIP_LEVELS (~0U)
1033 #define VK_SUBPASS_EXTERNAL (~0U)
1035 #define VK_WHOLE_SIZE (~0ULL)
1036 #define VK_MAX_MEMORY_TYPES 32U
1037 #define VK_MAX_MEMORY_HEAPS 16U
1038 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U
1039 #define VK_UUID_SIZE 16U
1040 #define VK_MAX_EXTENSION_NAME_SIZE 256U
1041 #define VK_MAX_DESCRIPTION_SIZE 256U
1043 typedef enum VkResult {
1050 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
1051 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
1052 VK_ERROR_INITIALIZATION_FAILED = -3,
1053 VK_ERROR_DEVICE_LOST = -4,
1054 VK_ERROR_MEMORY_MAP_FAILED = -5,
1055 VK_ERROR_LAYER_NOT_PRESENT = -6,
1056 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
1057 VK_ERROR_FEATURE_NOT_PRESENT = -8,
1058 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
1059 VK_ERROR_TOO_MANY_OBJECTS = -10,
1060 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
1061 VK_ERROR_FRAGMENTED_POOL = -12,
1062 VK_ERROR_UNKNOWN = -13,
1063 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
1064 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
1065 VK_ERROR_FRAGMENTATION = -1000161000,
1066 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
1067 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
1068 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
1069 VK_SUBOPTIMAL_KHR = 1000001003,
1070 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
1071 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
1072 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
1073 VK_ERROR_INVALID_SHADER_NV = -1000012000,
1074 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
1075 VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
1076 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
1077 VK_THREAD_IDLE_KHR = 1000268000,
1078 VK_THREAD_DONE_KHR = 1000268001,
1079 VK_OPERATION_DEFERRED_KHR = 1000268002,
1080 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
1081 VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000,
1082 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
1083 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
1084 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
1085 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
1086 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
1087 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED_EXT,
1088 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
1091 typedef enum VkStructureType {
1092 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
1093 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
1094 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
1095 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
1096 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
1097 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
1098 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
1099 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
1100 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
1101 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
1102 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
1103 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
1104 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
1105 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
1106 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
1107 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
1108 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
1109 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
1110 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
1111 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
1112 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
1113 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
1114 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
1115 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
1116 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
1117 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
1118 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
1119 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
1120 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
1121 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
1122 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
1123 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
1124 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
1125 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
1126 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
1127 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
1128 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
1129 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
1130 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
1131 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
1132 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
1133 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
1134 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
1135 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
1136 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
1137 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
1138 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
1139 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
1140 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
1141 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
1142 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
1143 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
1144 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
1145 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
1146 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
1147 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
1148 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
1149 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
1150 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
1151 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
1152 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
1153 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
1154 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
1155 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
1156 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
1157 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
1158 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
1159 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
1160 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
1161 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
1162 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
1163 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
1164 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
1165 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
1166 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
1167 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
1168 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
1169 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
1170 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
1171 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
1172 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
1173 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
1174 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
1175 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
1176 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
1177 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
1178 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
1179 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
1180 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
1181 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
1182 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
1183 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
1184 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
1185 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
1186 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
1187 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
1188 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
1189 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
1190 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
1191 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
1192 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
1193 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
1194 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
1195 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
1196 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
1197 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
1198 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
1199 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
1200 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
1201 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
1202 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
1203 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
1204 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
1205 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
1206 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
1207 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
1208 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
1209 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
1210 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
1211 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
1212 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
1213 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
1214 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
1215 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
1216 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
1217 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
1218 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
1219 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
1220 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
1221 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
1222 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
1223 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
1224 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
1225 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
1226 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
1227 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
1228 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
1229 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
1230 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
1231 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
1232 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
1233 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
1234 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
1235 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
1236 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
1237 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
1238 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
1239 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
1240 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
1241 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
1242 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
1243 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
1244 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
1245 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
1246 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
1247 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
1248 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
1249 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
1250 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
1251 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
1252 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
1253 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
1254 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
1255 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
1256 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
1257 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
1258 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
1259 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
1260 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
1261 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
1262 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
1263 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
1264 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
1265 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
1266 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
1267 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
1268 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
1269 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
1270 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
1271 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
1272 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
1273 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
1274 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
1275 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
1276 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
1277 #ifdef VK_ENABLE_BETA_EXTENSIONS
1278 VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR = 1000023000,
1280 #ifdef VK_ENABLE_BETA_EXTENSIONS
1281 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001,
1283 #ifdef VK_ENABLE_BETA_EXTENSIONS
1284 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR = 1000023002,
1286 #ifdef VK_ENABLE_BETA_EXTENSIONS
1287 VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR = 1000023003,
1289 #ifdef VK_ENABLE_BETA_EXTENSIONS
1290 VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR = 1000023004,
1292 #ifdef VK_ENABLE_BETA_EXTENSIONS
1293 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005,
1295 #ifdef VK_ENABLE_BETA_EXTENSIONS
1296 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006,
1298 #ifdef VK_ENABLE_BETA_EXTENSIONS
1299 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007,
1301 #ifdef VK_ENABLE_BETA_EXTENSIONS
1302 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008,
1304 #ifdef VK_ENABLE_BETA_EXTENSIONS
1305 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009,
1307 #ifdef VK_ENABLE_BETA_EXTENSIONS
1308 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010,
1310 #ifdef VK_ENABLE_BETA_EXTENSIONS
1311 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR = 1000023011,
1313 #ifdef VK_ENABLE_BETA_EXTENSIONS
1314 VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000023012,
1316 #ifdef VK_ENABLE_BETA_EXTENSIONS
1317 VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR = 1000023013,
1319 #ifdef VK_ENABLE_BETA_EXTENSIONS
1320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
1322 #ifdef VK_ENABLE_BETA_EXTENSIONS
1323 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
1325 #ifdef VK_ENABLE_BETA_EXTENSIONS
1326 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
1328 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
1329 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
1330 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
1331 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
1332 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
1333 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
1334 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000,
1335 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001,
1336 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002,
1337 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
1338 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
1339 #ifdef VK_ENABLE_BETA_EXTENSIONS
1340 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
1342 #ifdef VK_ENABLE_BETA_EXTENSIONS
1343 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT = 1000038001,
1345 #ifdef VK_ENABLE_BETA_EXTENSIONS
1346 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038002,
1348 #ifdef VK_ENABLE_BETA_EXTENSIONS
1349 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038003,
1351 #ifdef VK_ENABLE_BETA_EXTENSIONS
1352 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038004,
1354 #ifdef VK_ENABLE_BETA_EXTENSIONS
1355 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038005,
1357 #ifdef VK_ENABLE_BETA_EXTENSIONS
1358 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038006,
1360 #ifdef VK_ENABLE_BETA_EXTENSIONS
1361 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038007,
1363 #ifdef VK_ENABLE_BETA_EXTENSIONS
1364 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038008,
1366 #ifdef VK_ENABLE_BETA_EXTENSIONS
1367 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000,
1369 #ifdef VK_ENABLE_BETA_EXTENSIONS
1370 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT = 1000040001,
1372 #ifdef VK_ENABLE_BETA_EXTENSIONS
1373 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040002,
1375 #ifdef VK_ENABLE_BETA_EXTENSIONS
1376 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040003,
1378 #ifdef VK_ENABLE_BETA_EXTENSIONS
1379 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040004,
1381 #ifdef VK_ENABLE_BETA_EXTENSIONS
1382 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040005,
1384 #ifdef VK_ENABLE_BETA_EXTENSIONS
1385 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040006,
1387 #ifdef VK_ENABLE_BETA_EXTENSIONS
1388 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007,
1390 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
1391 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
1392 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
1393 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
1394 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
1395 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
1396 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
1397 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
1398 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
1399 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
1400 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000,
1401 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
1402 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
1403 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
1404 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
1405 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
1406 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
1407 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
1408 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
1409 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
1410 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
1411 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
1412 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
1413 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
1414 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
1415 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
1416 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
1417 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
1418 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
1419 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
1420 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
1421 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
1422 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
1423 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
1424 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
1425 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
1426 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
1427 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
1428 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
1429 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
1430 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
1431 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
1432 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
1433 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
1434 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
1435 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
1436 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
1437 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
1438 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
1439 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
1440 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
1441 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
1442 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
1443 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
1444 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
1445 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
1446 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
1447 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
1448 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
1449 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
1450 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
1451 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
1452 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
1453 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
1454 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
1455 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
1456 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
1457 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
1458 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
1459 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
1460 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
1461 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
1462 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
1463 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
1464 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
1465 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
1466 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
1467 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
1468 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
1469 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
1470 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
1471 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
1472 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,
1473 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001,
1474 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002,
1475 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003,
1476 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
1477 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
1478 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
1479 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
1480 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
1481 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
1482 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
1483 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
1484 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
1485 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
1486 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
1487 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
1488 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
1489 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
1490 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
1491 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
1492 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
1493 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
1494 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
1495 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
1496 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
1497 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
1498 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
1499 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
1500 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
1501 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
1502 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
1503 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
1504 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
1505 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
1506 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
1507 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
1508 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
1509 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
1510 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
1511 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
1512 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
1513 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
1514 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
1515 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
1516 #ifdef VK_ENABLE_BETA_EXTENSIONS
1517 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
1519 #ifdef VK_ENABLE_BETA_EXTENSIONS
1520 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
1522 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
1523 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
1524 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
1525 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
1526 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
1527 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
1528 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
1529 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
1530 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
1531 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
1532 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
1533 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
1534 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
1535 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
1536 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
1537 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
1538 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
1539 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
1540 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
1541 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
1542 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
1543 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
1544 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
1545 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
1546 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
1547 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
1548 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
1549 #ifdef VK_ENABLE_BETA_EXTENSIONS
1550 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000,
1552 #ifdef VK_ENABLE_BETA_EXTENSIONS
1553 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT = 1000187001,
1555 #ifdef VK_ENABLE_BETA_EXTENSIONS
1556 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187002,
1558 #ifdef VK_ENABLE_BETA_EXTENSIONS
1559 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187003,
1561 #ifdef VK_ENABLE_BETA_EXTENSIONS
1562 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187004,
1564 #ifdef VK_ENABLE_BETA_EXTENSIONS
1565 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187005,
1567 #ifdef VK_ENABLE_BETA_EXTENSIONS
1568 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187006,
1570 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
1571 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
1572 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
1573 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
1574 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
1575 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000,
1576 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
1577 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
1578 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
1579 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
1580 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
1581 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
1582 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
1583 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
1584 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
1585 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
1586 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
1587 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
1588 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
1589 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
1590 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
1591 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
1592 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
1593 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
1594 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
1595 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
1596 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000,
1597 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
1598 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
1599 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
1600 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
1601 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000,
1602 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001,
1603 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002,
1604 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
1605 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
1606 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
1607 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
1608 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
1609 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
1610 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
1611 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
1612 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
1613 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
1614 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
1615 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
1616 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
1617 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
1618 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
1619 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000,
1620 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
1621 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
1622 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
1623 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
1624 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
1625 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
1626 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
1627 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
1628 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
1629 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000,
1630 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001,
1631 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002,
1632 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
1633 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
1634 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
1635 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
1636 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
1637 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
1638 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
1639 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
1640 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
1641 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
1642 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
1643 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
1644 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
1645 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
1646 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
1647 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
1648 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000,
1649 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
1650 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
1651 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
1652 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
1653 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
1654 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
1655 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
1656 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
1657 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000,
1658 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001,
1659 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
1660 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
1661 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
1662 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
1663 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
1664 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
1665 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
1666 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
1667 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
1668 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
1669 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
1670 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
1671 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
1672 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = 1000295000,
1673 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = 1000295001,
1674 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = 1000295002,
1675 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000,
1676 #ifdef VK_ENABLE_BETA_EXTENSIONS
1677 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
1679 #ifdef VK_ENABLE_BETA_EXTENSIONS
1680 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
1682 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
1683 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
1684 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = 1000314000,
1685 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = 1000314001,
1686 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = 1000314002,
1687 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = 1000314003,
1688 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = 1000314004,
1689 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = 1000314005,
1690 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = 1000314006,
1691 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = 1000314007,
1692 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
1693 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
1694 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000,
1695 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
1696 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
1697 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
1698 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
1699 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
1700 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
1701 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
1702 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000,
1703 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
1704 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000,
1705 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001,
1706 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002,
1707 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003,
1708 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004,
1709 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005,
1710 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006,
1711 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007,
1712 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008,
1713 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009,
1714 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010,
1715 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
1716 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
1717 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
1718 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
1719 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
1720 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
1721 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
1722 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
1723 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
1724 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
1725 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
1726 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
1727 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
1728 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
1729 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
1730 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
1731 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1732 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
1733 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
1734 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
1735 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
1736 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
1737 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
1738 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
1739 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
1740 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
1741 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
1742 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
1743 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
1744 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
1745 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
1746 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
1747 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
1748 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
1749 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
1750 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
1751 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
1752 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
1753 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
1754 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
1755 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
1756 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
1757 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
1758 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
1759 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
1760 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
1761 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
1762 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
1763 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
1764 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
1765 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
1766 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1767 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1768 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
1769 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
1770 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
1771 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
1772 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
1773 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
1774 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
1775 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
1776 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
1777 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
1778 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
1779 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
1780 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
1781 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
1782 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
1783 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
1784 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
1785 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
1786 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
1787 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
1788 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
1789 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1790 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
1791 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
1792 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
1793 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
1794 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
1795 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
1796 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
1797 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
1798 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
1799 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
1800 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
1801 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
1802 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
1803 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
1804 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
1805 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
1806 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
1807 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
1808 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
1809 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
1810 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
1811 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
1812 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
1813 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
1814 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
1815 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
1816 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
1817 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
1818 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
1819 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
1820 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
1821 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
1822 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
1823 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
1824 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
1825 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
1826 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
1827 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
1828 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
1829 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
1830 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
1831 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
1832 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
1833 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
1834 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
1835 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
1836 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1837 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
1838 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
1839 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
1840 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1841 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
1842 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
1843 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
1844 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
1845 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
1848 typedef enum VkImageLayout {
1849 VK_IMAGE_LAYOUT_UNDEFINED = 0,
1850 VK_IMAGE_LAYOUT_GENERAL = 1,
1851 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
1852 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
1853 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
1854 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
1855 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
1856 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
1857 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
1858 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
1859 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
1860 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
1861 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
1862 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
1863 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
1864 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
1865 #ifdef VK_ENABLE_BETA_EXTENSIONS
1866 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
1868 #ifdef VK_ENABLE_BETA_EXTENSIONS
1869 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
1871 #ifdef VK_ENABLE_BETA_EXTENSIONS
1872 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
1874 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
1875 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
1876 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
1877 #ifdef VK_ENABLE_BETA_EXTENSIONS
1878 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
1880 #ifdef VK_ENABLE_BETA_EXTENSIONS
1881 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
1883 #ifdef VK_ENABLE_BETA_EXTENSIONS
1884 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
1886 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000,
1887 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001,
1888 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1889 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1890 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV,
1891 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1892 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1893 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1894 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1895 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1898 typedef enum VkObjectType {
1899 VK_OBJECT_TYPE_UNKNOWN = 0,
1900 VK_OBJECT_TYPE_INSTANCE = 1,
1901 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1902 VK_OBJECT_TYPE_DEVICE = 3,
1903 VK_OBJECT_TYPE_QUEUE = 4,
1904 VK_OBJECT_TYPE_SEMAPHORE = 5,
1905 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1906 VK_OBJECT_TYPE_FENCE = 7,
1907 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1908 VK_OBJECT_TYPE_BUFFER = 9,
1909 VK_OBJECT_TYPE_IMAGE = 10,
1910 VK_OBJECT_TYPE_EVENT = 11,
1911 VK_OBJECT_TYPE_QUERY_POOL = 12,
1912 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1913 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1914 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1915 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1916 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1917 VK_OBJECT_TYPE_RENDER_PASS = 18,
1918 VK_OBJECT_TYPE_PIPELINE = 19,
1919 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1920 VK_OBJECT_TYPE_SAMPLER = 21,
1921 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1922 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1923 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1924 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1925 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1926 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1927 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1928 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1929 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1930 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1931 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1932 #ifdef VK_ENABLE_BETA_EXTENSIONS
1933 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
1935 #ifdef VK_ENABLE_BETA_EXTENSIONS
1936 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
1938 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000,
1939 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001,
1940 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1941 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1942 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1943 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1944 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1945 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
1946 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
1947 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
1948 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1949 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1950 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1953 typedef enum VkVendorId {
1954 VK_VENDOR_ID_VIV = 0x10001,
1955 VK_VENDOR_ID_VSI = 0x10002,
1956 VK_VENDOR_ID_KAZAN = 0x10003,
1957 VK_VENDOR_ID_CODEPLAY = 0x10004,
1958 VK_VENDOR_ID_MESA = 0x10005,
1959 VK_VENDOR_ID_POCL = 0x10006,
1960 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1963 typedef enum VkPipelineCacheHeaderVersion {
1964 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
1965 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
1966 } VkPipelineCacheHeaderVersion;
1968 typedef enum VkSystemAllocationScope {
1969 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1970 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1971 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1972 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1973 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1974 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
1975 } VkSystemAllocationScope;
1977 typedef enum VkInternalAllocationType {
1978 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
1979 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
1980 } VkInternalAllocationType;
1982 typedef enum VkFormat {
1983 VK_FORMAT_UNDEFINED = 0,
1984 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
1985 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
1986 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
1987 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
1988 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
1989 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
1990 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
1991 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
1992 VK_FORMAT_R8_UNORM = 9,
1993 VK_FORMAT_R8_SNORM = 10,
1994 VK_FORMAT_R8_USCALED = 11,
1995 VK_FORMAT_R8_SSCALED = 12,
1996 VK_FORMAT_R8_UINT = 13,
1997 VK_FORMAT_R8_SINT = 14,
1998 VK_FORMAT_R8_SRGB = 15,
1999 VK_FORMAT_R8G8_UNORM = 16,
2000 VK_FORMAT_R8G8_SNORM = 17,
2001 VK_FORMAT_R8G8_USCALED = 18,
2002 VK_FORMAT_R8G8_SSCALED = 19,
2003 VK_FORMAT_R8G8_UINT = 20,
2004 VK_FORMAT_R8G8_SINT = 21,
2005 VK_FORMAT_R8G8_SRGB = 22,
2006 VK_FORMAT_R8G8B8_UNORM = 23,
2007 VK_FORMAT_R8G8B8_SNORM = 24,
2008 VK_FORMAT_R8G8B8_USCALED = 25,
2009 VK_FORMAT_R8G8B8_SSCALED = 26,
2010 VK_FORMAT_R8G8B8_UINT = 27,
2011 VK_FORMAT_R8G8B8_SINT = 28,
2012 VK_FORMAT_R8G8B8_SRGB = 29,
2013 VK_FORMAT_B8G8R8_UNORM = 30,
2014 VK_FORMAT_B8G8R8_SNORM = 31,
2015 VK_FORMAT_B8G8R8_USCALED = 32,
2016 VK_FORMAT_B8G8R8_SSCALED = 33,
2017 VK_FORMAT_B8G8R8_UINT = 34,
2018 VK_FORMAT_B8G8R8_SINT = 35,
2019 VK_FORMAT_B8G8R8_SRGB = 36,
2020 VK_FORMAT_R8G8B8A8_UNORM = 37,
2021 VK_FORMAT_R8G8B8A8_SNORM = 38,
2022 VK_FORMAT_R8G8B8A8_USCALED = 39,
2023 VK_FORMAT_R8G8B8A8_SSCALED = 40,
2024 VK_FORMAT_R8G8B8A8_UINT = 41,
2025 VK_FORMAT_R8G8B8A8_SINT = 42,
2026 VK_FORMAT_R8G8B8A8_SRGB = 43,
2027 VK_FORMAT_B8G8R8A8_UNORM = 44,
2028 VK_FORMAT_B8G8R8A8_SNORM = 45,
2029 VK_FORMAT_B8G8R8A8_USCALED = 46,
2030 VK_FORMAT_B8G8R8A8_SSCALED = 47,
2031 VK_FORMAT_B8G8R8A8_UINT = 48,
2032 VK_FORMAT_B8G8R8A8_SINT = 49,
2033 VK_FORMAT_B8G8R8A8_SRGB = 50,
2034 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
2035 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
2036 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
2037 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
2038 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
2039 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
2040 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
2041 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
2042 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
2043 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
2044 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
2045 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
2046 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
2047 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
2048 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
2049 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
2050 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
2051 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
2052 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
2053 VK_FORMAT_R16_UNORM = 70,
2054 VK_FORMAT_R16_SNORM = 71,
2055 VK_FORMAT_R16_USCALED = 72,
2056 VK_FORMAT_R16_SSCALED = 73,
2057 VK_FORMAT_R16_UINT = 74,
2058 VK_FORMAT_R16_SINT = 75,
2059 VK_FORMAT_R16_SFLOAT = 76,
2060 VK_FORMAT_R16G16_UNORM = 77,
2061 VK_FORMAT_R16G16_SNORM = 78,
2062 VK_FORMAT_R16G16_USCALED = 79,
2063 VK_FORMAT_R16G16_SSCALED = 80,
2064 VK_FORMAT_R16G16_UINT = 81,
2065 VK_FORMAT_R16G16_SINT = 82,
2066 VK_FORMAT_R16G16_SFLOAT = 83,
2067 VK_FORMAT_R16G16B16_UNORM = 84,
2068 VK_FORMAT_R16G16B16_SNORM = 85,
2069 VK_FORMAT_R16G16B16_USCALED = 86,
2070 VK_FORMAT_R16G16B16_SSCALED = 87,
2071 VK_FORMAT_R16G16B16_UINT = 88,
2072 VK_FORMAT_R16G16B16_SINT = 89,
2073 VK_FORMAT_R16G16B16_SFLOAT = 90,
2074 VK_FORMAT_R16G16B16A16_UNORM = 91,
2075 VK_FORMAT_R16G16B16A16_SNORM = 92,
2076 VK_FORMAT_R16G16B16A16_USCALED = 93,
2077 VK_FORMAT_R16G16B16A16_SSCALED = 94,
2078 VK_FORMAT_R16G16B16A16_UINT = 95,
2079 VK_FORMAT_R16G16B16A16_SINT = 96,
2080 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
2081 VK_FORMAT_R32_UINT = 98,
2082 VK_FORMAT_R32_SINT = 99,
2083 VK_FORMAT_R32_SFLOAT = 100,
2084 VK_FORMAT_R32G32_UINT = 101,
2085 VK_FORMAT_R32G32_SINT = 102,
2086 VK_FORMAT_R32G32_SFLOAT = 103,
2087 VK_FORMAT_R32G32B32_UINT = 104,
2088 VK_FORMAT_R32G32B32_SINT = 105,
2089 VK_FORMAT_R32G32B32_SFLOAT = 106,
2090 VK_FORMAT_R32G32B32A32_UINT = 107,
2091 VK_FORMAT_R32G32B32A32_SINT = 108,
2092 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
2093 VK_FORMAT_R64_UINT = 110,
2094 VK_FORMAT_R64_SINT = 111,
2095 VK_FORMAT_R64_SFLOAT = 112,
2096 VK_FORMAT_R64G64_UINT = 113,
2097 VK_FORMAT_R64G64_SINT = 114,
2098 VK_FORMAT_R64G64_SFLOAT = 115,
2099 VK_FORMAT_R64G64B64_UINT = 116,
2100 VK_FORMAT_R64G64B64_SINT = 117,
2101 VK_FORMAT_R64G64B64_SFLOAT = 118,
2102 VK_FORMAT_R64G64B64A64_UINT = 119,
2103 VK_FORMAT_R64G64B64A64_SINT = 120,
2104 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
2105 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
2106 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
2107 VK_FORMAT_D16_UNORM = 124,
2108 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
2109 VK_FORMAT_D32_SFLOAT = 126,
2110 VK_FORMAT_S8_UINT = 127,
2111 VK_FORMAT_D16_UNORM_S8_UINT = 128,
2112 VK_FORMAT_D24_UNORM_S8_UINT = 129,
2113 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
2114 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
2115 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
2116 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
2117 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
2118 VK_FORMAT_BC2_UNORM_BLOCK = 135,
2119 VK_FORMAT_BC2_SRGB_BLOCK = 136,
2120 VK_FORMAT_BC3_UNORM_BLOCK = 137,
2121 VK_FORMAT_BC3_SRGB_BLOCK = 138,
2122 VK_FORMAT_BC4_UNORM_BLOCK = 139,
2123 VK_FORMAT_BC4_SNORM_BLOCK = 140,
2124 VK_FORMAT_BC5_UNORM_BLOCK = 141,
2125 VK_FORMAT_BC5_SNORM_BLOCK = 142,
2126 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
2127 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
2128 VK_FORMAT_BC7_UNORM_BLOCK = 145,
2129 VK_FORMAT_BC7_SRGB_BLOCK = 146,
2130 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
2131 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
2132 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
2133 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
2134 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
2135 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
2136 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
2137 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
2138 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
2139 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
2140 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
2141 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
2142 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
2143 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
2144 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
2145 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
2146 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
2147 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
2148 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
2149 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
2150 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
2151 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
2152 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
2153 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
2154 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
2155 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
2156 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
2157 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
2158 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
2159 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
2160 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
2161 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
2162 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
2163 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
2164 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
2165 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
2166 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
2167 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
2168 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
2169 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
2170 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
2171 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
2172 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
2173 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
2174 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
2175 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
2176 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
2177 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
2178 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
2179 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
2180 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
2181 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
2182 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
2183 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
2184 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
2185 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
2186 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
2187 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
2188 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
2189 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
2190 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
2191 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
2192 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
2193 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
2194 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
2195 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
2196 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
2197 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
2198 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
2199 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
2200 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
2201 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
2202 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
2203 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
2204 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
2205 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
2206 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
2207 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
2208 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
2209 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
2210 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
2211 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
2212 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
2213 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
2214 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
2215 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
2216 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
2217 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
2218 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
2219 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
2220 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
2221 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
2222 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
2223 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
2224 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = 1000330000,
2225 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = 1000330001,
2226 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = 1000330002,
2227 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = 1000330003,
2228 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000,
2229 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001,
2230 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
2231 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
2232 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
2233 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
2234 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
2235 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
2236 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
2237 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
2238 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
2239 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
2240 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
2241 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
2242 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
2243 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
2244 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
2245 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
2246 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
2247 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
2248 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
2249 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
2250 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
2251 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
2252 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
2253 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
2254 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
2255 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
2256 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
2257 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
2258 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
2259 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
2260 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
2261 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
2262 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
2263 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
2264 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
2267 typedef enum VkImageTiling {
2268 VK_IMAGE_TILING_OPTIMAL = 0,
2269 VK_IMAGE_TILING_LINEAR = 1,
2270 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
2271 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
2274 typedef enum VkImageType {
2275 VK_IMAGE_TYPE_1D = 0,
2276 VK_IMAGE_TYPE_2D = 1,
2277 VK_IMAGE_TYPE_3D = 2,
2278 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
2281 typedef enum VkPhysicalDeviceType {
2282 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
2283 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
2284 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
2285 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
2286 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
2287 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
2288 } VkPhysicalDeviceType;
2290 typedef enum VkQueryType {
2291 VK_QUERY_TYPE_OCCLUSION = 0,
2292 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
2293 VK_QUERY_TYPE_TIMESTAMP = 2,
2294 #ifdef VK_ENABLE_BETA_EXTENSIONS
2295 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
2297 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
2298 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
2299 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
2300 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
2301 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
2302 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
2303 #ifdef VK_ENABLE_BETA_EXTENSIONS
2304 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
2306 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
2309 typedef enum VkSharingMode {
2310 VK_SHARING_MODE_EXCLUSIVE = 0,
2311 VK_SHARING_MODE_CONCURRENT = 1,
2312 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
2315 typedef enum VkComponentSwizzle {
2316 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
2317 VK_COMPONENT_SWIZZLE_ZERO = 1,
2318 VK_COMPONENT_SWIZZLE_ONE = 2,
2319 VK_COMPONENT_SWIZZLE_R = 3,
2320 VK_COMPONENT_SWIZZLE_G = 4,
2321 VK_COMPONENT_SWIZZLE_B = 5,
2322 VK_COMPONENT_SWIZZLE_A = 6,
2323 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
2324 } VkComponentSwizzle;
2326 typedef enum VkImageViewType {
2327 VK_IMAGE_VIEW_TYPE_1D = 0,
2328 VK_IMAGE_VIEW_TYPE_2D = 1,
2329 VK_IMAGE_VIEW_TYPE_3D = 2,
2330 VK_IMAGE_VIEW_TYPE_CUBE = 3,
2331 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
2332 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
2333 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
2334 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
2337 typedef enum VkBlendFactor {
2338 VK_BLEND_FACTOR_ZERO = 0,
2339 VK_BLEND_FACTOR_ONE = 1,
2340 VK_BLEND_FACTOR_SRC_COLOR = 2,
2341 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
2342 VK_BLEND_FACTOR_DST_COLOR = 4,
2343 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
2344 VK_BLEND_FACTOR_SRC_ALPHA = 6,
2345 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
2346 VK_BLEND_FACTOR_DST_ALPHA = 8,
2347 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
2348 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
2349 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
2350 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
2351 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
2352 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
2353 VK_BLEND_FACTOR_SRC1_COLOR = 15,
2354 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
2355 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
2356 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
2357 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
2360 typedef enum VkBlendOp {
2361 VK_BLEND_OP_ADD = 0,
2362 VK_BLEND_OP_SUBTRACT = 1,
2363 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
2364 VK_BLEND_OP_MIN = 3,
2365 VK_BLEND_OP_MAX = 4,
2366 VK_BLEND_OP_ZERO_EXT = 1000148000,
2367 VK_BLEND_OP_SRC_EXT = 1000148001,
2368 VK_BLEND_OP_DST_EXT = 1000148002,
2369 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
2370 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
2371 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
2372 VK_BLEND_OP_DST_IN_EXT = 1000148006,
2373 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
2374 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
2375 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
2376 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
2377 VK_BLEND_OP_XOR_EXT = 1000148011,
2378 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
2379 VK_BLEND_OP_SCREEN_EXT = 1000148013,
2380 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
2381 VK_BLEND_OP_DARKEN_EXT = 1000148015,
2382 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
2383 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
2384 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
2385 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
2386 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
2387 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
2388 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
2389 VK_BLEND_OP_INVERT_EXT = 1000148023,
2390 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
2391 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
2392 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
2393 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
2394 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
2395 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
2396 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
2397 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
2398 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
2399 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
2400 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
2401 VK_BLEND_OP_PLUS_EXT = 1000148035,
2402 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
2403 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
2404 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
2405 VK_BLEND_OP_MINUS_EXT = 1000148039,
2406 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
2407 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
2408 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
2409 VK_BLEND_OP_RED_EXT = 1000148043,
2410 VK_BLEND_OP_GREEN_EXT = 1000148044,
2411 VK_BLEND_OP_BLUE_EXT = 1000148045,
2412 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
2415 typedef enum VkCompareOp {
2416 VK_COMPARE_OP_NEVER = 0,
2417 VK_COMPARE_OP_LESS = 1,
2418 VK_COMPARE_OP_EQUAL = 2,
2419 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
2420 VK_COMPARE_OP_GREATER = 4,
2421 VK_COMPARE_OP_NOT_EQUAL = 5,
2422 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
2423 VK_COMPARE_OP_ALWAYS = 7,
2424 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
2427 typedef enum VkDynamicState {
2428 VK_DYNAMIC_STATE_VIEWPORT = 0,
2429 VK_DYNAMIC_STATE_SCISSOR = 1,
2430 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
2431 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
2432 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
2433 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
2434 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
2435 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
2436 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
2437 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
2438 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
2439 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
2440 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
2441 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
2442 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
2443 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
2444 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
2445 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
2446 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000,
2447 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001,
2448 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002,
2449 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003,
2450 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004,
2451 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005,
2452 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006,
2453 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007,
2454 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008,
2455 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009,
2456 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010,
2457 VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011,
2458 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
2459 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
2460 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = 1000377001,
2461 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = 1000377002,
2462 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
2463 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = 1000377004,
2464 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
2465 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
2468 typedef enum VkFrontFace {
2469 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
2470 VK_FRONT_FACE_CLOCKWISE = 1,
2471 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
2474 typedef enum VkVertexInputRate {
2475 VK_VERTEX_INPUT_RATE_VERTEX = 0,
2476 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
2477 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
2478 } VkVertexInputRate;
2480 typedef enum VkPrimitiveTopology {
2481 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
2482 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
2483 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
2484 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
2485 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
2486 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
2487 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
2488 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
2489 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
2490 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
2491 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
2492 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
2493 } VkPrimitiveTopology;
2495 typedef enum VkPolygonMode {
2496 VK_POLYGON_MODE_FILL = 0,
2497 VK_POLYGON_MODE_LINE = 1,
2498 VK_POLYGON_MODE_POINT = 2,
2499 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
2500 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
2503 typedef enum VkStencilOp {
2504 VK_STENCIL_OP_KEEP = 0,
2505 VK_STENCIL_OP_ZERO = 1,
2506 VK_STENCIL_OP_REPLACE = 2,
2507 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
2508 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
2509 VK_STENCIL_OP_INVERT = 5,
2510 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
2511 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
2512 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
2515 typedef enum VkLogicOp {
2516 VK_LOGIC_OP_CLEAR = 0,
2517 VK_LOGIC_OP_AND = 1,
2518 VK_LOGIC_OP_AND_REVERSE = 2,
2519 VK_LOGIC_OP_COPY = 3,
2520 VK_LOGIC_OP_AND_INVERTED = 4,
2521 VK_LOGIC_OP_NO_OP = 5,
2522 VK_LOGIC_OP_XOR = 6,
2524 VK_LOGIC_OP_NOR = 8,
2525 VK_LOGIC_OP_EQUIVALENT = 9,
2526 VK_LOGIC_OP_INVERT = 10,
2527 VK_LOGIC_OP_OR_REVERSE = 11,
2528 VK_LOGIC_OP_COPY_INVERTED = 12,
2529 VK_LOGIC_OP_OR_INVERTED = 13,
2530 VK_LOGIC_OP_NAND = 14,
2531 VK_LOGIC_OP_SET = 15,
2532 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
2535 typedef enum VkBorderColor {
2536 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
2537 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
2538 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
2539 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
2540 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
2541 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
2542 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
2543 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
2544 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
2547 typedef enum VkFilter {
2548 VK_FILTER_NEAREST = 0,
2549 VK_FILTER_LINEAR = 1,
2550 VK_FILTER_CUBIC_IMG = 1000015000,
2551 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
2552 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
2555 typedef enum VkSamplerAddressMode {
2556 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
2557 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
2558 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
2559 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
2560 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
2561 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
2562 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
2563 } VkSamplerAddressMode;
2565 typedef enum VkSamplerMipmapMode {
2566 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
2567 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
2568 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
2569 } VkSamplerMipmapMode;
2571 typedef enum VkDescriptorType {
2572 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
2573 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
2574 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
2575 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
2576 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
2577 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
2578 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
2579 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
2580 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
2581 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
2582 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
2583 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
2584 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
2585 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
2586 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
2587 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
2590 typedef enum VkAttachmentLoadOp {
2591 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
2592 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
2593 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
2594 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
2595 } VkAttachmentLoadOp;
2597 typedef enum VkAttachmentStoreOp {
2598 VK_ATTACHMENT_STORE_OP_STORE = 0,
2599 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
2600 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000,
2601 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
2602 } VkAttachmentStoreOp;
2604 typedef enum VkPipelineBindPoint {
2605 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
2606 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
2607 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
2608 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
2609 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
2610 } VkPipelineBindPoint;
2612 typedef enum VkCommandBufferLevel {
2613 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
2614 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
2615 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
2616 } VkCommandBufferLevel;
2618 typedef enum VkIndexType {
2619 VK_INDEX_TYPE_UINT16 = 0,
2620 VK_INDEX_TYPE_UINT32 = 1,
2621 VK_INDEX_TYPE_NONE_KHR = 1000165000,
2622 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
2623 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
2624 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
2627 typedef enum VkSubpassContents {
2628 VK_SUBPASS_CONTENTS_INLINE = 0,
2629 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
2630 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
2631 } VkSubpassContents;
2633 typedef enum VkAccessFlagBits {
2634 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
2635 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
2636 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
2637 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
2638 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
2639 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
2640 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
2641 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
2642 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
2643 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
2644 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
2645 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
2646 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
2647 VK_ACCESS_HOST_READ_BIT = 0x00002000,
2648 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
2649 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
2650 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
2651 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
2652 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
2653 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
2654 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
2655 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
2656 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
2657 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
2658 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
2659 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
2660 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
2661 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
2662 VK_ACCESS_NONE_KHR = 0,
2663 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
2664 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
2665 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV,
2666 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2668 typedef VkFlags VkAccessFlags;
2670 typedef enum VkImageAspectFlagBits {
2671 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
2672 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
2673 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
2674 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
2675 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
2676 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
2677 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
2678 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
2679 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
2680 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
2681 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
2682 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
2683 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
2684 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
2685 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2686 } VkImageAspectFlagBits;
2687 typedef VkFlags VkImageAspectFlags;
2689 typedef enum VkFormatFeatureFlagBits {
2690 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
2691 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
2692 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
2693 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
2694 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
2695 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
2696 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
2697 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
2698 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
2699 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
2700 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
2701 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
2702 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
2703 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
2704 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
2705 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
2706 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
2707 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
2708 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
2709 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
2710 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
2711 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
2712 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
2713 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
2714 #ifdef VK_ENABLE_BETA_EXTENSIONS
2715 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
2717 #ifdef VK_ENABLE_BETA_EXTENSIONS
2718 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
2720 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
2721 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
2722 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
2723 #ifdef VK_ENABLE_BETA_EXTENSIONS
2724 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
2726 #ifdef VK_ENABLE_BETA_EXTENSIONS
2727 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
2729 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
2730 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
2731 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
2732 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
2733 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
2734 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
2735 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
2736 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,
2737 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
2738 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
2739 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
2740 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2741 } VkFormatFeatureFlagBits;
2742 typedef VkFlags VkFormatFeatureFlags;
2744 typedef enum VkImageCreateFlagBits {
2745 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2746 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2747 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2748 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
2749 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
2750 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
2751 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
2752 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
2753 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
2754 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
2755 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
2756 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
2757 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
2758 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
2759 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
2760 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
2761 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
2762 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
2763 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
2764 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
2765 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
2766 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2767 } VkImageCreateFlagBits;
2768 typedef VkFlags VkImageCreateFlags;
2770 typedef enum VkSampleCountFlagBits {
2771 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
2772 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
2773 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
2774 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
2775 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
2776 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
2777 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
2778 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2779 } VkSampleCountFlagBits;
2780 typedef VkFlags VkSampleCountFlags;
2782 typedef enum VkImageUsageFlagBits {
2783 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2784 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
2785 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
2786 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
2787 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
2788 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
2789 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
2790 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
2791 #ifdef VK_ENABLE_BETA_EXTENSIONS
2792 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
2794 #ifdef VK_ENABLE_BETA_EXTENSIONS
2795 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
2797 #ifdef VK_ENABLE_BETA_EXTENSIONS
2798 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
2800 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
2801 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
2802 #ifdef VK_ENABLE_BETA_EXTENSIONS
2803 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
2805 #ifdef VK_ENABLE_BETA_EXTENSIONS
2806 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
2808 #ifdef VK_ENABLE_BETA_EXTENSIONS
2809 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
2811 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV,
2812 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2813 } VkImageUsageFlagBits;
2814 typedef VkFlags VkImageUsageFlags;
2815 typedef VkFlags VkInstanceCreateFlags;
2817 typedef enum VkMemoryHeapFlagBits {
2818 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
2819 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
2820 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
2821 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2822 } VkMemoryHeapFlagBits;
2823 typedef VkFlags VkMemoryHeapFlags;
2825 typedef enum VkMemoryPropertyFlagBits {
2826 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
2827 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
2828 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
2829 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
2830 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
2831 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
2832 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
2833 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
2834 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2835 } VkMemoryPropertyFlagBits;
2836 typedef VkFlags VkMemoryPropertyFlags;
2838 typedef enum VkQueueFlagBits {
2839 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
2840 VK_QUEUE_COMPUTE_BIT = 0x00000002,
2841 VK_QUEUE_TRANSFER_BIT = 0x00000004,
2842 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
2843 VK_QUEUE_PROTECTED_BIT = 0x00000010,
2844 #ifdef VK_ENABLE_BETA_EXTENSIONS
2845 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
2847 #ifdef VK_ENABLE_BETA_EXTENSIONS
2848 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
2850 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2852 typedef VkFlags VkQueueFlags;
2853 typedef VkFlags VkDeviceCreateFlags;
2855 typedef enum VkDeviceQueueCreateFlagBits {
2856 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
2857 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2858 } VkDeviceQueueCreateFlagBits;
2859 typedef VkFlags VkDeviceQueueCreateFlags;
2861 typedef enum VkPipelineStageFlagBits {
2862 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
2863 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
2864 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
2865 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
2866 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
2867 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
2868 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
2869 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
2870 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
2871 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
2872 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
2873 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
2874 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
2875 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
2876 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
2877 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
2878 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
2879 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
2880 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
2881 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
2882 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
2883 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00400000,
2884 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
2885 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
2886 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
2887 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
2888 VK_PIPELINE_STAGE_NONE_KHR = 0,
2889 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
2890 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
2891 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV,
2892 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2893 } VkPipelineStageFlagBits;
2894 typedef VkFlags VkPipelineStageFlags;
2895 typedef VkFlags VkMemoryMapFlags;
2897 typedef enum VkSparseMemoryBindFlagBits {
2898 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
2899 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2900 } VkSparseMemoryBindFlagBits;
2901 typedef VkFlags VkSparseMemoryBindFlags;
2903 typedef enum VkSparseImageFormatFlagBits {
2904 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
2905 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
2906 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
2907 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2908 } VkSparseImageFormatFlagBits;
2909 typedef VkFlags VkSparseImageFormatFlags;
2911 typedef enum VkFenceCreateFlagBits {
2912 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
2913 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2914 } VkFenceCreateFlagBits;
2915 typedef VkFlags VkFenceCreateFlags;
2916 typedef VkFlags VkSemaphoreCreateFlags;
2918 typedef enum VkEventCreateFlagBits {
2919 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 0x00000001,
2920 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2921 } VkEventCreateFlagBits;
2922 typedef VkFlags VkEventCreateFlags;
2924 typedef enum VkQueryPipelineStatisticFlagBits {
2925 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
2926 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
2927 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
2928 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
2929 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
2930 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
2931 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
2932 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
2933 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
2934 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
2935 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
2936 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2937 } VkQueryPipelineStatisticFlagBits;
2938 typedef VkFlags VkQueryPipelineStatisticFlags;
2939 typedef VkFlags VkQueryPoolCreateFlags;
2941 typedef enum VkQueryResultFlagBits {
2942 VK_QUERY_RESULT_64_BIT = 0x00000001,
2943 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
2944 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
2945 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
2946 #ifdef VK_ENABLE_BETA_EXTENSIONS
2947 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
2949 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2950 } VkQueryResultFlagBits;
2951 typedef VkFlags VkQueryResultFlags;
2953 typedef enum VkBufferCreateFlagBits {
2954 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2955 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2956 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2957 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
2958 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
2959 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2960 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2961 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2962 } VkBufferCreateFlagBits;
2963 typedef VkFlags VkBufferCreateFlags;
2965 typedef enum VkBufferUsageFlagBits {
2966 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2967 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
2968 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
2969 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
2970 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
2971 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
2972 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
2973 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
2974 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
2975 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
2976 #ifdef VK_ENABLE_BETA_EXTENSIONS
2977 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
2979 #ifdef VK_ENABLE_BETA_EXTENSIONS
2980 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
2982 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
2983 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
2984 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
2985 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
2986 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
2987 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
2988 #ifdef VK_ENABLE_BETA_EXTENSIONS
2989 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
2991 #ifdef VK_ENABLE_BETA_EXTENSIONS
2992 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
2994 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
2995 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2996 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2997 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2998 } VkBufferUsageFlagBits;
2999 typedef VkFlags VkBufferUsageFlags;
3000 typedef VkFlags VkBufferViewCreateFlags;
3002 typedef enum VkImageViewCreateFlagBits {
3003 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
3004 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
3005 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3006 } VkImageViewCreateFlagBits;
3007 typedef VkFlags VkImageViewCreateFlags;
3009 typedef enum VkShaderModuleCreateFlagBits {
3010 VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3011 } VkShaderModuleCreateFlagBits;
3012 typedef VkFlags VkShaderModuleCreateFlags;
3014 typedef enum VkPipelineCacheCreateFlagBits {
3015 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001,
3016 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3017 } VkPipelineCacheCreateFlagBits;
3018 typedef VkFlags VkPipelineCacheCreateFlags;
3020 typedef enum VkColorComponentFlagBits {
3021 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
3022 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
3023 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
3024 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
3025 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3026 } VkColorComponentFlagBits;
3027 typedef VkFlags VkColorComponentFlags;
3029 typedef enum VkPipelineCreateFlagBits {
3030 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
3031 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
3032 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
3033 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
3034 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
3035 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
3036 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
3037 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
3038 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
3039 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
3040 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
3041 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
3042 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
3043 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
3044 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
3045 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
3046 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
3047 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100,
3048 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200,
3049 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3050 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
3051 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
3052 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3053 } VkPipelineCreateFlagBits;
3054 typedef VkFlags VkPipelineCreateFlags;
3056 typedef enum VkPipelineShaderStageCreateFlagBits {
3057 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001,
3058 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002,
3059 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3060 } VkPipelineShaderStageCreateFlagBits;
3061 typedef VkFlags VkPipelineShaderStageCreateFlags;
3063 typedef enum VkShaderStageFlagBits {
3064 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
3065 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
3066 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
3067 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
3068 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
3069 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
3070 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
3071 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
3072 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
3073 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
3074 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
3075 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
3076 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
3077 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
3078 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
3079 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
3080 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
3081 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
3082 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
3083 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
3084 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
3085 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
3086 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3087 } VkShaderStageFlagBits;
3089 typedef enum VkCullModeFlagBits {
3090 VK_CULL_MODE_NONE = 0,
3091 VK_CULL_MODE_FRONT_BIT = 0x00000001,
3092 VK_CULL_MODE_BACK_BIT = 0x00000002,
3093 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
3094 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3095 } VkCullModeFlagBits;
3096 typedef VkFlags VkCullModeFlags;
3097 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
3098 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
3099 typedef VkFlags VkPipelineTessellationStateCreateFlags;
3100 typedef VkFlags VkPipelineViewportStateCreateFlags;
3101 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
3102 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
3103 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
3104 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
3105 typedef VkFlags VkPipelineDynamicStateCreateFlags;
3106 typedef VkFlags VkPipelineLayoutCreateFlags;
3107 typedef VkFlags VkShaderStageFlags;
3109 typedef enum VkSamplerCreateFlagBits {
3110 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
3111 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
3112 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3113 } VkSamplerCreateFlagBits;
3114 typedef VkFlags VkSamplerCreateFlags;
3116 typedef enum VkDescriptorPoolCreateFlagBits {
3117 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
3118 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
3119 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
3120 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
3121 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3122 } VkDescriptorPoolCreateFlagBits;
3123 typedef VkFlags VkDescriptorPoolCreateFlags;
3124 typedef VkFlags VkDescriptorPoolResetFlags;
3126 typedef enum VkDescriptorSetLayoutCreateFlagBits {
3127 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
3128 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
3129 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
3130 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
3131 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3132 } VkDescriptorSetLayoutCreateFlagBits;
3133 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
3135 typedef enum VkAttachmentDescriptionFlagBits {
3136 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
3137 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3138 } VkAttachmentDescriptionFlagBits;
3139 typedef VkFlags VkAttachmentDescriptionFlags;
3141 typedef enum VkDependencyFlagBits {
3142 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
3143 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
3144 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
3145 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
3146 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
3147 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3148 } VkDependencyFlagBits;
3149 typedef VkFlags VkDependencyFlags;
3151 typedef enum VkFramebufferCreateFlagBits {
3152 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
3153 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
3154 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3155 } VkFramebufferCreateFlagBits;
3156 typedef VkFlags VkFramebufferCreateFlags;
3158 typedef enum VkRenderPassCreateFlagBits {
3159 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
3160 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3161 } VkRenderPassCreateFlagBits;
3162 typedef VkFlags VkRenderPassCreateFlags;
3164 typedef enum VkSubpassDescriptionFlagBits {
3165 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
3166 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
3167 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
3168 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
3169 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3170 } VkSubpassDescriptionFlagBits;
3171 typedef VkFlags VkSubpassDescriptionFlags;
3173 typedef enum VkCommandPoolCreateFlagBits {
3174 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
3175 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
3176 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
3177 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3178 } VkCommandPoolCreateFlagBits;
3179 typedef VkFlags VkCommandPoolCreateFlags;
3181 typedef enum VkCommandPoolResetFlagBits {
3182 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3183 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3184 } VkCommandPoolResetFlagBits;
3185 typedef VkFlags VkCommandPoolResetFlags;
3187 typedef enum VkCommandBufferUsageFlagBits {
3188 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
3189 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
3190 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
3191 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3192 } VkCommandBufferUsageFlagBits;
3193 typedef VkFlags VkCommandBufferUsageFlags;
3195 typedef enum VkQueryControlFlagBits {
3196 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
3197 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3198 } VkQueryControlFlagBits;
3199 typedef VkFlags VkQueryControlFlags;
3201 typedef enum VkCommandBufferResetFlagBits {
3202 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3203 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3204 } VkCommandBufferResetFlagBits;
3205 typedef VkFlags VkCommandBufferResetFlags;
3207 typedef enum VkStencilFaceFlagBits {
3208 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
3209 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
3210 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
3211 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
3212 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3213 } VkStencilFaceFlagBits;
3214 typedef VkFlags VkStencilFaceFlags;
3215 typedef struct VkExtent2D {
3220 typedef struct VkExtent3D {
3226 typedef struct VkOffset2D {
3231 typedef struct VkOffset3D {
3237 typedef struct VkRect2D {
3242 typedef struct VkBaseInStructure {
3243 VkStructureType sType;
3244 const struct VkBaseInStructure* pNext;
3245 } VkBaseInStructure;
3247 typedef struct VkBaseOutStructure {
3248 VkStructureType sType;
3249 struct VkBaseOutStructure* pNext;
3250 } VkBaseOutStructure;
3252 typedef struct VkBufferMemoryBarrier {
3253 VkStructureType sType;
3255 VkAccessFlags srcAccessMask;
3256 VkAccessFlags dstAccessMask;
3257 deUint32 srcQueueFamilyIndex;
3258 deUint32 dstQueueFamilyIndex;
3260 VkDeviceSize offset;
3262 } VkBufferMemoryBarrier;
3264 typedef struct VkDispatchIndirectCommand {
3268 } VkDispatchIndirectCommand;
3270 typedef struct VkDrawIndexedIndirectCommand {
3271 deUint32 indexCount;
3272 deUint32 instanceCount;
3273 deUint32 firstIndex;
3274 deInt32 vertexOffset;
3275 deUint32 firstInstance;
3276 } VkDrawIndexedIndirectCommand;
3278 typedef struct VkDrawIndirectCommand {
3279 deUint32 vertexCount;
3280 deUint32 instanceCount;
3281 deUint32 firstVertex;
3282 deUint32 firstInstance;
3283 } VkDrawIndirectCommand;
3285 typedef struct VkImageSubresourceRange {
3286 VkImageAspectFlags aspectMask;
3287 deUint32 baseMipLevel;
3288 deUint32 levelCount;
3289 deUint32 baseArrayLayer;
3290 deUint32 layerCount;
3291 } VkImageSubresourceRange;
3293 typedef struct VkImageMemoryBarrier {
3294 VkStructureType sType;
3296 VkAccessFlags srcAccessMask;
3297 VkAccessFlags dstAccessMask;
3298 VkImageLayout oldLayout;
3299 VkImageLayout newLayout;
3300 deUint32 srcQueueFamilyIndex;
3301 deUint32 dstQueueFamilyIndex;
3303 VkImageSubresourceRange subresourceRange;
3304 } VkImageMemoryBarrier;
3306 typedef struct VkMemoryBarrier {
3307 VkStructureType sType;
3309 VkAccessFlags srcAccessMask;
3310 VkAccessFlags dstAccessMask;
3313 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
3316 deUintptr alignment,
3317 VkSystemAllocationScope allocationScope);
3319 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
3323 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
3326 VkInternalAllocationType allocationType,
3327 VkSystemAllocationScope allocationScope);
3329 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
3332 VkInternalAllocationType allocationType,
3333 VkSystemAllocationScope allocationScope);
3335 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
3339 deUintptr alignment,
3340 VkSystemAllocationScope allocationScope);
3342 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
3343 typedef struct VkAllocationCallbacks {
3345 PFN_vkAllocationFunction pfnAllocation;
3346 PFN_vkReallocationFunction pfnReallocation;
3347 PFN_vkFreeFunction pfnFree;
3348 PFN_vkInternalAllocationNotification pfnInternalAllocation;
3349 PFN_vkInternalFreeNotification pfnInternalFree;
3350 } VkAllocationCallbacks;
3352 typedef struct VkApplicationInfo {
3353 VkStructureType sType;
3355 const char* pApplicationName;
3356 deUint32 applicationVersion;
3357 const char* pEngineName;
3358 deUint32 engineVersion;
3359 deUint32 apiVersion;
3360 } VkApplicationInfo;
3362 typedef struct VkFormatProperties {
3363 VkFormatFeatureFlags linearTilingFeatures;
3364 VkFormatFeatureFlags optimalTilingFeatures;
3365 VkFormatFeatureFlags bufferFeatures;
3366 } VkFormatProperties;
3368 typedef struct VkImageFormatProperties {
3369 VkExtent3D maxExtent;
3370 deUint32 maxMipLevels;
3371 deUint32 maxArrayLayers;
3372 VkSampleCountFlags sampleCounts;
3373 VkDeviceSize maxResourceSize;
3374 } VkImageFormatProperties;
3376 typedef struct VkInstanceCreateInfo {
3377 VkStructureType sType;
3379 VkInstanceCreateFlags flags;
3380 const VkApplicationInfo* pApplicationInfo;
3381 deUint32 enabledLayerCount;
3382 const char* const* ppEnabledLayerNames;
3383 deUint32 enabledExtensionCount;
3384 const char* const* ppEnabledExtensionNames;
3385 } VkInstanceCreateInfo;
3387 typedef struct VkMemoryHeap {
3389 VkMemoryHeapFlags flags;
3392 typedef struct VkMemoryType {
3393 VkMemoryPropertyFlags propertyFlags;
3397 typedef struct VkPhysicalDeviceFeatures {
3398 VkBool32 robustBufferAccess;
3399 VkBool32 fullDrawIndexUint32;
3400 VkBool32 imageCubeArray;
3401 VkBool32 independentBlend;
3402 VkBool32 geometryShader;
3403 VkBool32 tessellationShader;
3404 VkBool32 sampleRateShading;
3405 VkBool32 dualSrcBlend;
3407 VkBool32 multiDrawIndirect;
3408 VkBool32 drawIndirectFirstInstance;
3409 VkBool32 depthClamp;
3410 VkBool32 depthBiasClamp;
3411 VkBool32 fillModeNonSolid;
3412 VkBool32 depthBounds;
3414 VkBool32 largePoints;
3415 VkBool32 alphaToOne;
3416 VkBool32 multiViewport;
3417 VkBool32 samplerAnisotropy;
3418 VkBool32 textureCompressionETC2;
3419 VkBool32 textureCompressionASTC_LDR;
3420 VkBool32 textureCompressionBC;
3421 VkBool32 occlusionQueryPrecise;
3422 VkBool32 pipelineStatisticsQuery;
3423 VkBool32 vertexPipelineStoresAndAtomics;
3424 VkBool32 fragmentStoresAndAtomics;
3425 VkBool32 shaderTessellationAndGeometryPointSize;
3426 VkBool32 shaderImageGatherExtended;
3427 VkBool32 shaderStorageImageExtendedFormats;
3428 VkBool32 shaderStorageImageMultisample;
3429 VkBool32 shaderStorageImageReadWithoutFormat;
3430 VkBool32 shaderStorageImageWriteWithoutFormat;
3431 VkBool32 shaderUniformBufferArrayDynamicIndexing;
3432 VkBool32 shaderSampledImageArrayDynamicIndexing;
3433 VkBool32 shaderStorageBufferArrayDynamicIndexing;
3434 VkBool32 shaderStorageImageArrayDynamicIndexing;
3435 VkBool32 shaderClipDistance;
3436 VkBool32 shaderCullDistance;
3437 VkBool32 shaderFloat64;
3438 VkBool32 shaderInt64;
3439 VkBool32 shaderInt16;
3440 VkBool32 shaderResourceResidency;
3441 VkBool32 shaderResourceMinLod;
3442 VkBool32 sparseBinding;
3443 VkBool32 sparseResidencyBuffer;
3444 VkBool32 sparseResidencyImage2D;
3445 VkBool32 sparseResidencyImage3D;
3446 VkBool32 sparseResidency2Samples;
3447 VkBool32 sparseResidency4Samples;
3448 VkBool32 sparseResidency8Samples;
3449 VkBool32 sparseResidency16Samples;
3450 VkBool32 sparseResidencyAliased;
3451 VkBool32 variableMultisampleRate;
3452 VkBool32 inheritedQueries;
3453 } VkPhysicalDeviceFeatures;
3455 typedef struct VkPhysicalDeviceLimits {
3456 deUint32 maxImageDimension1D;
3457 deUint32 maxImageDimension2D;
3458 deUint32 maxImageDimension3D;
3459 deUint32 maxImageDimensionCube;
3460 deUint32 maxImageArrayLayers;
3461 deUint32 maxTexelBufferElements;
3462 deUint32 maxUniformBufferRange;
3463 deUint32 maxStorageBufferRange;
3464 deUint32 maxPushConstantsSize;
3465 deUint32 maxMemoryAllocationCount;
3466 deUint32 maxSamplerAllocationCount;
3467 VkDeviceSize bufferImageGranularity;
3468 VkDeviceSize sparseAddressSpaceSize;
3469 deUint32 maxBoundDescriptorSets;
3470 deUint32 maxPerStageDescriptorSamplers;
3471 deUint32 maxPerStageDescriptorUniformBuffers;
3472 deUint32 maxPerStageDescriptorStorageBuffers;
3473 deUint32 maxPerStageDescriptorSampledImages;
3474 deUint32 maxPerStageDescriptorStorageImages;
3475 deUint32 maxPerStageDescriptorInputAttachments;
3476 deUint32 maxPerStageResources;
3477 deUint32 maxDescriptorSetSamplers;
3478 deUint32 maxDescriptorSetUniformBuffers;
3479 deUint32 maxDescriptorSetUniformBuffersDynamic;
3480 deUint32 maxDescriptorSetStorageBuffers;
3481 deUint32 maxDescriptorSetStorageBuffersDynamic;
3482 deUint32 maxDescriptorSetSampledImages;
3483 deUint32 maxDescriptorSetStorageImages;
3484 deUint32 maxDescriptorSetInputAttachments;
3485 deUint32 maxVertexInputAttributes;
3486 deUint32 maxVertexInputBindings;
3487 deUint32 maxVertexInputAttributeOffset;
3488 deUint32 maxVertexInputBindingStride;
3489 deUint32 maxVertexOutputComponents;
3490 deUint32 maxTessellationGenerationLevel;
3491 deUint32 maxTessellationPatchSize;
3492 deUint32 maxTessellationControlPerVertexInputComponents;
3493 deUint32 maxTessellationControlPerVertexOutputComponents;
3494 deUint32 maxTessellationControlPerPatchOutputComponents;
3495 deUint32 maxTessellationControlTotalOutputComponents;
3496 deUint32 maxTessellationEvaluationInputComponents;
3497 deUint32 maxTessellationEvaluationOutputComponents;
3498 deUint32 maxGeometryShaderInvocations;
3499 deUint32 maxGeometryInputComponents;
3500 deUint32 maxGeometryOutputComponents;
3501 deUint32 maxGeometryOutputVertices;
3502 deUint32 maxGeometryTotalOutputComponents;
3503 deUint32 maxFragmentInputComponents;
3504 deUint32 maxFragmentOutputAttachments;
3505 deUint32 maxFragmentDualSrcAttachments;
3506 deUint32 maxFragmentCombinedOutputResources;
3507 deUint32 maxComputeSharedMemorySize;
3508 deUint32 maxComputeWorkGroupCount[3];
3509 deUint32 maxComputeWorkGroupInvocations;
3510 deUint32 maxComputeWorkGroupSize[3];
3511 deUint32 subPixelPrecisionBits;
3512 deUint32 subTexelPrecisionBits;
3513 deUint32 mipmapPrecisionBits;
3514 deUint32 maxDrawIndexedIndexValue;
3515 deUint32 maxDrawIndirectCount;
3516 float maxSamplerLodBias;
3517 float maxSamplerAnisotropy;
3518 deUint32 maxViewports;
3519 deUint32 maxViewportDimensions[2];
3520 float viewportBoundsRange[2];
3521 deUint32 viewportSubPixelBits;
3522 deUintptr minMemoryMapAlignment;
3523 VkDeviceSize minTexelBufferOffsetAlignment;
3524 VkDeviceSize minUniformBufferOffsetAlignment;
3525 VkDeviceSize minStorageBufferOffsetAlignment;
3526 deInt32 minTexelOffset;
3527 deUint32 maxTexelOffset;
3528 deInt32 minTexelGatherOffset;
3529 deUint32 maxTexelGatherOffset;
3530 float minInterpolationOffset;
3531 float maxInterpolationOffset;
3532 deUint32 subPixelInterpolationOffsetBits;
3533 deUint32 maxFramebufferWidth;
3534 deUint32 maxFramebufferHeight;
3535 deUint32 maxFramebufferLayers;
3536 VkSampleCountFlags framebufferColorSampleCounts;
3537 VkSampleCountFlags framebufferDepthSampleCounts;
3538 VkSampleCountFlags framebufferStencilSampleCounts;
3539 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
3540 deUint32 maxColorAttachments;
3541 VkSampleCountFlags sampledImageColorSampleCounts;
3542 VkSampleCountFlags sampledImageIntegerSampleCounts;
3543 VkSampleCountFlags sampledImageDepthSampleCounts;
3544 VkSampleCountFlags sampledImageStencilSampleCounts;
3545 VkSampleCountFlags storageImageSampleCounts;
3546 deUint32 maxSampleMaskWords;
3547 VkBool32 timestampComputeAndGraphics;
3548 float timestampPeriod;
3549 deUint32 maxClipDistances;
3550 deUint32 maxCullDistances;
3551 deUint32 maxCombinedClipAndCullDistances;
3552 deUint32 discreteQueuePriorities;
3553 float pointSizeRange[2];
3554 float lineWidthRange[2];
3555 float pointSizeGranularity;
3556 float lineWidthGranularity;
3557 VkBool32 strictLines;
3558 VkBool32 standardSampleLocations;
3559 VkDeviceSize optimalBufferCopyOffsetAlignment;
3560 VkDeviceSize optimalBufferCopyRowPitchAlignment;
3561 VkDeviceSize nonCoherentAtomSize;
3562 } VkPhysicalDeviceLimits;
3564 typedef struct VkPhysicalDeviceMemoryProperties {
3565 deUint32 memoryTypeCount;
3566 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
3567 deUint32 memoryHeapCount;
3568 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
3569 } VkPhysicalDeviceMemoryProperties;
3571 typedef struct VkPhysicalDeviceSparseProperties {
3572 VkBool32 residencyStandard2DBlockShape;
3573 VkBool32 residencyStandard2DMultisampleBlockShape;
3574 VkBool32 residencyStandard3DBlockShape;
3575 VkBool32 residencyAlignedMipSize;
3576 VkBool32 residencyNonResidentStrict;
3577 } VkPhysicalDeviceSparseProperties;
3579 typedef struct VkPhysicalDeviceProperties {
3580 deUint32 apiVersion;
3581 deUint32 driverVersion;
3584 VkPhysicalDeviceType deviceType;
3585 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
3586 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
3587 VkPhysicalDeviceLimits limits;
3588 VkPhysicalDeviceSparseProperties sparseProperties;
3589 } VkPhysicalDeviceProperties;
3591 typedef struct VkQueueFamilyProperties {
3592 VkQueueFlags queueFlags;
3593 deUint32 queueCount;
3594 deUint32 timestampValidBits;
3595 VkExtent3D minImageTransferGranularity;
3596 } VkQueueFamilyProperties;
3598 typedef struct VkDeviceQueueCreateInfo {
3599 VkStructureType sType;
3601 VkDeviceQueueCreateFlags flags;
3602 deUint32 queueFamilyIndex;
3603 deUint32 queueCount;
3604 const float* pQueuePriorities;
3605 } VkDeviceQueueCreateInfo;
3607 typedef struct VkDeviceCreateInfo {
3608 VkStructureType sType;
3610 VkDeviceCreateFlags flags;
3611 deUint32 queueCreateInfoCount;
3612 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
3613 deUint32 enabledLayerCount;
3614 const char* const* ppEnabledLayerNames;
3615 deUint32 enabledExtensionCount;
3616 const char* const* ppEnabledExtensionNames;
3617 const VkPhysicalDeviceFeatures* pEnabledFeatures;
3618 } VkDeviceCreateInfo;
3620 typedef struct VkExtensionProperties {
3621 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
3622 deUint32 specVersion;
3623 } VkExtensionProperties;
3625 typedef struct VkLayerProperties {
3626 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
3627 deUint32 specVersion;
3628 deUint32 implementationVersion;
3629 char description[VK_MAX_DESCRIPTION_SIZE];
3630 } VkLayerProperties;
3632 typedef struct VkSubmitInfo {
3633 VkStructureType sType;
3635 deUint32 waitSemaphoreCount;
3636 const VkSemaphore* pWaitSemaphores;
3637 const VkPipelineStageFlags* pWaitDstStageMask;
3638 deUint32 commandBufferCount;
3639 const VkCommandBuffer* pCommandBuffers;
3640 deUint32 signalSemaphoreCount;
3641 const VkSemaphore* pSignalSemaphores;
3644 typedef struct VkMappedMemoryRange {
3645 VkStructureType sType;
3647 VkDeviceMemory memory;
3648 VkDeviceSize offset;
3650 } VkMappedMemoryRange;
3652 typedef struct VkMemoryAllocateInfo {
3653 VkStructureType sType;
3655 VkDeviceSize allocationSize;
3656 deUint32 memoryTypeIndex;
3657 } VkMemoryAllocateInfo;
3659 typedef struct VkMemoryRequirements {
3661 VkDeviceSize alignment;
3662 deUint32 memoryTypeBits;
3663 } VkMemoryRequirements;
3665 typedef struct VkSparseMemoryBind {
3666 VkDeviceSize resourceOffset;
3668 VkDeviceMemory memory;
3669 VkDeviceSize memoryOffset;
3670 VkSparseMemoryBindFlags flags;
3671 } VkSparseMemoryBind;
3673 typedef struct VkSparseBufferMemoryBindInfo {
3676 const VkSparseMemoryBind* pBinds;
3677 } VkSparseBufferMemoryBindInfo;
3679 typedef struct VkSparseImageOpaqueMemoryBindInfo {
3682 const VkSparseMemoryBind* pBinds;
3683 } VkSparseImageOpaqueMemoryBindInfo;
3685 typedef struct VkImageSubresource {
3686 VkImageAspectFlags aspectMask;
3688 deUint32 arrayLayer;
3689 } VkImageSubresource;
3691 typedef struct VkSparseImageMemoryBind {
3692 VkImageSubresource subresource;
3695 VkDeviceMemory memory;
3696 VkDeviceSize memoryOffset;
3697 VkSparseMemoryBindFlags flags;
3698 } VkSparseImageMemoryBind;
3700 typedef struct VkSparseImageMemoryBindInfo {
3703 const VkSparseImageMemoryBind* pBinds;
3704 } VkSparseImageMemoryBindInfo;
3706 typedef struct VkBindSparseInfo {
3707 VkStructureType sType;
3709 deUint32 waitSemaphoreCount;
3710 const VkSemaphore* pWaitSemaphores;
3711 deUint32 bufferBindCount;
3712 const VkSparseBufferMemoryBindInfo* pBufferBinds;
3713 deUint32 imageOpaqueBindCount;
3714 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
3715 deUint32 imageBindCount;
3716 const VkSparseImageMemoryBindInfo* pImageBinds;
3717 deUint32 signalSemaphoreCount;
3718 const VkSemaphore* pSignalSemaphores;
3721 typedef struct VkSparseImageFormatProperties {
3722 VkImageAspectFlags aspectMask;
3723 VkExtent3D imageGranularity;
3724 VkSparseImageFormatFlags flags;
3725 } VkSparseImageFormatProperties;
3727 typedef struct VkSparseImageMemoryRequirements {
3728 VkSparseImageFormatProperties formatProperties;
3729 deUint32 imageMipTailFirstLod;
3730 VkDeviceSize imageMipTailSize;
3731 VkDeviceSize imageMipTailOffset;
3732 VkDeviceSize imageMipTailStride;
3733 } VkSparseImageMemoryRequirements;
3735 typedef struct VkFenceCreateInfo {
3736 VkStructureType sType;
3738 VkFenceCreateFlags flags;
3739 } VkFenceCreateInfo;
3741 typedef struct VkSemaphoreCreateInfo {
3742 VkStructureType sType;
3744 VkSemaphoreCreateFlags flags;
3745 } VkSemaphoreCreateInfo;
3747 typedef struct VkEventCreateInfo {
3748 VkStructureType sType;
3750 VkEventCreateFlags flags;
3751 } VkEventCreateInfo;
3753 typedef struct VkQueryPoolCreateInfo {
3754 VkStructureType sType;
3756 VkQueryPoolCreateFlags flags;
3757 VkQueryType queryType;
3758 deUint32 queryCount;
3759 VkQueryPipelineStatisticFlags pipelineStatistics;
3760 } VkQueryPoolCreateInfo;
3762 typedef struct VkBufferCreateInfo {
3763 VkStructureType sType;
3765 VkBufferCreateFlags flags;
3767 VkBufferUsageFlags usage;
3768 VkSharingMode sharingMode;
3769 deUint32 queueFamilyIndexCount;
3770 const deUint32* pQueueFamilyIndices;
3771 } VkBufferCreateInfo;
3773 typedef struct VkBufferViewCreateInfo {
3774 VkStructureType sType;
3776 VkBufferViewCreateFlags flags;
3779 VkDeviceSize offset;
3781 } VkBufferViewCreateInfo;
3783 typedef struct VkImageCreateInfo {
3784 VkStructureType sType;
3786 VkImageCreateFlags flags;
3787 VkImageType imageType;
3791 deUint32 arrayLayers;
3792 VkSampleCountFlagBits samples;
3793 VkImageTiling tiling;
3794 VkImageUsageFlags usage;
3795 VkSharingMode sharingMode;
3796 deUint32 queueFamilyIndexCount;
3797 const deUint32* pQueueFamilyIndices;
3798 VkImageLayout initialLayout;
3799 } VkImageCreateInfo;
3801 typedef struct VkSubresourceLayout {
3802 VkDeviceSize offset;
3804 VkDeviceSize rowPitch;
3805 VkDeviceSize arrayPitch;
3806 VkDeviceSize depthPitch;
3807 } VkSubresourceLayout;
3809 typedef struct VkComponentMapping {
3810 VkComponentSwizzle r;
3811 VkComponentSwizzle g;
3812 VkComponentSwizzle b;
3813 VkComponentSwizzle a;
3814 } VkComponentMapping;
3816 typedef struct VkImageViewCreateInfo {
3817 VkStructureType sType;
3819 VkImageViewCreateFlags flags;
3821 VkImageViewType viewType;
3823 VkComponentMapping components;
3824 VkImageSubresourceRange subresourceRange;
3825 } VkImageViewCreateInfo;
3827 typedef struct VkShaderModuleCreateInfo {
3828 VkStructureType sType;
3830 VkShaderModuleCreateFlags flags;
3832 const deUint32* pCode;
3833 } VkShaderModuleCreateInfo;
3835 typedef struct VkPipelineCacheCreateInfo {
3836 VkStructureType sType;
3838 VkPipelineCacheCreateFlags flags;
3839 deUintptr initialDataSize;
3840 const void* pInitialData;
3841 } VkPipelineCacheCreateInfo;
3843 typedef struct VkSpecializationMapEntry {
3844 deUint32 constantID;
3847 } VkSpecializationMapEntry;
3849 typedef struct VkSpecializationInfo {
3850 deUint32 mapEntryCount;
3851 const VkSpecializationMapEntry* pMapEntries;
3854 } VkSpecializationInfo;
3856 typedef struct VkPipelineShaderStageCreateInfo {
3857 VkStructureType sType;
3859 VkPipelineShaderStageCreateFlags flags;
3860 VkShaderStageFlagBits stage;
3861 VkShaderModule module;
3863 const VkSpecializationInfo* pSpecializationInfo;
3864 } VkPipelineShaderStageCreateInfo;
3866 typedef struct VkComputePipelineCreateInfo {
3867 VkStructureType sType;
3869 VkPipelineCreateFlags flags;
3870 VkPipelineShaderStageCreateInfo stage;
3871 VkPipelineLayout layout;
3872 VkPipeline basePipelineHandle;
3873 deInt32 basePipelineIndex;
3874 } VkComputePipelineCreateInfo;
3876 typedef struct VkVertexInputBindingDescription {
3879 VkVertexInputRate inputRate;
3880 } VkVertexInputBindingDescription;
3882 typedef struct VkVertexInputAttributeDescription {
3887 } VkVertexInputAttributeDescription;
3889 typedef struct VkPipelineVertexInputStateCreateInfo {
3890 VkStructureType sType;
3892 VkPipelineVertexInputStateCreateFlags flags;
3893 deUint32 vertexBindingDescriptionCount;
3894 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
3895 deUint32 vertexAttributeDescriptionCount;
3896 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
3897 } VkPipelineVertexInputStateCreateInfo;
3899 typedef struct VkPipelineInputAssemblyStateCreateInfo {
3900 VkStructureType sType;
3902 VkPipelineInputAssemblyStateCreateFlags flags;
3903 VkPrimitiveTopology topology;
3904 VkBool32 primitiveRestartEnable;
3905 } VkPipelineInputAssemblyStateCreateInfo;
3907 typedef struct VkPipelineTessellationStateCreateInfo {
3908 VkStructureType sType;
3910 VkPipelineTessellationStateCreateFlags flags;
3911 deUint32 patchControlPoints;
3912 } VkPipelineTessellationStateCreateInfo;
3914 typedef struct VkViewport {
3923 typedef struct VkPipelineViewportStateCreateInfo {
3924 VkStructureType sType;
3926 VkPipelineViewportStateCreateFlags flags;
3927 deUint32 viewportCount;
3928 const VkViewport* pViewports;
3929 deUint32 scissorCount;
3930 const VkRect2D* pScissors;
3931 } VkPipelineViewportStateCreateInfo;
3933 typedef struct VkPipelineRasterizationStateCreateInfo {
3934 VkStructureType sType;
3936 VkPipelineRasterizationStateCreateFlags flags;
3937 VkBool32 depthClampEnable;
3938 VkBool32 rasterizerDiscardEnable;
3939 VkPolygonMode polygonMode;
3940 VkCullModeFlags cullMode;
3941 VkFrontFace frontFace;
3942 VkBool32 depthBiasEnable;
3943 float depthBiasConstantFactor;
3944 float depthBiasClamp;
3945 float depthBiasSlopeFactor;
3947 } VkPipelineRasterizationStateCreateInfo;
3949 typedef struct VkPipelineMultisampleStateCreateInfo {
3950 VkStructureType sType;
3952 VkPipelineMultisampleStateCreateFlags flags;
3953 VkSampleCountFlagBits rasterizationSamples;
3954 VkBool32 sampleShadingEnable;
3955 float minSampleShading;
3956 const VkSampleMask* pSampleMask;
3957 VkBool32 alphaToCoverageEnable;
3958 VkBool32 alphaToOneEnable;
3959 } VkPipelineMultisampleStateCreateInfo;
3961 typedef struct VkStencilOpState {
3964 VkStencilOp depthFailOp;
3965 VkCompareOp compareOp;
3966 deUint32 compareMask;
3971 typedef struct VkPipelineDepthStencilStateCreateInfo {
3972 VkStructureType sType;
3974 VkPipelineDepthStencilStateCreateFlags flags;
3975 VkBool32 depthTestEnable;
3976 VkBool32 depthWriteEnable;
3977 VkCompareOp depthCompareOp;
3978 VkBool32 depthBoundsTestEnable;
3979 VkBool32 stencilTestEnable;
3980 VkStencilOpState front;
3981 VkStencilOpState back;
3982 float minDepthBounds;
3983 float maxDepthBounds;
3984 } VkPipelineDepthStencilStateCreateInfo;
3986 typedef struct VkPipelineColorBlendAttachmentState {
3987 VkBool32 blendEnable;
3988 VkBlendFactor srcColorBlendFactor;
3989 VkBlendFactor dstColorBlendFactor;
3990 VkBlendOp colorBlendOp;
3991 VkBlendFactor srcAlphaBlendFactor;
3992 VkBlendFactor dstAlphaBlendFactor;
3993 VkBlendOp alphaBlendOp;
3994 VkColorComponentFlags colorWriteMask;
3995 } VkPipelineColorBlendAttachmentState;
3997 typedef struct VkPipelineColorBlendStateCreateInfo {
3998 VkStructureType sType;
4000 VkPipelineColorBlendStateCreateFlags flags;
4001 VkBool32 logicOpEnable;
4003 deUint32 attachmentCount;
4004 const VkPipelineColorBlendAttachmentState* pAttachments;
4005 float blendConstants[4];
4006 } VkPipelineColorBlendStateCreateInfo;
4008 typedef struct VkPipelineDynamicStateCreateInfo {
4009 VkStructureType sType;
4011 VkPipelineDynamicStateCreateFlags flags;
4012 deUint32 dynamicStateCount;
4013 const VkDynamicState* pDynamicStates;
4014 } VkPipelineDynamicStateCreateInfo;
4016 typedef struct VkGraphicsPipelineCreateInfo {
4017 VkStructureType sType;
4019 VkPipelineCreateFlags flags;
4020 deUint32 stageCount;
4021 const VkPipelineShaderStageCreateInfo* pStages;
4022 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
4023 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
4024 const VkPipelineTessellationStateCreateInfo* pTessellationState;
4025 const VkPipelineViewportStateCreateInfo* pViewportState;
4026 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
4027 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
4028 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
4029 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
4030 const VkPipelineDynamicStateCreateInfo* pDynamicState;
4031 VkPipelineLayout layout;
4032 VkRenderPass renderPass;
4034 VkPipeline basePipelineHandle;
4035 deInt32 basePipelineIndex;
4036 } VkGraphicsPipelineCreateInfo;
4038 typedef struct VkPushConstantRange {
4039 VkShaderStageFlags stageFlags;
4042 } VkPushConstantRange;
4044 typedef struct VkPipelineLayoutCreateInfo {
4045 VkStructureType sType;
4047 VkPipelineLayoutCreateFlags flags;
4048 deUint32 setLayoutCount;
4049 const VkDescriptorSetLayout* pSetLayouts;
4050 deUint32 pushConstantRangeCount;
4051 const VkPushConstantRange* pPushConstantRanges;
4052 } VkPipelineLayoutCreateInfo;
4054 typedef struct VkSamplerCreateInfo {
4055 VkStructureType sType;
4057 VkSamplerCreateFlags flags;
4060 VkSamplerMipmapMode mipmapMode;
4061 VkSamplerAddressMode addressModeU;
4062 VkSamplerAddressMode addressModeV;
4063 VkSamplerAddressMode addressModeW;
4065 VkBool32 anisotropyEnable;
4066 float maxAnisotropy;
4067 VkBool32 compareEnable;
4068 VkCompareOp compareOp;
4071 VkBorderColor borderColor;
4072 VkBool32 unnormalizedCoordinates;
4073 } VkSamplerCreateInfo;
4075 typedef struct VkCopyDescriptorSet {
4076 VkStructureType sType;
4078 VkDescriptorSet srcSet;
4079 deUint32 srcBinding;
4080 deUint32 srcArrayElement;
4081 VkDescriptorSet dstSet;
4082 deUint32 dstBinding;
4083 deUint32 dstArrayElement;
4084 deUint32 descriptorCount;
4085 } VkCopyDescriptorSet;
4087 typedef struct VkDescriptorBufferInfo {
4089 VkDeviceSize offset;
4091 } VkDescriptorBufferInfo;
4093 typedef struct VkDescriptorImageInfo {
4095 VkImageView imageView;
4096 VkImageLayout imageLayout;
4097 } VkDescriptorImageInfo;
4099 typedef struct VkDescriptorPoolSize {
4100 VkDescriptorType type;
4101 deUint32 descriptorCount;
4102 } VkDescriptorPoolSize;
4104 typedef struct VkDescriptorPoolCreateInfo {
4105 VkStructureType sType;
4107 VkDescriptorPoolCreateFlags flags;
4109 deUint32 poolSizeCount;
4110 const VkDescriptorPoolSize* pPoolSizes;
4111 } VkDescriptorPoolCreateInfo;
4113 typedef struct VkDescriptorSetAllocateInfo {
4114 VkStructureType sType;
4116 VkDescriptorPool descriptorPool;
4117 deUint32 descriptorSetCount;
4118 const VkDescriptorSetLayout* pSetLayouts;
4119 } VkDescriptorSetAllocateInfo;
4121 typedef struct VkDescriptorSetLayoutBinding {
4123 VkDescriptorType descriptorType;
4124 deUint32 descriptorCount;
4125 VkShaderStageFlags stageFlags;
4126 const VkSampler* pImmutableSamplers;
4127 } VkDescriptorSetLayoutBinding;
4129 typedef struct VkDescriptorSetLayoutCreateInfo {
4130 VkStructureType sType;
4132 VkDescriptorSetLayoutCreateFlags flags;
4133 deUint32 bindingCount;
4134 const VkDescriptorSetLayoutBinding* pBindings;
4135 } VkDescriptorSetLayoutCreateInfo;
4137 typedef struct VkWriteDescriptorSet {
4138 VkStructureType sType;
4140 VkDescriptorSet dstSet;
4141 deUint32 dstBinding;
4142 deUint32 dstArrayElement;
4143 deUint32 descriptorCount;
4144 VkDescriptorType descriptorType;
4145 const VkDescriptorImageInfo* pImageInfo;
4146 const VkDescriptorBufferInfo* pBufferInfo;
4147 const VkBufferView* pTexelBufferView;
4148 } VkWriteDescriptorSet;
4150 typedef struct VkAttachmentDescription {
4151 VkAttachmentDescriptionFlags flags;
4153 VkSampleCountFlagBits samples;
4154 VkAttachmentLoadOp loadOp;
4155 VkAttachmentStoreOp storeOp;
4156 VkAttachmentLoadOp stencilLoadOp;
4157 VkAttachmentStoreOp stencilStoreOp;
4158 VkImageLayout initialLayout;
4159 VkImageLayout finalLayout;
4160 } VkAttachmentDescription;
4162 typedef struct VkAttachmentReference {
4163 deUint32 attachment;
4164 VkImageLayout layout;
4165 } VkAttachmentReference;
4167 typedef struct VkFramebufferCreateInfo {
4168 VkStructureType sType;
4170 VkFramebufferCreateFlags flags;
4171 VkRenderPass renderPass;
4172 deUint32 attachmentCount;
4173 const VkImageView* pAttachments;
4177 } VkFramebufferCreateInfo;
4179 typedef struct VkSubpassDescription {
4180 VkSubpassDescriptionFlags flags;
4181 VkPipelineBindPoint pipelineBindPoint;
4182 deUint32 inputAttachmentCount;
4183 const VkAttachmentReference* pInputAttachments;
4184 deUint32 colorAttachmentCount;
4185 const VkAttachmentReference* pColorAttachments;
4186 const VkAttachmentReference* pResolveAttachments;
4187 const VkAttachmentReference* pDepthStencilAttachment;
4188 deUint32 preserveAttachmentCount;
4189 const deUint32* pPreserveAttachments;
4190 } VkSubpassDescription;
4192 typedef struct VkSubpassDependency {
4193 deUint32 srcSubpass;
4194 deUint32 dstSubpass;
4195 VkPipelineStageFlags srcStageMask;
4196 VkPipelineStageFlags dstStageMask;
4197 VkAccessFlags srcAccessMask;
4198 VkAccessFlags dstAccessMask;
4199 VkDependencyFlags dependencyFlags;
4200 } VkSubpassDependency;
4202 typedef struct VkRenderPassCreateInfo {
4203 VkStructureType sType;
4205 VkRenderPassCreateFlags flags;
4206 deUint32 attachmentCount;
4207 const VkAttachmentDescription* pAttachments;
4208 deUint32 subpassCount;
4209 const VkSubpassDescription* pSubpasses;
4210 deUint32 dependencyCount;
4211 const VkSubpassDependency* pDependencies;
4212 } VkRenderPassCreateInfo;
4214 typedef struct VkCommandPoolCreateInfo {
4215 VkStructureType sType;
4217 VkCommandPoolCreateFlags flags;
4218 deUint32 queueFamilyIndex;
4219 } VkCommandPoolCreateInfo;
4221 typedef struct VkCommandBufferAllocateInfo {
4222 VkStructureType sType;
4224 VkCommandPool commandPool;
4225 VkCommandBufferLevel level;
4226 deUint32 commandBufferCount;
4227 } VkCommandBufferAllocateInfo;
4229 typedef struct VkCommandBufferInheritanceInfo {
4230 VkStructureType sType;
4232 VkRenderPass renderPass;
4234 VkFramebuffer framebuffer;
4235 VkBool32 occlusionQueryEnable;
4236 VkQueryControlFlags queryFlags;
4237 VkQueryPipelineStatisticFlags pipelineStatistics;
4238 } VkCommandBufferInheritanceInfo;
4240 typedef struct VkCommandBufferBeginInfo {
4241 VkStructureType sType;
4243 VkCommandBufferUsageFlags flags;
4244 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
4245 } VkCommandBufferBeginInfo;
4247 typedef struct VkBufferCopy {
4248 VkDeviceSize srcOffset;
4249 VkDeviceSize dstOffset;
4253 typedef struct VkImageSubresourceLayers {
4254 VkImageAspectFlags aspectMask;
4256 deUint32 baseArrayLayer;
4257 deUint32 layerCount;
4258 } VkImageSubresourceLayers;
4260 typedef struct VkBufferImageCopy {
4261 VkDeviceSize bufferOffset;
4262 deUint32 bufferRowLength;
4263 deUint32 bufferImageHeight;
4264 VkImageSubresourceLayers imageSubresource;
4265 VkOffset3D imageOffset;
4266 VkExtent3D imageExtent;
4267 } VkBufferImageCopy;
4269 typedef union VkClearColorValue {
4273 } VkClearColorValue;
4275 typedef struct VkClearDepthStencilValue {
4278 } VkClearDepthStencilValue;
4280 typedef union VkClearValue {
4281 VkClearColorValue color;
4282 VkClearDepthStencilValue depthStencil;
4285 typedef struct VkClearAttachment {
4286 VkImageAspectFlags aspectMask;
4287 deUint32 colorAttachment;
4288 VkClearValue clearValue;
4289 } VkClearAttachment;
4291 typedef struct VkClearRect {
4293 deUint32 baseArrayLayer;
4294 deUint32 layerCount;
4297 typedef struct VkImageBlit {
4298 VkImageSubresourceLayers srcSubresource;
4299 VkOffset3D srcOffsets[2];
4300 VkImageSubresourceLayers dstSubresource;
4301 VkOffset3D dstOffsets[2];
4304 typedef struct VkImageCopy {
4305 VkImageSubresourceLayers srcSubresource;
4306 VkOffset3D srcOffset;
4307 VkImageSubresourceLayers dstSubresource;
4308 VkOffset3D dstOffset;
4312 typedef struct VkImageResolve {
4313 VkImageSubresourceLayers srcSubresource;
4314 VkOffset3D srcOffset;
4315 VkImageSubresourceLayers dstSubresource;
4316 VkOffset3D dstOffset;
4320 typedef struct VkRenderPassBeginInfo {
4321 VkStructureType sType;
4323 VkRenderPass renderPass;
4324 VkFramebuffer framebuffer;
4325 VkRect2D renderArea;
4326 deUint32 clearValueCount;
4327 const VkClearValue* pClearValues;
4328 } VkRenderPassBeginInfo;
4330 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
4331 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
4332 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
4333 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
4334 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
4335 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
4336 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
4337 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
4338 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4339 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
4340 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
4341 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
4342 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
4343 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4344 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4345 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(deUint32* pPropertyCount, VkLayerProperties* pProperties);
4346 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties);
4347 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue);
4348 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
4349 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
4350 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
4351 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
4352 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
4353 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
4354 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
4355 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4356 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4357 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
4358 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4359 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4360 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
4361 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
4362 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4363 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties);
4364 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
4365 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
4366 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
4367 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences);
4368 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
4369 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout);
4370 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
4371 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
4372 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
4373 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
4374 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
4375 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
4376 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
4377 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
4378 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
4379 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
4380 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
4381 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
4382 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
4383 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
4384 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
4385 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
4386 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
4387 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
4388 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
4389 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
4390 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
4391 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
4392 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
4393 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData);
4394 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches);
4395 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4396 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4397 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
4398 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
4399 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
4400 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
4401 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
4402 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
4403 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
4404 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
4405 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
4406 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
4407 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
4408 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
4409 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
4410 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
4411 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
4412 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
4413 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
4414 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
4415 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
4416 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
4417 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
4418 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
4419 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4420 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
4421 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
4422 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
4423 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
4424 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports);
4425 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors);
4426 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
4427 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
4428 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
4429 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
4430 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask);
4431 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask);
4432 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference);
4433 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets);
4434 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
4435 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
4436 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance);
4437 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance);
4438 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4439 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4440 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
4441 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
4442 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions);
4443 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions);
4444 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter);
4445 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4446 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4447 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
4448 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data);
4449 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4450 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4451 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects);
4452 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions);
4453 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4454 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4455 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);
4456 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);
4457 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags);
4458 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query);
4459 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
4460 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query);
4461 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
4462 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues);
4463 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
4464 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
4465 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
4466 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4468 #ifndef VK_NO_PROTOTYPES
4469 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
4470 const VkInstanceCreateInfo* pCreateInfo,
4471 const VkAllocationCallbacks* pAllocator,
4472 VkInstance* pInstance);
4474 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
4475 VkInstance instance,
4476 const VkAllocationCallbacks* pAllocator);
4478 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
4479 VkInstance instance,
4480 deUint32* pPhysicalDeviceCount,
4481 VkPhysicalDevice* pPhysicalDevices);
4483 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
4484 VkPhysicalDevice physicalDevice,
4485 VkPhysicalDeviceFeatures* pFeatures);
4487 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
4488 VkPhysicalDevice physicalDevice,
4490 VkFormatProperties* pFormatProperties);
4492 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
4493 VkPhysicalDevice physicalDevice,
4496 VkImageTiling tiling,
4497 VkImageUsageFlags usage,
4498 VkImageCreateFlags flags,
4499 VkImageFormatProperties* pImageFormatProperties);
4501 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
4502 VkPhysicalDevice physicalDevice,
4503 VkPhysicalDeviceProperties* pProperties);
4505 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
4506 VkPhysicalDevice physicalDevice,
4507 deUint32* pQueueFamilyPropertyCount,
4508 VkQueueFamilyProperties* pQueueFamilyProperties);
4510 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
4511 VkPhysicalDevice physicalDevice,
4512 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4514 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
4515 VkInstance instance,
4518 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
4522 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
4523 VkPhysicalDevice physicalDevice,
4524 const VkDeviceCreateInfo* pCreateInfo,
4525 const VkAllocationCallbacks* pAllocator,
4528 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
4530 const VkAllocationCallbacks* pAllocator);
4532 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
4533 const char* pLayerName,
4534 deUint32* pPropertyCount,
4535 VkExtensionProperties* pProperties);
4537 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
4538 VkPhysicalDevice physicalDevice,
4539 const char* pLayerName,
4540 deUint32* pPropertyCount,
4541 VkExtensionProperties* pProperties);
4543 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
4544 deUint32* pPropertyCount,
4545 VkLayerProperties* pProperties);
4547 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
4548 VkPhysicalDevice physicalDevice,
4549 deUint32* pPropertyCount,
4550 VkLayerProperties* pProperties);
4552 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
4554 deUint32 queueFamilyIndex,
4555 deUint32 queueIndex,
4558 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
4560 deUint32 submitCount,
4561 const VkSubmitInfo* pSubmits,
4564 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
4567 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
4570 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
4572 const VkMemoryAllocateInfo* pAllocateInfo,
4573 const VkAllocationCallbacks* pAllocator,
4574 VkDeviceMemory* pMemory);
4576 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
4578 VkDeviceMemory memory,
4579 const VkAllocationCallbacks* pAllocator);
4581 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
4583 VkDeviceMemory memory,
4584 VkDeviceSize offset,
4586 VkMemoryMapFlags flags,
4589 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
4591 VkDeviceMemory memory);
4593 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
4595 deUint32 memoryRangeCount,
4596 const VkMappedMemoryRange* pMemoryRanges);
4598 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
4600 deUint32 memoryRangeCount,
4601 const VkMappedMemoryRange* pMemoryRanges);
4603 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
4605 VkDeviceMemory memory,
4606 VkDeviceSize* pCommittedMemoryInBytes);
4608 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
4611 VkDeviceMemory memory,
4612 VkDeviceSize memoryOffset);
4614 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
4617 VkDeviceMemory memory,
4618 VkDeviceSize memoryOffset);
4620 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
4623 VkMemoryRequirements* pMemoryRequirements);
4625 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
4628 VkMemoryRequirements* pMemoryRequirements);
4630 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
4633 deUint32* pSparseMemoryRequirementCount,
4634 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4636 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
4637 VkPhysicalDevice physicalDevice,
4640 VkSampleCountFlagBits samples,
4641 VkImageUsageFlags usage,
4642 VkImageTiling tiling,
4643 deUint32* pPropertyCount,
4644 VkSparseImageFormatProperties* pProperties);
4646 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
4648 deUint32 bindInfoCount,
4649 const VkBindSparseInfo* pBindInfo,
4652 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
4654 const VkFenceCreateInfo* pCreateInfo,
4655 const VkAllocationCallbacks* pAllocator,
4658 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
4661 const VkAllocationCallbacks* pAllocator);
4663 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
4665 deUint32 fenceCount,
4666 const VkFence* pFences);
4668 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
4672 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
4674 deUint32 fenceCount,
4675 const VkFence* pFences,
4679 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
4681 const VkSemaphoreCreateInfo* pCreateInfo,
4682 const VkAllocationCallbacks* pAllocator,
4683 VkSemaphore* pSemaphore);
4685 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
4687 VkSemaphore semaphore,
4688 const VkAllocationCallbacks* pAllocator);
4690 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
4692 const VkEventCreateInfo* pCreateInfo,
4693 const VkAllocationCallbacks* pAllocator,
4696 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
4699 const VkAllocationCallbacks* pAllocator);
4701 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
4705 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
4709 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
4713 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
4715 const VkQueryPoolCreateInfo* pCreateInfo,
4716 const VkAllocationCallbacks* pAllocator,
4717 VkQueryPool* pQueryPool);
4719 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
4721 VkQueryPool queryPool,
4722 const VkAllocationCallbacks* pAllocator);
4724 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
4726 VkQueryPool queryPool,
4727 deUint32 firstQuery,
4728 deUint32 queryCount,
4731 VkDeviceSize stride,
4732 VkQueryResultFlags flags);
4734 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
4736 const VkBufferCreateInfo* pCreateInfo,
4737 const VkAllocationCallbacks* pAllocator,
4740 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
4743 const VkAllocationCallbacks* pAllocator);
4745 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
4747 const VkBufferViewCreateInfo* pCreateInfo,
4748 const VkAllocationCallbacks* pAllocator,
4749 VkBufferView* pView);
4751 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
4753 VkBufferView bufferView,
4754 const VkAllocationCallbacks* pAllocator);
4756 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
4758 const VkImageCreateInfo* pCreateInfo,
4759 const VkAllocationCallbacks* pAllocator,
4762 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
4765 const VkAllocationCallbacks* pAllocator);
4767 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
4770 const VkImageSubresource* pSubresource,
4771 VkSubresourceLayout* pLayout);
4773 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
4775 const VkImageViewCreateInfo* pCreateInfo,
4776 const VkAllocationCallbacks* pAllocator,
4777 VkImageView* pView);
4779 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
4781 VkImageView imageView,
4782 const VkAllocationCallbacks* pAllocator);
4784 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
4786 const VkShaderModuleCreateInfo* pCreateInfo,
4787 const VkAllocationCallbacks* pAllocator,
4788 VkShaderModule* pShaderModule);
4790 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
4792 VkShaderModule shaderModule,
4793 const VkAllocationCallbacks* pAllocator);
4795 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
4797 const VkPipelineCacheCreateInfo* pCreateInfo,
4798 const VkAllocationCallbacks* pAllocator,
4799 VkPipelineCache* pPipelineCache);
4801 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
4803 VkPipelineCache pipelineCache,
4804 const VkAllocationCallbacks* pAllocator);
4806 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
4808 VkPipelineCache pipelineCache,
4809 deUintptr* pDataSize,
4812 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
4814 VkPipelineCache dstCache,
4815 deUint32 srcCacheCount,
4816 const VkPipelineCache* pSrcCaches);
4818 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
4820 VkPipelineCache pipelineCache,
4821 deUint32 createInfoCount,
4822 const VkGraphicsPipelineCreateInfo* pCreateInfos,
4823 const VkAllocationCallbacks* pAllocator,
4824 VkPipeline* pPipelines);
4826 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
4828 VkPipelineCache pipelineCache,
4829 deUint32 createInfoCount,
4830 const VkComputePipelineCreateInfo* pCreateInfos,
4831 const VkAllocationCallbacks* pAllocator,
4832 VkPipeline* pPipelines);
4834 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
4836 VkPipeline pipeline,
4837 const VkAllocationCallbacks* pAllocator);
4839 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
4841 const VkPipelineLayoutCreateInfo* pCreateInfo,
4842 const VkAllocationCallbacks* pAllocator,
4843 VkPipelineLayout* pPipelineLayout);
4845 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
4847 VkPipelineLayout pipelineLayout,
4848 const VkAllocationCallbacks* pAllocator);
4850 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
4852 const VkSamplerCreateInfo* pCreateInfo,
4853 const VkAllocationCallbacks* pAllocator,
4854 VkSampler* pSampler);
4856 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
4859 const VkAllocationCallbacks* pAllocator);
4861 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
4863 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4864 const VkAllocationCallbacks* pAllocator,
4865 VkDescriptorSetLayout* pSetLayout);
4867 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
4869 VkDescriptorSetLayout descriptorSetLayout,
4870 const VkAllocationCallbacks* pAllocator);
4872 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
4874 const VkDescriptorPoolCreateInfo* pCreateInfo,
4875 const VkAllocationCallbacks* pAllocator,
4876 VkDescriptorPool* pDescriptorPool);
4878 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
4880 VkDescriptorPool descriptorPool,
4881 const VkAllocationCallbacks* pAllocator);
4883 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
4885 VkDescriptorPool descriptorPool,
4886 VkDescriptorPoolResetFlags flags);
4888 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
4890 const VkDescriptorSetAllocateInfo* pAllocateInfo,
4891 VkDescriptorSet* pDescriptorSets);
4893 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
4895 VkDescriptorPool descriptorPool,
4896 deUint32 descriptorSetCount,
4897 const VkDescriptorSet* pDescriptorSets);
4899 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
4901 deUint32 descriptorWriteCount,
4902 const VkWriteDescriptorSet* pDescriptorWrites,
4903 deUint32 descriptorCopyCount,
4904 const VkCopyDescriptorSet* pDescriptorCopies);
4906 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
4908 const VkFramebufferCreateInfo* pCreateInfo,
4909 const VkAllocationCallbacks* pAllocator,
4910 VkFramebuffer* pFramebuffer);
4912 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
4914 VkFramebuffer framebuffer,
4915 const VkAllocationCallbacks* pAllocator);
4917 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
4919 const VkRenderPassCreateInfo* pCreateInfo,
4920 const VkAllocationCallbacks* pAllocator,
4921 VkRenderPass* pRenderPass);
4923 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
4925 VkRenderPass renderPass,
4926 const VkAllocationCallbacks* pAllocator);
4928 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
4930 VkRenderPass renderPass,
4931 VkExtent2D* pGranularity);
4933 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
4935 const VkCommandPoolCreateInfo* pCreateInfo,
4936 const VkAllocationCallbacks* pAllocator,
4937 VkCommandPool* pCommandPool);
4939 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
4941 VkCommandPool commandPool,
4942 const VkAllocationCallbacks* pAllocator);
4944 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
4946 VkCommandPool commandPool,
4947 VkCommandPoolResetFlags flags);
4949 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
4951 const VkCommandBufferAllocateInfo* pAllocateInfo,
4952 VkCommandBuffer* pCommandBuffers);
4954 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
4956 VkCommandPool commandPool,
4957 deUint32 commandBufferCount,
4958 const VkCommandBuffer* pCommandBuffers);
4960 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
4961 VkCommandBuffer commandBuffer,
4962 const VkCommandBufferBeginInfo* pBeginInfo);
4964 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
4965 VkCommandBuffer commandBuffer);
4967 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
4968 VkCommandBuffer commandBuffer,
4969 VkCommandBufferResetFlags flags);
4971 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
4972 VkCommandBuffer commandBuffer,
4973 VkPipelineBindPoint pipelineBindPoint,
4974 VkPipeline pipeline);
4976 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
4977 VkCommandBuffer commandBuffer,
4978 deUint32 firstViewport,
4979 deUint32 viewportCount,
4980 const VkViewport* pViewports);
4982 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
4983 VkCommandBuffer commandBuffer,
4984 deUint32 firstScissor,
4985 deUint32 scissorCount,
4986 const VkRect2D* pScissors);
4988 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
4989 VkCommandBuffer commandBuffer,
4992 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
4993 VkCommandBuffer commandBuffer,
4994 float depthBiasConstantFactor,
4995 float depthBiasClamp,
4996 float depthBiasSlopeFactor);
4998 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
4999 VkCommandBuffer commandBuffer,
5000 const float blendConstants[4]);
5002 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
5003 VkCommandBuffer commandBuffer,
5004 float minDepthBounds,
5005 float maxDepthBounds);
5007 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
5008 VkCommandBuffer commandBuffer,
5009 VkStencilFaceFlags faceMask,
5010 deUint32 compareMask);
5012 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
5013 VkCommandBuffer commandBuffer,
5014 VkStencilFaceFlags faceMask,
5015 deUint32 writeMask);
5017 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
5018 VkCommandBuffer commandBuffer,
5019 VkStencilFaceFlags faceMask,
5020 deUint32 reference);
5022 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
5023 VkCommandBuffer commandBuffer,
5024 VkPipelineBindPoint pipelineBindPoint,
5025 VkPipelineLayout layout,
5027 deUint32 descriptorSetCount,
5028 const VkDescriptorSet* pDescriptorSets,
5029 deUint32 dynamicOffsetCount,
5030 const deUint32* pDynamicOffsets);
5032 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
5033 VkCommandBuffer commandBuffer,
5035 VkDeviceSize offset,
5036 VkIndexType indexType);
5038 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
5039 VkCommandBuffer commandBuffer,
5040 deUint32 firstBinding,
5041 deUint32 bindingCount,
5042 const VkBuffer* pBuffers,
5043 const VkDeviceSize* pOffsets);
5045 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
5046 VkCommandBuffer commandBuffer,
5047 deUint32 vertexCount,
5048 deUint32 instanceCount,
5049 deUint32 firstVertex,
5050 deUint32 firstInstance);
5052 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
5053 VkCommandBuffer commandBuffer,
5054 deUint32 indexCount,
5055 deUint32 instanceCount,
5056 deUint32 firstIndex,
5057 deInt32 vertexOffset,
5058 deUint32 firstInstance);
5060 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
5061 VkCommandBuffer commandBuffer,
5063 VkDeviceSize offset,
5067 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
5068 VkCommandBuffer commandBuffer,
5070 VkDeviceSize offset,
5074 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
5075 VkCommandBuffer commandBuffer,
5076 deUint32 groupCountX,
5077 deUint32 groupCountY,
5078 deUint32 groupCountZ);
5080 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
5081 VkCommandBuffer commandBuffer,
5083 VkDeviceSize offset);
5085 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
5086 VkCommandBuffer commandBuffer,
5089 deUint32 regionCount,
5090 const VkBufferCopy* pRegions);
5092 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
5093 VkCommandBuffer commandBuffer,
5095 VkImageLayout srcImageLayout,
5097 VkImageLayout dstImageLayout,
5098 deUint32 regionCount,
5099 const VkImageCopy* pRegions);
5101 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
5102 VkCommandBuffer commandBuffer,
5104 VkImageLayout srcImageLayout,
5106 VkImageLayout dstImageLayout,
5107 deUint32 regionCount,
5108 const VkImageBlit* pRegions,
5111 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
5112 VkCommandBuffer commandBuffer,
5115 VkImageLayout dstImageLayout,
5116 deUint32 regionCount,
5117 const VkBufferImageCopy* pRegions);
5119 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
5120 VkCommandBuffer commandBuffer,
5122 VkImageLayout srcImageLayout,
5124 deUint32 regionCount,
5125 const VkBufferImageCopy* pRegions);
5127 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
5128 VkCommandBuffer commandBuffer,
5130 VkDeviceSize dstOffset,
5131 VkDeviceSize dataSize,
5134 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
5135 VkCommandBuffer commandBuffer,
5137 VkDeviceSize dstOffset,
5141 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
5142 VkCommandBuffer commandBuffer,
5144 VkImageLayout imageLayout,
5145 const VkClearColorValue* pColor,
5146 deUint32 rangeCount,
5147 const VkImageSubresourceRange* pRanges);
5149 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
5150 VkCommandBuffer commandBuffer,
5152 VkImageLayout imageLayout,
5153 const VkClearDepthStencilValue* pDepthStencil,
5154 deUint32 rangeCount,
5155 const VkImageSubresourceRange* pRanges);
5157 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
5158 VkCommandBuffer commandBuffer,
5159 deUint32 attachmentCount,
5160 const VkClearAttachment* pAttachments,
5162 const VkClearRect* pRects);
5164 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
5165 VkCommandBuffer commandBuffer,
5167 VkImageLayout srcImageLayout,
5169 VkImageLayout dstImageLayout,
5170 deUint32 regionCount,
5171 const VkImageResolve* pRegions);
5173 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
5174 VkCommandBuffer commandBuffer,
5176 VkPipelineStageFlags stageMask);
5178 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
5179 VkCommandBuffer commandBuffer,
5181 VkPipelineStageFlags stageMask);
5183 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
5184 VkCommandBuffer commandBuffer,
5185 deUint32 eventCount,
5186 const VkEvent* pEvents,
5187 VkPipelineStageFlags srcStageMask,
5188 VkPipelineStageFlags dstStageMask,
5189 deUint32 memoryBarrierCount,
5190 const VkMemoryBarrier* pMemoryBarriers,
5191 deUint32 bufferMemoryBarrierCount,
5192 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5193 deUint32 imageMemoryBarrierCount,
5194 const VkImageMemoryBarrier* pImageMemoryBarriers);
5196 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
5197 VkCommandBuffer commandBuffer,
5198 VkPipelineStageFlags srcStageMask,
5199 VkPipelineStageFlags dstStageMask,
5200 VkDependencyFlags dependencyFlags,
5201 deUint32 memoryBarrierCount,
5202 const VkMemoryBarrier* pMemoryBarriers,
5203 deUint32 bufferMemoryBarrierCount,
5204 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5205 deUint32 imageMemoryBarrierCount,
5206 const VkImageMemoryBarrier* pImageMemoryBarriers);
5208 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
5209 VkCommandBuffer commandBuffer,
5210 VkQueryPool queryPool,
5212 VkQueryControlFlags flags);
5214 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
5215 VkCommandBuffer commandBuffer,
5216 VkQueryPool queryPool,
5219 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
5220 VkCommandBuffer commandBuffer,
5221 VkQueryPool queryPool,
5222 deUint32 firstQuery,
5223 deUint32 queryCount);
5225 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
5226 VkCommandBuffer commandBuffer,
5227 VkPipelineStageFlagBits pipelineStage,
5228 VkQueryPool queryPool,
5231 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
5232 VkCommandBuffer commandBuffer,
5233 VkQueryPool queryPool,
5234 deUint32 firstQuery,
5235 deUint32 queryCount,
5237 VkDeviceSize dstOffset,
5238 VkDeviceSize stride,
5239 VkQueryResultFlags flags);
5241 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
5242 VkCommandBuffer commandBuffer,
5243 VkPipelineLayout layout,
5244 VkShaderStageFlags stageFlags,
5247 const void* pValues);
5249 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
5250 VkCommandBuffer commandBuffer,
5251 const VkRenderPassBeginInfo* pRenderPassBegin,
5252 VkSubpassContents contents);
5254 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
5255 VkCommandBuffer commandBuffer,
5256 VkSubpassContents contents);
5258 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
5259 VkCommandBuffer commandBuffer);
5261 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
5262 VkCommandBuffer commandBuffer,
5263 deUint32 commandBufferCount,
5264 const VkCommandBuffer* pCommandBuffers);
5268 #define VK_VERSION_1_1 1
5269 // Vulkan 1.1 version number
5270 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
5272 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
5273 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
5274 #define VK_MAX_DEVICE_GROUP_SIZE 32U
5275 #define VK_LUID_SIZE 8U
5276 #define VK_QUEUE_FAMILY_EXTERNAL (~1U)
5278 typedef enum VkPointClippingBehavior {
5279 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
5280 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
5281 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
5282 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
5283 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
5284 } VkPointClippingBehavior;
5286 typedef enum VkTessellationDomainOrigin {
5287 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
5288 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
5289 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
5290 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
5291 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
5292 } VkTessellationDomainOrigin;
5294 typedef enum VkSamplerYcbcrModelConversion {
5295 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
5296 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
5297 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
5298 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
5299 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
5300 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
5301 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
5302 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
5303 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
5304 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
5305 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
5306 } VkSamplerYcbcrModelConversion;
5308 typedef enum VkSamplerYcbcrRange {
5309 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
5310 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
5311 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
5312 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
5313 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
5314 } VkSamplerYcbcrRange;
5316 typedef enum VkChromaLocation {
5317 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
5318 VK_CHROMA_LOCATION_MIDPOINT = 1,
5319 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
5320 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
5321 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
5324 typedef enum VkDescriptorUpdateTemplateType {
5325 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
5326 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
5327 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
5328 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
5329 } VkDescriptorUpdateTemplateType;
5331 typedef enum VkSubgroupFeatureFlagBits {
5332 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
5333 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
5334 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
5335 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
5336 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
5337 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
5338 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
5339 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
5340 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
5341 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5342 } VkSubgroupFeatureFlagBits;
5343 typedef VkFlags VkSubgroupFeatureFlags;
5345 typedef enum VkPeerMemoryFeatureFlagBits {
5346 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
5347 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
5348 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
5349 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
5350 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
5351 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
5352 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
5353 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
5354 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5355 } VkPeerMemoryFeatureFlagBits;
5356 typedef VkFlags VkPeerMemoryFeatureFlags;
5358 typedef enum VkMemoryAllocateFlagBits {
5359 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
5360 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
5361 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
5362 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
5363 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
5364 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
5365 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5366 } VkMemoryAllocateFlagBits;
5367 typedef VkFlags VkMemoryAllocateFlags;
5368 typedef VkFlags VkCommandPoolTrimFlags;
5369 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
5371 typedef enum VkExternalMemoryHandleTypeFlagBits {
5372 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5373 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5374 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5375 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
5376 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
5377 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
5378 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
5379 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
5380 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
5381 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
5382 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
5383 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
5384 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
5385 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5386 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5387 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
5388 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
5389 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
5390 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
5391 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5392 } VkExternalMemoryHandleTypeFlagBits;
5393 typedef VkFlags VkExternalMemoryHandleTypeFlags;
5395 typedef enum VkExternalMemoryFeatureFlagBits {
5396 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
5397 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
5398 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
5399 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
5400 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
5401 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
5402 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5403 } VkExternalMemoryFeatureFlagBits;
5404 typedef VkFlags VkExternalMemoryFeatureFlags;
5406 typedef enum VkExternalFenceHandleTypeFlagBits {
5407 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5408 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5409 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5410 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
5411 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
5412 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5413 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5414 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
5415 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5416 } VkExternalFenceHandleTypeFlagBits;
5417 typedef VkFlags VkExternalFenceHandleTypeFlags;
5419 typedef enum VkExternalFenceFeatureFlagBits {
5420 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5421 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5422 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
5423 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
5424 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5425 } VkExternalFenceFeatureFlagBits;
5426 typedef VkFlags VkExternalFenceFeatureFlags;
5428 typedef enum VkFenceImportFlagBits {
5429 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
5430 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
5431 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5432 } VkFenceImportFlagBits;
5433 typedef VkFlags VkFenceImportFlags;
5435 typedef enum VkSemaphoreImportFlagBits {
5436 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
5437 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
5438 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5439 } VkSemaphoreImportFlagBits;
5440 typedef VkFlags VkSemaphoreImportFlags;
5442 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
5443 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5444 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5445 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5446 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
5447 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
5448 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
5449 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5450 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
5451 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5452 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5453 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5454 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
5455 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5456 } VkExternalSemaphoreHandleTypeFlagBits;
5457 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
5459 typedef enum VkExternalSemaphoreFeatureFlagBits {
5460 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5461 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5462 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
5463 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
5464 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5465 } VkExternalSemaphoreFeatureFlagBits;
5466 typedef VkFlags VkExternalSemaphoreFeatureFlags;
5467 typedef struct VkPhysicalDeviceSubgroupProperties {
5468 VkStructureType sType;
5470 deUint32 subgroupSize;
5471 VkShaderStageFlags supportedStages;
5472 VkSubgroupFeatureFlags supportedOperations;
5473 VkBool32 quadOperationsInAllStages;
5474 } VkPhysicalDeviceSubgroupProperties;
5476 typedef struct VkBindBufferMemoryInfo {
5477 VkStructureType sType;
5480 VkDeviceMemory memory;
5481 VkDeviceSize memoryOffset;
5482 } VkBindBufferMemoryInfo;
5484 typedef struct VkBindImageMemoryInfo {
5485 VkStructureType sType;
5488 VkDeviceMemory memory;
5489 VkDeviceSize memoryOffset;
5490 } VkBindImageMemoryInfo;
5492 typedef struct VkPhysicalDevice16BitStorageFeatures {
5493 VkStructureType sType;
5495 VkBool32 storageBuffer16BitAccess;
5496 VkBool32 uniformAndStorageBuffer16BitAccess;
5497 VkBool32 storagePushConstant16;
5498 VkBool32 storageInputOutput16;
5499 } VkPhysicalDevice16BitStorageFeatures;
5501 typedef struct VkMemoryDedicatedRequirements {
5502 VkStructureType sType;
5504 VkBool32 prefersDedicatedAllocation;
5505 VkBool32 requiresDedicatedAllocation;
5506 } VkMemoryDedicatedRequirements;
5508 typedef struct VkMemoryDedicatedAllocateInfo {
5509 VkStructureType sType;
5513 } VkMemoryDedicatedAllocateInfo;
5515 typedef struct VkMemoryAllocateFlagsInfo {
5516 VkStructureType sType;
5518 VkMemoryAllocateFlags flags;
5519 deUint32 deviceMask;
5520 } VkMemoryAllocateFlagsInfo;
5522 typedef struct VkDeviceGroupRenderPassBeginInfo {
5523 VkStructureType sType;
5525 deUint32 deviceMask;
5526 deUint32 deviceRenderAreaCount;
5527 const VkRect2D* pDeviceRenderAreas;
5528 } VkDeviceGroupRenderPassBeginInfo;
5530 typedef struct VkDeviceGroupCommandBufferBeginInfo {
5531 VkStructureType sType;
5533 deUint32 deviceMask;
5534 } VkDeviceGroupCommandBufferBeginInfo;
5536 typedef struct VkDeviceGroupSubmitInfo {
5537 VkStructureType sType;
5539 deUint32 waitSemaphoreCount;
5540 const deUint32* pWaitSemaphoreDeviceIndices;
5541 deUint32 commandBufferCount;
5542 const deUint32* pCommandBufferDeviceMasks;
5543 deUint32 signalSemaphoreCount;
5544 const deUint32* pSignalSemaphoreDeviceIndices;
5545 } VkDeviceGroupSubmitInfo;
5547 typedef struct VkDeviceGroupBindSparseInfo {
5548 VkStructureType sType;
5550 deUint32 resourceDeviceIndex;
5551 deUint32 memoryDeviceIndex;
5552 } VkDeviceGroupBindSparseInfo;
5554 typedef struct VkBindBufferMemoryDeviceGroupInfo {
5555 VkStructureType sType;
5557 deUint32 deviceIndexCount;
5558 const deUint32* pDeviceIndices;
5559 } VkBindBufferMemoryDeviceGroupInfo;
5561 typedef struct VkBindImageMemoryDeviceGroupInfo {
5562 VkStructureType sType;
5564 deUint32 deviceIndexCount;
5565 const deUint32* pDeviceIndices;
5566 deUint32 splitInstanceBindRegionCount;
5567 const VkRect2D* pSplitInstanceBindRegions;
5568 } VkBindImageMemoryDeviceGroupInfo;
5570 typedef struct VkPhysicalDeviceGroupProperties {
5571 VkStructureType sType;
5573 deUint32 physicalDeviceCount;
5574 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
5575 VkBool32 subsetAllocation;
5576 } VkPhysicalDeviceGroupProperties;
5578 typedef struct VkDeviceGroupDeviceCreateInfo {
5579 VkStructureType sType;
5581 deUint32 physicalDeviceCount;
5582 const VkPhysicalDevice* pPhysicalDevices;
5583 } VkDeviceGroupDeviceCreateInfo;
5585 typedef struct VkBufferMemoryRequirementsInfo2 {
5586 VkStructureType sType;
5589 } VkBufferMemoryRequirementsInfo2;
5591 typedef struct VkImageMemoryRequirementsInfo2 {
5592 VkStructureType sType;
5595 } VkImageMemoryRequirementsInfo2;
5597 typedef struct VkImageSparseMemoryRequirementsInfo2 {
5598 VkStructureType sType;
5601 } VkImageSparseMemoryRequirementsInfo2;
5603 typedef struct VkMemoryRequirements2 {
5604 VkStructureType sType;
5606 VkMemoryRequirements memoryRequirements;
5607 } VkMemoryRequirements2;
5609 typedef struct VkSparseImageMemoryRequirements2 {
5610 VkStructureType sType;
5612 VkSparseImageMemoryRequirements memoryRequirements;
5613 } VkSparseImageMemoryRequirements2;
5615 typedef struct VkPhysicalDeviceFeatures2 {
5616 VkStructureType sType;
5618 VkPhysicalDeviceFeatures features;
5619 } VkPhysicalDeviceFeatures2;
5621 typedef struct VkPhysicalDeviceProperties2 {
5622 VkStructureType sType;
5624 VkPhysicalDeviceProperties properties;
5625 } VkPhysicalDeviceProperties2;
5627 typedef struct VkFormatProperties2 {
5628 VkStructureType sType;
5630 VkFormatProperties formatProperties;
5631 } VkFormatProperties2;
5633 typedef struct VkImageFormatProperties2 {
5634 VkStructureType sType;
5636 VkImageFormatProperties imageFormatProperties;
5637 } VkImageFormatProperties2;
5639 typedef struct VkPhysicalDeviceImageFormatInfo2 {
5640 VkStructureType sType;
5644 VkImageTiling tiling;
5645 VkImageUsageFlags usage;
5646 VkImageCreateFlags flags;
5647 } VkPhysicalDeviceImageFormatInfo2;
5649 typedef struct VkQueueFamilyProperties2 {
5650 VkStructureType sType;
5652 VkQueueFamilyProperties queueFamilyProperties;
5653 } VkQueueFamilyProperties2;
5655 typedef struct VkPhysicalDeviceMemoryProperties2 {
5656 VkStructureType sType;
5658 VkPhysicalDeviceMemoryProperties memoryProperties;
5659 } VkPhysicalDeviceMemoryProperties2;
5661 typedef struct VkSparseImageFormatProperties2 {
5662 VkStructureType sType;
5664 VkSparseImageFormatProperties properties;
5665 } VkSparseImageFormatProperties2;
5667 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
5668 VkStructureType sType;
5672 VkSampleCountFlagBits samples;
5673 VkImageUsageFlags usage;
5674 VkImageTiling tiling;
5675 } VkPhysicalDeviceSparseImageFormatInfo2;
5677 typedef struct VkPhysicalDevicePointClippingProperties {
5678 VkStructureType sType;
5680 VkPointClippingBehavior pointClippingBehavior;
5681 } VkPhysicalDevicePointClippingProperties;
5683 typedef struct VkInputAttachmentAspectReference {
5685 deUint32 inputAttachmentIndex;
5686 VkImageAspectFlags aspectMask;
5687 } VkInputAttachmentAspectReference;
5689 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
5690 VkStructureType sType;
5692 deUint32 aspectReferenceCount;
5693 const VkInputAttachmentAspectReference* pAspectReferences;
5694 } VkRenderPassInputAttachmentAspectCreateInfo;
5696 typedef struct VkImageViewUsageCreateInfo {
5697 VkStructureType sType;
5699 VkImageUsageFlags usage;
5700 } VkImageViewUsageCreateInfo;
5702 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
5703 VkStructureType sType;
5705 VkTessellationDomainOrigin domainOrigin;
5706 } VkPipelineTessellationDomainOriginStateCreateInfo;
5708 typedef struct VkRenderPassMultiviewCreateInfo {
5709 VkStructureType sType;
5711 deUint32 subpassCount;
5712 const deUint32* pViewMasks;
5713 deUint32 dependencyCount;
5714 const deInt32* pViewOffsets;
5715 deUint32 correlationMaskCount;
5716 const deUint32* pCorrelationMasks;
5717 } VkRenderPassMultiviewCreateInfo;
5719 typedef struct VkPhysicalDeviceMultiviewFeatures {
5720 VkStructureType sType;
5723 VkBool32 multiviewGeometryShader;
5724 VkBool32 multiviewTessellationShader;
5725 } VkPhysicalDeviceMultiviewFeatures;
5727 typedef struct VkPhysicalDeviceMultiviewProperties {
5728 VkStructureType sType;
5730 deUint32 maxMultiviewViewCount;
5731 deUint32 maxMultiviewInstanceIndex;
5732 } VkPhysicalDeviceMultiviewProperties;
5734 typedef struct VkPhysicalDeviceVariablePointersFeatures {
5735 VkStructureType sType;
5737 VkBool32 variablePointersStorageBuffer;
5738 VkBool32 variablePointers;
5739 } VkPhysicalDeviceVariablePointersFeatures;
5741 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
5743 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
5744 VkStructureType sType;
5746 VkBool32 protectedMemory;
5747 } VkPhysicalDeviceProtectedMemoryFeatures;
5749 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
5750 VkStructureType sType;
5752 VkBool32 protectedNoFault;
5753 } VkPhysicalDeviceProtectedMemoryProperties;
5755 typedef struct VkDeviceQueueInfo2 {
5756 VkStructureType sType;
5758 VkDeviceQueueCreateFlags flags;
5759 deUint32 queueFamilyIndex;
5760 deUint32 queueIndex;
5761 } VkDeviceQueueInfo2;
5763 typedef struct VkProtectedSubmitInfo {
5764 VkStructureType sType;
5766 VkBool32 protectedSubmit;
5767 } VkProtectedSubmitInfo;
5769 typedef struct VkSamplerYcbcrConversionCreateInfo {
5770 VkStructureType sType;
5773 VkSamplerYcbcrModelConversion ycbcrModel;
5774 VkSamplerYcbcrRange ycbcrRange;
5775 VkComponentMapping components;
5776 VkChromaLocation xChromaOffset;
5777 VkChromaLocation yChromaOffset;
5778 VkFilter chromaFilter;
5779 VkBool32 forceExplicitReconstruction;
5780 } VkSamplerYcbcrConversionCreateInfo;
5782 typedef struct VkSamplerYcbcrConversionInfo {
5783 VkStructureType sType;
5785 VkSamplerYcbcrConversion conversion;
5786 } VkSamplerYcbcrConversionInfo;
5788 typedef struct VkBindImagePlaneMemoryInfo {
5789 VkStructureType sType;
5791 VkImageAspectFlagBits planeAspect;
5792 } VkBindImagePlaneMemoryInfo;
5794 typedef struct VkImagePlaneMemoryRequirementsInfo {
5795 VkStructureType sType;
5797 VkImageAspectFlagBits planeAspect;
5798 } VkImagePlaneMemoryRequirementsInfo;
5800 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
5801 VkStructureType sType;
5803 VkBool32 samplerYcbcrConversion;
5804 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
5806 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
5807 VkStructureType sType;
5809 deUint32 combinedImageSamplerDescriptorCount;
5810 } VkSamplerYcbcrConversionImageFormatProperties;
5812 typedef struct VkDescriptorUpdateTemplateEntry {
5813 deUint32 dstBinding;
5814 deUint32 dstArrayElement;
5815 deUint32 descriptorCount;
5816 VkDescriptorType descriptorType;
5819 } VkDescriptorUpdateTemplateEntry;
5821 typedef struct VkDescriptorUpdateTemplateCreateInfo {
5822 VkStructureType sType;
5824 VkDescriptorUpdateTemplateCreateFlags flags;
5825 deUint32 descriptorUpdateEntryCount;
5826 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
5827 VkDescriptorUpdateTemplateType templateType;
5828 VkDescriptorSetLayout descriptorSetLayout;
5829 VkPipelineBindPoint pipelineBindPoint;
5830 VkPipelineLayout pipelineLayout;
5832 } VkDescriptorUpdateTemplateCreateInfo;
5834 typedef struct VkExternalMemoryProperties {
5835 VkExternalMemoryFeatureFlags externalMemoryFeatures;
5836 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
5837 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
5838 } VkExternalMemoryProperties;
5840 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
5841 VkStructureType sType;
5843 VkExternalMemoryHandleTypeFlagBits handleType;
5844 } VkPhysicalDeviceExternalImageFormatInfo;
5846 typedef struct VkExternalImageFormatProperties {
5847 VkStructureType sType;
5849 VkExternalMemoryProperties externalMemoryProperties;
5850 } VkExternalImageFormatProperties;
5852 typedef struct VkPhysicalDeviceExternalBufferInfo {
5853 VkStructureType sType;
5855 VkBufferCreateFlags flags;
5856 VkBufferUsageFlags usage;
5857 VkExternalMemoryHandleTypeFlagBits handleType;
5858 } VkPhysicalDeviceExternalBufferInfo;
5860 typedef struct VkExternalBufferProperties {
5861 VkStructureType sType;
5863 VkExternalMemoryProperties externalMemoryProperties;
5864 } VkExternalBufferProperties;
5866 typedef struct VkPhysicalDeviceIDProperties {
5867 VkStructureType sType;
5869 deUint8 deviceUUID[VK_UUID_SIZE];
5870 deUint8 driverUUID[VK_UUID_SIZE];
5871 deUint8 deviceLUID[VK_LUID_SIZE];
5872 deUint32 deviceNodeMask;
5873 VkBool32 deviceLUIDValid;
5874 } VkPhysicalDeviceIDProperties;
5876 typedef struct VkExternalMemoryImageCreateInfo {
5877 VkStructureType sType;
5879 VkExternalMemoryHandleTypeFlags handleTypes;
5880 } VkExternalMemoryImageCreateInfo;
5882 typedef struct VkExternalMemoryBufferCreateInfo {
5883 VkStructureType sType;
5885 VkExternalMemoryHandleTypeFlags handleTypes;
5886 } VkExternalMemoryBufferCreateInfo;
5888 typedef struct VkExportMemoryAllocateInfo {
5889 VkStructureType sType;
5891 VkExternalMemoryHandleTypeFlags handleTypes;
5892 } VkExportMemoryAllocateInfo;
5894 typedef struct VkPhysicalDeviceExternalFenceInfo {
5895 VkStructureType sType;
5897 VkExternalFenceHandleTypeFlagBits handleType;
5898 } VkPhysicalDeviceExternalFenceInfo;
5900 typedef struct VkExternalFenceProperties {
5901 VkStructureType sType;
5903 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
5904 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
5905 VkExternalFenceFeatureFlags externalFenceFeatures;
5906 } VkExternalFenceProperties;
5908 typedef struct VkExportFenceCreateInfo {
5909 VkStructureType sType;
5911 VkExternalFenceHandleTypeFlags handleTypes;
5912 } VkExportFenceCreateInfo;
5914 typedef struct VkExportSemaphoreCreateInfo {
5915 VkStructureType sType;
5917 VkExternalSemaphoreHandleTypeFlags handleTypes;
5918 } VkExportSemaphoreCreateInfo;
5920 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
5921 VkStructureType sType;
5923 VkExternalSemaphoreHandleTypeFlagBits handleType;
5924 } VkPhysicalDeviceExternalSemaphoreInfo;
5926 typedef struct VkExternalSemaphoreProperties {
5927 VkStructureType sType;
5929 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
5930 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
5931 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
5932 } VkExternalSemaphoreProperties;
5934 typedef struct VkPhysicalDeviceMaintenance3Properties {
5935 VkStructureType sType;
5937 deUint32 maxPerSetDescriptors;
5938 VkDeviceSize maxMemoryAllocationSize;
5939 } VkPhysicalDeviceMaintenance3Properties;
5941 typedef struct VkDescriptorSetLayoutSupport {
5942 VkStructureType sType;
5945 } VkDescriptorSetLayoutSupport;
5947 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
5948 VkStructureType sType;
5950 VkBool32 shaderDrawParameters;
5951 } VkPhysicalDeviceShaderDrawParametersFeatures;
5953 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
5955 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(deUint32* pApiVersion);
5956 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
5957 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
5958 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5959 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
5960 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
5961 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5962 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5963 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5964 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5965 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
5966 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
5967 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
5968 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
5969 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
5970 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5971 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
5972 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
5973 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
5974 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
5975 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
5976 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5977 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
5978 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
5979 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
5980 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
5981 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5982 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
5984 #ifndef VK_NO_PROTOTYPES
5985 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
5986 deUint32* pApiVersion);
5988 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
5990 deUint32 bindInfoCount,
5991 const VkBindBufferMemoryInfo* pBindInfos);
5993 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
5995 deUint32 bindInfoCount,
5996 const VkBindImageMemoryInfo* pBindInfos);
5998 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
6001 deUint32 localDeviceIndex,
6002 deUint32 remoteDeviceIndex,
6003 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6005 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
6006 VkCommandBuffer commandBuffer,
6007 deUint32 deviceMask);
6009 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
6010 VkCommandBuffer commandBuffer,
6011 deUint32 baseGroupX,
6012 deUint32 baseGroupY,
6013 deUint32 baseGroupZ,
6014 deUint32 groupCountX,
6015 deUint32 groupCountY,
6016 deUint32 groupCountZ);
6018 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
6019 VkInstance instance,
6020 deUint32* pPhysicalDeviceGroupCount,
6021 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6023 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
6025 const VkImageMemoryRequirementsInfo2* pInfo,
6026 VkMemoryRequirements2* pMemoryRequirements);
6028 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
6030 const VkBufferMemoryRequirementsInfo2* pInfo,
6031 VkMemoryRequirements2* pMemoryRequirements);
6033 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
6035 const VkImageSparseMemoryRequirementsInfo2* pInfo,
6036 deUint32* pSparseMemoryRequirementCount,
6037 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6039 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
6040 VkPhysicalDevice physicalDevice,
6041 VkPhysicalDeviceFeatures2* pFeatures);
6043 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
6044 VkPhysicalDevice physicalDevice,
6045 VkPhysicalDeviceProperties2* pProperties);
6047 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
6048 VkPhysicalDevice physicalDevice,
6050 VkFormatProperties2* pFormatProperties);
6052 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
6053 VkPhysicalDevice physicalDevice,
6054 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6055 VkImageFormatProperties2* pImageFormatProperties);
6057 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
6058 VkPhysicalDevice physicalDevice,
6059 deUint32* pQueueFamilyPropertyCount,
6060 VkQueueFamilyProperties2* pQueueFamilyProperties);
6062 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
6063 VkPhysicalDevice physicalDevice,
6064 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6066 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
6067 VkPhysicalDevice physicalDevice,
6068 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6069 deUint32* pPropertyCount,
6070 VkSparseImageFormatProperties2* pProperties);
6072 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
6074 VkCommandPool commandPool,
6075 VkCommandPoolTrimFlags flags);
6077 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
6079 const VkDeviceQueueInfo2* pQueueInfo,
6082 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
6084 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
6085 const VkAllocationCallbacks* pAllocator,
6086 VkSamplerYcbcrConversion* pYcbcrConversion);
6088 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
6090 VkSamplerYcbcrConversion ycbcrConversion,
6091 const VkAllocationCallbacks* pAllocator);
6093 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
6095 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6096 const VkAllocationCallbacks* pAllocator,
6097 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6099 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
6101 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6102 const VkAllocationCallbacks* pAllocator);
6104 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
6106 VkDescriptorSet descriptorSet,
6107 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6110 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
6111 VkPhysicalDevice physicalDevice,
6112 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6113 VkExternalBufferProperties* pExternalBufferProperties);
6115 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
6116 VkPhysicalDevice physicalDevice,
6117 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6118 VkExternalFenceProperties* pExternalFenceProperties);
6120 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
6121 VkPhysicalDevice physicalDevice,
6122 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6123 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6125 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
6127 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
6128 VkDescriptorSetLayoutSupport* pSupport);
6132 #define VK_VERSION_1_2 1
6133 // Vulkan 1.2 version number
6134 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
6136 #define VK_MAX_DRIVER_NAME_SIZE 256U
6137 #define VK_MAX_DRIVER_INFO_SIZE 256U
6139 typedef enum VkDriverId {
6140 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
6141 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
6142 VK_DRIVER_ID_MESA_RADV = 3,
6143 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
6144 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
6145 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
6146 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
6147 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
6148 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
6149 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
6150 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
6151 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
6152 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
6153 VK_DRIVER_ID_MOLTENVK = 14,
6154 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
6155 VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
6156 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
6157 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
6158 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
6159 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
6160 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
6161 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
6162 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
6163 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
6164 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
6165 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
6166 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
6167 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
6168 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
6171 typedef enum VkShaderFloatControlsIndependence {
6172 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
6173 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
6174 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
6175 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
6176 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
6177 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
6178 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
6179 } VkShaderFloatControlsIndependence;
6181 typedef enum VkSamplerReductionMode {
6182 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
6183 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
6184 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
6185 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
6186 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
6187 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
6188 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
6189 } VkSamplerReductionMode;
6191 typedef enum VkSemaphoreType {
6192 VK_SEMAPHORE_TYPE_BINARY = 0,
6193 VK_SEMAPHORE_TYPE_TIMELINE = 1,
6194 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
6195 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
6196 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
6199 typedef enum VkResolveModeFlagBits {
6200 VK_RESOLVE_MODE_NONE = 0,
6201 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
6202 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
6203 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
6204 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
6205 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
6206 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
6207 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
6208 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
6209 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
6210 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6211 } VkResolveModeFlagBits;
6212 typedef VkFlags VkResolveModeFlags;
6214 typedef enum VkDescriptorBindingFlagBits {
6215 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
6216 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
6217 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
6218 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
6219 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
6220 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
6221 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
6222 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
6223 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6224 } VkDescriptorBindingFlagBits;
6225 typedef VkFlags VkDescriptorBindingFlags;
6227 typedef enum VkSemaphoreWaitFlagBits {
6228 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
6229 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
6230 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6231 } VkSemaphoreWaitFlagBits;
6232 typedef VkFlags VkSemaphoreWaitFlags;
6233 typedef struct VkPhysicalDeviceVulkan11Features {
6234 VkStructureType sType;
6236 VkBool32 storageBuffer16BitAccess;
6237 VkBool32 uniformAndStorageBuffer16BitAccess;
6238 VkBool32 storagePushConstant16;
6239 VkBool32 storageInputOutput16;
6241 VkBool32 multiviewGeometryShader;
6242 VkBool32 multiviewTessellationShader;
6243 VkBool32 variablePointersStorageBuffer;
6244 VkBool32 variablePointers;
6245 VkBool32 protectedMemory;
6246 VkBool32 samplerYcbcrConversion;
6247 VkBool32 shaderDrawParameters;
6248 } VkPhysicalDeviceVulkan11Features;
6250 typedef struct VkPhysicalDeviceVulkan11Properties {
6251 VkStructureType sType;
6253 deUint8 deviceUUID[VK_UUID_SIZE];
6254 deUint8 driverUUID[VK_UUID_SIZE];
6255 deUint8 deviceLUID[VK_LUID_SIZE];
6256 deUint32 deviceNodeMask;
6257 VkBool32 deviceLUIDValid;
6258 deUint32 subgroupSize;
6259 VkShaderStageFlags subgroupSupportedStages;
6260 VkSubgroupFeatureFlags subgroupSupportedOperations;
6261 VkBool32 subgroupQuadOperationsInAllStages;
6262 VkPointClippingBehavior pointClippingBehavior;
6263 deUint32 maxMultiviewViewCount;
6264 deUint32 maxMultiviewInstanceIndex;
6265 VkBool32 protectedNoFault;
6266 deUint32 maxPerSetDescriptors;
6267 VkDeviceSize maxMemoryAllocationSize;
6268 } VkPhysicalDeviceVulkan11Properties;
6270 typedef struct VkPhysicalDeviceVulkan12Features {
6271 VkStructureType sType;
6273 VkBool32 samplerMirrorClampToEdge;
6274 VkBool32 drawIndirectCount;
6275 VkBool32 storageBuffer8BitAccess;
6276 VkBool32 uniformAndStorageBuffer8BitAccess;
6277 VkBool32 storagePushConstant8;
6278 VkBool32 shaderBufferInt64Atomics;
6279 VkBool32 shaderSharedInt64Atomics;
6280 VkBool32 shaderFloat16;
6281 VkBool32 shaderInt8;
6282 VkBool32 descriptorIndexing;
6283 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6284 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6285 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6286 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6287 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6288 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6289 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6290 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6291 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6292 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6293 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6294 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6295 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6296 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6297 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6298 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6299 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6300 VkBool32 descriptorBindingPartiallyBound;
6301 VkBool32 descriptorBindingVariableDescriptorCount;
6302 VkBool32 runtimeDescriptorArray;
6303 VkBool32 samplerFilterMinmax;
6304 VkBool32 scalarBlockLayout;
6305 VkBool32 imagelessFramebuffer;
6306 VkBool32 uniformBufferStandardLayout;
6307 VkBool32 shaderSubgroupExtendedTypes;
6308 VkBool32 separateDepthStencilLayouts;
6309 VkBool32 hostQueryReset;
6310 VkBool32 timelineSemaphore;
6311 VkBool32 bufferDeviceAddress;
6312 VkBool32 bufferDeviceAddressCaptureReplay;
6313 VkBool32 bufferDeviceAddressMultiDevice;
6314 VkBool32 vulkanMemoryModel;
6315 VkBool32 vulkanMemoryModelDeviceScope;
6316 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6317 VkBool32 shaderOutputViewportIndex;
6318 VkBool32 shaderOutputLayer;
6319 VkBool32 subgroupBroadcastDynamicId;
6320 } VkPhysicalDeviceVulkan12Features;
6322 typedef struct VkConformanceVersion {
6327 } VkConformanceVersion;
6329 typedef struct VkPhysicalDeviceVulkan12Properties {
6330 VkStructureType sType;
6332 VkDriverId driverID;
6333 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6334 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6335 VkConformanceVersion conformanceVersion;
6336 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6337 VkShaderFloatControlsIndependence roundingModeIndependence;
6338 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6339 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6340 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6341 VkBool32 shaderDenormPreserveFloat16;
6342 VkBool32 shaderDenormPreserveFloat32;
6343 VkBool32 shaderDenormPreserveFloat64;
6344 VkBool32 shaderDenormFlushToZeroFloat16;
6345 VkBool32 shaderDenormFlushToZeroFloat32;
6346 VkBool32 shaderDenormFlushToZeroFloat64;
6347 VkBool32 shaderRoundingModeRTEFloat16;
6348 VkBool32 shaderRoundingModeRTEFloat32;
6349 VkBool32 shaderRoundingModeRTEFloat64;
6350 VkBool32 shaderRoundingModeRTZFloat16;
6351 VkBool32 shaderRoundingModeRTZFloat32;
6352 VkBool32 shaderRoundingModeRTZFloat64;
6353 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6354 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6355 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6356 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6357 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6358 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6359 VkBool32 robustBufferAccessUpdateAfterBind;
6360 VkBool32 quadDivergentImplicitLod;
6361 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6362 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6363 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6364 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6365 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6366 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6367 deUint32 maxPerStageUpdateAfterBindResources;
6368 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6369 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6370 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6371 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6372 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6373 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6374 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6375 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6376 VkResolveModeFlags supportedDepthResolveModes;
6377 VkResolveModeFlags supportedStencilResolveModes;
6378 VkBool32 independentResolveNone;
6379 VkBool32 independentResolve;
6380 VkBool32 filterMinmaxSingleComponentFormats;
6381 VkBool32 filterMinmaxImageComponentMapping;
6382 deUint64 maxTimelineSemaphoreValueDifference;
6383 VkSampleCountFlags framebufferIntegerColorSampleCounts;
6384 } VkPhysicalDeviceVulkan12Properties;
6386 typedef struct VkImageFormatListCreateInfo {
6387 VkStructureType sType;
6389 deUint32 viewFormatCount;
6390 const VkFormat* pViewFormats;
6391 } VkImageFormatListCreateInfo;
6393 typedef struct VkAttachmentDescription2 {
6394 VkStructureType sType;
6396 VkAttachmentDescriptionFlags flags;
6398 VkSampleCountFlagBits samples;
6399 VkAttachmentLoadOp loadOp;
6400 VkAttachmentStoreOp storeOp;
6401 VkAttachmentLoadOp stencilLoadOp;
6402 VkAttachmentStoreOp stencilStoreOp;
6403 VkImageLayout initialLayout;
6404 VkImageLayout finalLayout;
6405 } VkAttachmentDescription2;
6407 typedef struct VkAttachmentReference2 {
6408 VkStructureType sType;
6410 deUint32 attachment;
6411 VkImageLayout layout;
6412 VkImageAspectFlags aspectMask;
6413 } VkAttachmentReference2;
6415 typedef struct VkSubpassDescription2 {
6416 VkStructureType sType;
6418 VkSubpassDescriptionFlags flags;
6419 VkPipelineBindPoint pipelineBindPoint;
6421 deUint32 inputAttachmentCount;
6422 const VkAttachmentReference2* pInputAttachments;
6423 deUint32 colorAttachmentCount;
6424 const VkAttachmentReference2* pColorAttachments;
6425 const VkAttachmentReference2* pResolveAttachments;
6426 const VkAttachmentReference2* pDepthStencilAttachment;
6427 deUint32 preserveAttachmentCount;
6428 const deUint32* pPreserveAttachments;
6429 } VkSubpassDescription2;
6431 typedef struct VkSubpassDependency2 {
6432 VkStructureType sType;
6434 deUint32 srcSubpass;
6435 deUint32 dstSubpass;
6436 VkPipelineStageFlags srcStageMask;
6437 VkPipelineStageFlags dstStageMask;
6438 VkAccessFlags srcAccessMask;
6439 VkAccessFlags dstAccessMask;
6440 VkDependencyFlags dependencyFlags;
6442 } VkSubpassDependency2;
6444 typedef struct VkRenderPassCreateInfo2 {
6445 VkStructureType sType;
6447 VkRenderPassCreateFlags flags;
6448 deUint32 attachmentCount;
6449 const VkAttachmentDescription2* pAttachments;
6450 deUint32 subpassCount;
6451 const VkSubpassDescription2* pSubpasses;
6452 deUint32 dependencyCount;
6453 const VkSubpassDependency2* pDependencies;
6454 deUint32 correlatedViewMaskCount;
6455 const deUint32* pCorrelatedViewMasks;
6456 } VkRenderPassCreateInfo2;
6458 typedef struct VkSubpassBeginInfo {
6459 VkStructureType sType;
6461 VkSubpassContents contents;
6462 } VkSubpassBeginInfo;
6464 typedef struct VkSubpassEndInfo {
6465 VkStructureType sType;
6469 typedef struct VkPhysicalDevice8BitStorageFeatures {
6470 VkStructureType sType;
6472 VkBool32 storageBuffer8BitAccess;
6473 VkBool32 uniformAndStorageBuffer8BitAccess;
6474 VkBool32 storagePushConstant8;
6475 } VkPhysicalDevice8BitStorageFeatures;
6477 typedef struct VkPhysicalDeviceDriverProperties {
6478 VkStructureType sType;
6480 VkDriverId driverID;
6481 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6482 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6483 VkConformanceVersion conformanceVersion;
6484 } VkPhysicalDeviceDriverProperties;
6486 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
6487 VkStructureType sType;
6489 VkBool32 shaderBufferInt64Atomics;
6490 VkBool32 shaderSharedInt64Atomics;
6491 } VkPhysicalDeviceShaderAtomicInt64Features;
6493 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
6494 VkStructureType sType;
6496 VkBool32 shaderFloat16;
6497 VkBool32 shaderInt8;
6498 } VkPhysicalDeviceShaderFloat16Int8Features;
6500 typedef struct VkPhysicalDeviceFloatControlsProperties {
6501 VkStructureType sType;
6503 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6504 VkShaderFloatControlsIndependence roundingModeIndependence;
6505 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6506 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6507 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6508 VkBool32 shaderDenormPreserveFloat16;
6509 VkBool32 shaderDenormPreserveFloat32;
6510 VkBool32 shaderDenormPreserveFloat64;
6511 VkBool32 shaderDenormFlushToZeroFloat16;
6512 VkBool32 shaderDenormFlushToZeroFloat32;
6513 VkBool32 shaderDenormFlushToZeroFloat64;
6514 VkBool32 shaderRoundingModeRTEFloat16;
6515 VkBool32 shaderRoundingModeRTEFloat32;
6516 VkBool32 shaderRoundingModeRTEFloat64;
6517 VkBool32 shaderRoundingModeRTZFloat16;
6518 VkBool32 shaderRoundingModeRTZFloat32;
6519 VkBool32 shaderRoundingModeRTZFloat64;
6520 } VkPhysicalDeviceFloatControlsProperties;
6522 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
6523 VkStructureType sType;
6525 deUint32 bindingCount;
6526 const VkDescriptorBindingFlags* pBindingFlags;
6527 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
6529 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
6530 VkStructureType sType;
6532 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6533 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6534 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6535 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6536 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6537 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6538 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6539 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6540 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6541 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6542 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6543 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6544 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6545 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6546 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6547 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6548 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6549 VkBool32 descriptorBindingPartiallyBound;
6550 VkBool32 descriptorBindingVariableDescriptorCount;
6551 VkBool32 runtimeDescriptorArray;
6552 } VkPhysicalDeviceDescriptorIndexingFeatures;
6554 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
6555 VkStructureType sType;
6557 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6558 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6559 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6560 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6561 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6562 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6563 VkBool32 robustBufferAccessUpdateAfterBind;
6564 VkBool32 quadDivergentImplicitLod;
6565 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6566 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6567 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6568 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6569 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6570 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6571 deUint32 maxPerStageUpdateAfterBindResources;
6572 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6573 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6574 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6575 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6576 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6577 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6578 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6579 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6580 } VkPhysicalDeviceDescriptorIndexingProperties;
6582 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
6583 VkStructureType sType;
6585 deUint32 descriptorSetCount;
6586 const deUint32* pDescriptorCounts;
6587 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
6589 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
6590 VkStructureType sType;
6592 deUint32 maxVariableDescriptorCount;
6593 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
6595 typedef struct VkSubpassDescriptionDepthStencilResolve {
6596 VkStructureType sType;
6598 VkResolveModeFlagBits depthResolveMode;
6599 VkResolveModeFlagBits stencilResolveMode;
6600 const VkAttachmentReference2* pDepthStencilResolveAttachment;
6601 } VkSubpassDescriptionDepthStencilResolve;
6603 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
6604 VkStructureType sType;
6606 VkResolveModeFlags supportedDepthResolveModes;
6607 VkResolveModeFlags supportedStencilResolveModes;
6608 VkBool32 independentResolveNone;
6609 VkBool32 independentResolve;
6610 } VkPhysicalDeviceDepthStencilResolveProperties;
6612 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
6613 VkStructureType sType;
6615 VkBool32 scalarBlockLayout;
6616 } VkPhysicalDeviceScalarBlockLayoutFeatures;
6618 typedef struct VkImageStencilUsageCreateInfo {
6619 VkStructureType sType;
6621 VkImageUsageFlags stencilUsage;
6622 } VkImageStencilUsageCreateInfo;
6624 typedef struct VkSamplerReductionModeCreateInfo {
6625 VkStructureType sType;
6627 VkSamplerReductionMode reductionMode;
6628 } VkSamplerReductionModeCreateInfo;
6630 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
6631 VkStructureType sType;
6633 VkBool32 filterMinmaxSingleComponentFormats;
6634 VkBool32 filterMinmaxImageComponentMapping;
6635 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
6637 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
6638 VkStructureType sType;
6640 VkBool32 vulkanMemoryModel;
6641 VkBool32 vulkanMemoryModelDeviceScope;
6642 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6643 } VkPhysicalDeviceVulkanMemoryModelFeatures;
6645 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
6646 VkStructureType sType;
6648 VkBool32 imagelessFramebuffer;
6649 } VkPhysicalDeviceImagelessFramebufferFeatures;
6651 typedef struct VkFramebufferAttachmentImageInfo {
6652 VkStructureType sType;
6654 VkImageCreateFlags flags;
6655 VkImageUsageFlags usage;
6658 deUint32 layerCount;
6659 deUint32 viewFormatCount;
6660 const VkFormat* pViewFormats;
6661 } VkFramebufferAttachmentImageInfo;
6663 typedef struct VkFramebufferAttachmentsCreateInfo {
6664 VkStructureType sType;
6666 deUint32 attachmentImageInfoCount;
6667 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
6668 } VkFramebufferAttachmentsCreateInfo;
6670 typedef struct VkRenderPassAttachmentBeginInfo {
6671 VkStructureType sType;
6673 deUint32 attachmentCount;
6674 const VkImageView* pAttachments;
6675 } VkRenderPassAttachmentBeginInfo;
6677 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
6678 VkStructureType sType;
6680 VkBool32 uniformBufferStandardLayout;
6681 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
6683 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
6684 VkStructureType sType;
6686 VkBool32 shaderSubgroupExtendedTypes;
6687 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
6689 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
6690 VkStructureType sType;
6692 VkBool32 separateDepthStencilLayouts;
6693 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
6695 typedef struct VkAttachmentReferenceStencilLayout {
6696 VkStructureType sType;
6698 VkImageLayout stencilLayout;
6699 } VkAttachmentReferenceStencilLayout;
6701 typedef struct VkAttachmentDescriptionStencilLayout {
6702 VkStructureType sType;
6704 VkImageLayout stencilInitialLayout;
6705 VkImageLayout stencilFinalLayout;
6706 } VkAttachmentDescriptionStencilLayout;
6708 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
6709 VkStructureType sType;
6711 VkBool32 hostQueryReset;
6712 } VkPhysicalDeviceHostQueryResetFeatures;
6714 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
6715 VkStructureType sType;
6717 VkBool32 timelineSemaphore;
6718 } VkPhysicalDeviceTimelineSemaphoreFeatures;
6720 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
6721 VkStructureType sType;
6723 deUint64 maxTimelineSemaphoreValueDifference;
6724 } VkPhysicalDeviceTimelineSemaphoreProperties;
6726 typedef struct VkSemaphoreTypeCreateInfo {
6727 VkStructureType sType;
6729 VkSemaphoreType semaphoreType;
6730 deUint64 initialValue;
6731 } VkSemaphoreTypeCreateInfo;
6733 typedef struct VkTimelineSemaphoreSubmitInfo {
6734 VkStructureType sType;
6736 deUint32 waitSemaphoreValueCount;
6737 const deUint64* pWaitSemaphoreValues;
6738 deUint32 signalSemaphoreValueCount;
6739 const deUint64* pSignalSemaphoreValues;
6740 } VkTimelineSemaphoreSubmitInfo;
6742 typedef struct VkSemaphoreWaitInfo {
6743 VkStructureType sType;
6745 VkSemaphoreWaitFlags flags;
6746 deUint32 semaphoreCount;
6747 const VkSemaphore* pSemaphores;
6748 const deUint64* pValues;
6749 } VkSemaphoreWaitInfo;
6751 typedef struct VkSemaphoreSignalInfo {
6752 VkStructureType sType;
6754 VkSemaphore semaphore;
6756 } VkSemaphoreSignalInfo;
6758 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
6759 VkStructureType sType;
6761 VkBool32 bufferDeviceAddress;
6762 VkBool32 bufferDeviceAddressCaptureReplay;
6763 VkBool32 bufferDeviceAddressMultiDevice;
6764 } VkPhysicalDeviceBufferDeviceAddressFeatures;
6766 typedef struct VkBufferDeviceAddressInfo {
6767 VkStructureType sType;
6770 } VkBufferDeviceAddressInfo;
6772 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
6773 VkStructureType sType;
6775 deUint64 opaqueCaptureAddress;
6776 } VkBufferOpaqueCaptureAddressCreateInfo;
6778 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
6779 VkStructureType sType;
6781 deUint64 opaqueCaptureAddress;
6782 } VkMemoryOpaqueCaptureAddressAllocateInfo;
6784 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
6785 VkStructureType sType;
6787 VkDeviceMemory memory;
6788 } VkDeviceMemoryOpaqueCaptureAddressInfo;
6790 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
6791 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
6792 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6793 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6794 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6795 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6796 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
6797 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
6798 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
6799 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
6800 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6801 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6802 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6804 #ifndef VK_NO_PROTOTYPES
6805 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
6806 VkCommandBuffer commandBuffer,
6808 VkDeviceSize offset,
6809 VkBuffer countBuffer,
6810 VkDeviceSize countBufferOffset,
6811 deUint32 maxDrawCount,
6814 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
6815 VkCommandBuffer commandBuffer,
6817 VkDeviceSize offset,
6818 VkBuffer countBuffer,
6819 VkDeviceSize countBufferOffset,
6820 deUint32 maxDrawCount,
6823 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
6825 const VkRenderPassCreateInfo2* pCreateInfo,
6826 const VkAllocationCallbacks* pAllocator,
6827 VkRenderPass* pRenderPass);
6829 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
6830 VkCommandBuffer commandBuffer,
6831 const VkRenderPassBeginInfo* pRenderPassBegin,
6832 const VkSubpassBeginInfo* pSubpassBeginInfo);
6834 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
6835 VkCommandBuffer commandBuffer,
6836 const VkSubpassBeginInfo* pSubpassBeginInfo,
6837 const VkSubpassEndInfo* pSubpassEndInfo);
6839 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
6840 VkCommandBuffer commandBuffer,
6841 const VkSubpassEndInfo* pSubpassEndInfo);
6843 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
6845 VkQueryPool queryPool,
6846 deUint32 firstQuery,
6847 deUint32 queryCount);
6849 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
6851 VkSemaphore semaphore,
6854 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
6856 const VkSemaphoreWaitInfo* pWaitInfo,
6859 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
6861 const VkSemaphoreSignalInfo* pSignalInfo);
6863 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
6865 const VkBufferDeviceAddressInfo* pInfo);
6867 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
6869 const VkBufferDeviceAddressInfo* pInfo);
6871 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
6873 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6877 #define VK_KHR_surface 1
6878 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
6879 #define VK_KHR_SURFACE_SPEC_VERSION 25
6880 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
6882 typedef enum VkPresentModeKHR {
6883 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
6884 VK_PRESENT_MODE_MAILBOX_KHR = 1,
6885 VK_PRESENT_MODE_FIFO_KHR = 2,
6886 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
6887 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
6888 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
6889 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
6892 typedef enum VkColorSpaceKHR {
6893 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
6894 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
6895 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
6896 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
6897 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
6898 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
6899 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
6900 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
6901 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
6902 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
6903 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
6904 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
6905 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
6906 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
6907 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
6908 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
6909 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
6910 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
6911 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
6914 typedef enum VkSurfaceTransformFlagBitsKHR {
6915 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
6916 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
6917 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
6918 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
6919 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
6920 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
6921 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
6922 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
6923 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
6924 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6925 } VkSurfaceTransformFlagBitsKHR;
6927 typedef enum VkCompositeAlphaFlagBitsKHR {
6928 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
6929 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
6930 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
6931 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
6932 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6933 } VkCompositeAlphaFlagBitsKHR;
6934 typedef VkFlags VkCompositeAlphaFlagsKHR;
6935 typedef VkFlags VkSurfaceTransformFlagsKHR;
6936 typedef struct VkSurfaceCapabilitiesKHR {
6937 deUint32 minImageCount;
6938 deUint32 maxImageCount;
6939 VkExtent2D currentExtent;
6940 VkExtent2D minImageExtent;
6941 VkExtent2D maxImageExtent;
6942 deUint32 maxImageArrayLayers;
6943 VkSurfaceTransformFlagsKHR supportedTransforms;
6944 VkSurfaceTransformFlagBitsKHR currentTransform;
6945 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
6946 VkImageUsageFlags supportedUsageFlags;
6947 } VkSurfaceCapabilitiesKHR;
6949 typedef struct VkSurfaceFormatKHR {
6951 VkColorSpaceKHR colorSpace;
6952 } VkSurfaceFormatKHR;
6954 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
6955 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
6956 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6957 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
6958 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes);
6960 #ifndef VK_NO_PROTOTYPES
6961 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
6962 VkInstance instance,
6963 VkSurfaceKHR surface,
6964 const VkAllocationCallbacks* pAllocator);
6966 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
6967 VkPhysicalDevice physicalDevice,
6968 deUint32 queueFamilyIndex,
6969 VkSurfaceKHR surface,
6970 VkBool32* pSupported);
6972 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
6973 VkPhysicalDevice physicalDevice,
6974 VkSurfaceKHR surface,
6975 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6977 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
6978 VkPhysicalDevice physicalDevice,
6979 VkSurfaceKHR surface,
6980 deUint32* pSurfaceFormatCount,
6981 VkSurfaceFormatKHR* pSurfaceFormats);
6983 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
6984 VkPhysicalDevice physicalDevice,
6985 VkSurfaceKHR surface,
6986 deUint32* pPresentModeCount,
6987 VkPresentModeKHR* pPresentModes);
6991 #define VK_KHR_swapchain 1
6992 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
6993 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
6994 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
6996 typedef enum VkSwapchainCreateFlagBitsKHR {
6997 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
6998 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
6999 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
7000 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7001 } VkSwapchainCreateFlagBitsKHR;
7002 typedef VkFlags VkSwapchainCreateFlagsKHR;
7004 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
7005 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
7006 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
7007 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
7008 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
7009 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7010 } VkDeviceGroupPresentModeFlagBitsKHR;
7011 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
7012 typedef struct VkSwapchainCreateInfoKHR {
7013 VkStructureType sType;
7015 VkSwapchainCreateFlagsKHR flags;
7016 VkSurfaceKHR surface;
7017 deUint32 minImageCount;
7018 VkFormat imageFormat;
7019 VkColorSpaceKHR imageColorSpace;
7020 VkExtent2D imageExtent;
7021 deUint32 imageArrayLayers;
7022 VkImageUsageFlags imageUsage;
7023 VkSharingMode imageSharingMode;
7024 deUint32 queueFamilyIndexCount;
7025 const deUint32* pQueueFamilyIndices;
7026 VkSurfaceTransformFlagBitsKHR preTransform;
7027 VkCompositeAlphaFlagBitsKHR compositeAlpha;
7028 VkPresentModeKHR presentMode;
7030 VkSwapchainKHR oldSwapchain;
7031 } VkSwapchainCreateInfoKHR;
7033 typedef struct VkPresentInfoKHR {
7034 VkStructureType sType;
7036 deUint32 waitSemaphoreCount;
7037 const VkSemaphore* pWaitSemaphores;
7038 deUint32 swapchainCount;
7039 const VkSwapchainKHR* pSwapchains;
7040 const deUint32* pImageIndices;
7044 typedef struct VkImageSwapchainCreateInfoKHR {
7045 VkStructureType sType;
7047 VkSwapchainKHR swapchain;
7048 } VkImageSwapchainCreateInfoKHR;
7050 typedef struct VkBindImageMemorySwapchainInfoKHR {
7051 VkStructureType sType;
7053 VkSwapchainKHR swapchain;
7054 deUint32 imageIndex;
7055 } VkBindImageMemorySwapchainInfoKHR;
7057 typedef struct VkAcquireNextImageInfoKHR {
7058 VkStructureType sType;
7060 VkSwapchainKHR swapchain;
7062 VkSemaphore semaphore;
7064 deUint32 deviceMask;
7065 } VkAcquireNextImageInfoKHR;
7067 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
7068 VkStructureType sType;
7070 deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE];
7071 VkDeviceGroupPresentModeFlagsKHR modes;
7072 } VkDeviceGroupPresentCapabilitiesKHR;
7074 typedef struct VkDeviceGroupPresentInfoKHR {
7075 VkStructureType sType;
7077 deUint32 swapchainCount;
7078 const deUint32* pDeviceMasks;
7079 VkDeviceGroupPresentModeFlagBitsKHR mode;
7080 } VkDeviceGroupPresentInfoKHR;
7082 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
7083 VkStructureType sType;
7085 VkDeviceGroupPresentModeFlagsKHR modes;
7086 } VkDeviceGroupSwapchainCreateInfoKHR;
7088 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
7089 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
7090 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages);
7091 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex);
7092 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
7093 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7094 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
7095 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects);
7096 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex);
7098 #ifndef VK_NO_PROTOTYPES
7099 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
7101 const VkSwapchainCreateInfoKHR* pCreateInfo,
7102 const VkAllocationCallbacks* pAllocator,
7103 VkSwapchainKHR* pSwapchain);
7105 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
7107 VkSwapchainKHR swapchain,
7108 const VkAllocationCallbacks* pAllocator);
7110 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
7112 VkSwapchainKHR swapchain,
7113 deUint32* pSwapchainImageCount,
7114 VkImage* pSwapchainImages);
7116 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
7118 VkSwapchainKHR swapchain,
7120 VkSemaphore semaphore,
7122 deUint32* pImageIndex);
7124 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
7126 const VkPresentInfoKHR* pPresentInfo);
7128 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
7130 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7132 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
7134 VkSurfaceKHR surface,
7135 VkDeviceGroupPresentModeFlagsKHR* pModes);
7137 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
7138 VkPhysicalDevice physicalDevice,
7139 VkSurfaceKHR surface,
7140 deUint32* pRectCount,
7143 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
7145 const VkAcquireNextImageInfoKHR* pAcquireInfo,
7146 deUint32* pImageIndex);
7150 #define VK_KHR_display 1
7151 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
7152 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
7153 #define VK_KHR_DISPLAY_SPEC_VERSION 23
7154 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
7155 typedef VkFlags VkDisplayModeCreateFlagsKHR;
7157 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
7158 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
7159 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
7160 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
7161 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
7162 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7163 } VkDisplayPlaneAlphaFlagBitsKHR;
7164 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
7165 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
7166 typedef struct VkDisplayModeParametersKHR {
7167 VkExtent2D visibleRegion;
7168 deUint32 refreshRate;
7169 } VkDisplayModeParametersKHR;
7171 typedef struct VkDisplayModeCreateInfoKHR {
7172 VkStructureType sType;
7174 VkDisplayModeCreateFlagsKHR flags;
7175 VkDisplayModeParametersKHR parameters;
7176 } VkDisplayModeCreateInfoKHR;
7178 typedef struct VkDisplayModePropertiesKHR {
7179 VkDisplayModeKHR displayMode;
7180 VkDisplayModeParametersKHR parameters;
7181 } VkDisplayModePropertiesKHR;
7183 typedef struct VkDisplayPlaneCapabilitiesKHR {
7184 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
7185 VkOffset2D minSrcPosition;
7186 VkOffset2D maxSrcPosition;
7187 VkExtent2D minSrcExtent;
7188 VkExtent2D maxSrcExtent;
7189 VkOffset2D minDstPosition;
7190 VkOffset2D maxDstPosition;
7191 VkExtent2D minDstExtent;
7192 VkExtent2D maxDstExtent;
7193 } VkDisplayPlaneCapabilitiesKHR;
7195 typedef struct VkDisplayPlanePropertiesKHR {
7196 VkDisplayKHR currentDisplay;
7197 deUint32 currentStackIndex;
7198 } VkDisplayPlanePropertiesKHR;
7200 typedef struct VkDisplayPropertiesKHR {
7201 VkDisplayKHR display;
7202 const char* displayName;
7203 VkExtent2D physicalDimensions;
7204 VkExtent2D physicalResolution;
7205 VkSurfaceTransformFlagsKHR supportedTransforms;
7206 VkBool32 planeReorderPossible;
7207 VkBool32 persistentContent;
7208 } VkDisplayPropertiesKHR;
7210 typedef struct VkDisplaySurfaceCreateInfoKHR {
7211 VkStructureType sType;
7213 VkDisplaySurfaceCreateFlagsKHR flags;
7214 VkDisplayModeKHR displayMode;
7215 deUint32 planeIndex;
7216 deUint32 planeStackIndex;
7217 VkSurfaceTransformFlagBitsKHR transform;
7219 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
7220 VkExtent2D imageExtent;
7221 } VkDisplaySurfaceCreateInfoKHR;
7223 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
7224 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
7225 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays);
7226 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
7227 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
7228 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7229 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
7231 #ifndef VK_NO_PROTOTYPES
7232 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
7233 VkPhysicalDevice physicalDevice,
7234 deUint32* pPropertyCount,
7235 VkDisplayPropertiesKHR* pProperties);
7237 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
7238 VkPhysicalDevice physicalDevice,
7239 deUint32* pPropertyCount,
7240 VkDisplayPlanePropertiesKHR* pProperties);
7242 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
7243 VkPhysicalDevice physicalDevice,
7244 deUint32 planeIndex,
7245 deUint32* pDisplayCount,
7246 VkDisplayKHR* pDisplays);
7248 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
7249 VkPhysicalDevice physicalDevice,
7250 VkDisplayKHR display,
7251 deUint32* pPropertyCount,
7252 VkDisplayModePropertiesKHR* pProperties);
7254 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
7255 VkPhysicalDevice physicalDevice,
7256 VkDisplayKHR display,
7257 const VkDisplayModeCreateInfoKHR* pCreateInfo,
7258 const VkAllocationCallbacks* pAllocator,
7259 VkDisplayModeKHR* pMode);
7261 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
7262 VkPhysicalDevice physicalDevice,
7263 VkDisplayModeKHR mode,
7264 deUint32 planeIndex,
7265 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7267 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
7268 VkInstance instance,
7269 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
7270 const VkAllocationCallbacks* pAllocator,
7271 VkSurfaceKHR* pSurface);
7275 #define VK_KHR_display_swapchain 1
7276 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
7277 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
7278 typedef struct VkDisplayPresentInfoKHR {
7279 VkStructureType sType;
7283 VkBool32 persistent;
7284 } VkDisplayPresentInfoKHR;
7286 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
7288 #ifndef VK_NO_PROTOTYPES
7289 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
7291 deUint32 swapchainCount,
7292 const VkSwapchainCreateInfoKHR* pCreateInfos,
7293 const VkAllocationCallbacks* pAllocator,
7294 VkSwapchainKHR* pSwapchains);
7298 #define VK_KHR_sampler_mirror_clamp_to_edge 1
7299 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
7300 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
7303 #define VK_KHR_multiview 1
7304 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
7305 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
7306 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
7308 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
7310 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
7314 #define VK_KHR_get_physical_device_properties2 1
7315 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
7316 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
7317 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
7319 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
7321 typedef VkFormatProperties2 VkFormatProperties2KHR;
7323 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
7325 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
7327 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
7329 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
7331 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
7333 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
7335 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
7336 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
7337 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
7338 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
7339 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
7340 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7341 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
7343 #ifndef VK_NO_PROTOTYPES
7344 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
7345 VkPhysicalDevice physicalDevice,
7346 VkPhysicalDeviceFeatures2* pFeatures);
7348 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
7349 VkPhysicalDevice physicalDevice,
7350 VkPhysicalDeviceProperties2* pProperties);
7352 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
7353 VkPhysicalDevice physicalDevice,
7355 VkFormatProperties2* pFormatProperties);
7357 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
7358 VkPhysicalDevice physicalDevice,
7359 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
7360 VkImageFormatProperties2* pImageFormatProperties);
7362 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
7363 VkPhysicalDevice physicalDevice,
7364 deUint32* pQueueFamilyPropertyCount,
7365 VkQueueFamilyProperties2* pQueueFamilyProperties);
7367 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
7368 VkPhysicalDevice physicalDevice,
7369 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7371 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
7372 VkPhysicalDevice physicalDevice,
7373 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
7374 deUint32* pPropertyCount,
7375 VkSparseImageFormatProperties2* pProperties);
7379 #define VK_KHR_device_group 1
7380 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
7381 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
7382 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
7384 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
7386 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
7388 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
7390 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
7392 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
7394 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
7396 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
7398 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
7400 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
7402 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
7404 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7405 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
7406 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
7408 #ifndef VK_NO_PROTOTYPES
7409 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
7412 deUint32 localDeviceIndex,
7413 deUint32 remoteDeviceIndex,
7414 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7416 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
7417 VkCommandBuffer commandBuffer,
7418 deUint32 deviceMask);
7420 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
7421 VkCommandBuffer commandBuffer,
7422 deUint32 baseGroupX,
7423 deUint32 baseGroupY,
7424 deUint32 baseGroupZ,
7425 deUint32 groupCountX,
7426 deUint32 groupCountY,
7427 deUint32 groupCountZ);
7431 #define VK_KHR_shader_draw_parameters 1
7432 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
7433 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
7436 #define VK_KHR_maintenance1 1
7437 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
7438 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
7439 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
7441 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
7443 #ifndef VK_NO_PROTOTYPES
7444 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
7446 VkCommandPool commandPool,
7447 VkCommandPoolTrimFlags flags);
7451 #define VK_KHR_device_group_creation 1
7452 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
7453 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
7454 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
7455 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
7457 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
7459 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7461 #ifndef VK_NO_PROTOTYPES
7462 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
7463 VkInstance instance,
7464 deUint32* pPhysicalDeviceGroupCount,
7465 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7469 #define VK_KHR_external_memory_capabilities 1
7470 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
7471 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
7472 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
7473 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
7475 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
7477 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
7479 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
7481 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
7483 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
7485 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
7487 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
7489 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
7491 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
7493 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
7495 #ifndef VK_NO_PROTOTYPES
7496 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
7497 VkPhysicalDevice physicalDevice,
7498 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
7499 VkExternalBufferProperties* pExternalBufferProperties);
7503 #define VK_KHR_external_memory 1
7504 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
7505 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
7506 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
7507 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
7509 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
7511 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
7515 #define VK_KHR_external_memory_fd 1
7516 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
7517 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
7518 typedef struct VkImportMemoryFdInfoKHR {
7519 VkStructureType sType;
7521 VkExternalMemoryHandleTypeFlagBits handleType;
7523 } VkImportMemoryFdInfoKHR;
7525 typedef struct VkMemoryFdPropertiesKHR {
7526 VkStructureType sType;
7528 deUint32 memoryTypeBits;
7529 } VkMemoryFdPropertiesKHR;
7531 typedef struct VkMemoryGetFdInfoKHR {
7532 VkStructureType sType;
7534 VkDeviceMemory memory;
7535 VkExternalMemoryHandleTypeFlagBits handleType;
7536 } VkMemoryGetFdInfoKHR;
7538 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
7539 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
7541 #ifndef VK_NO_PROTOTYPES
7542 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
7544 const VkMemoryGetFdInfoKHR* pGetFdInfo,
7547 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
7549 VkExternalMemoryHandleTypeFlagBits handleType,
7551 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
7555 #define VK_KHR_external_semaphore_capabilities 1
7556 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
7557 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
7558 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
7560 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
7562 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
7564 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
7566 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
7568 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
7570 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
7572 #ifndef VK_NO_PROTOTYPES
7573 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
7574 VkPhysicalDevice physicalDevice,
7575 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
7576 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
7580 #define VK_KHR_external_semaphore 1
7581 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
7582 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
7583 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
7585 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
7587 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
7591 #define VK_KHR_external_semaphore_fd 1
7592 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
7593 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
7594 typedef struct VkImportSemaphoreFdInfoKHR {
7595 VkStructureType sType;
7597 VkSemaphore semaphore;
7598 VkSemaphoreImportFlags flags;
7599 VkExternalSemaphoreHandleTypeFlagBits handleType;
7601 } VkImportSemaphoreFdInfoKHR;
7603 typedef struct VkSemaphoreGetFdInfoKHR {
7604 VkStructureType sType;
7606 VkSemaphore semaphore;
7607 VkExternalSemaphoreHandleTypeFlagBits handleType;
7608 } VkSemaphoreGetFdInfoKHR;
7610 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
7611 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
7613 #ifndef VK_NO_PROTOTYPES
7614 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
7616 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
7618 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
7620 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
7625 #define VK_KHR_push_descriptor 1
7626 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
7627 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
7628 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
7629 VkStructureType sType;
7631 deUint32 maxPushDescriptors;
7632 } VkPhysicalDevicePushDescriptorPropertiesKHR;
7634 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
7635 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData);
7637 #ifndef VK_NO_PROTOTYPES
7638 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
7639 VkCommandBuffer commandBuffer,
7640 VkPipelineBindPoint pipelineBindPoint,
7641 VkPipelineLayout layout,
7643 deUint32 descriptorWriteCount,
7644 const VkWriteDescriptorSet* pDescriptorWrites);
7646 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
7647 VkCommandBuffer commandBuffer,
7648 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7649 VkPipelineLayout layout,
7655 #define VK_KHR_shader_float16_int8 1
7656 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
7657 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
7658 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
7660 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
7664 #define VK_KHR_16bit_storage 1
7665 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
7666 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
7667 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
7671 #define VK_KHR_incremental_present 1
7672 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
7673 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
7674 typedef struct VkRectLayerKHR {
7680 typedef struct VkPresentRegionKHR {
7681 deUint32 rectangleCount;
7682 const VkRectLayerKHR* pRectangles;
7683 } VkPresentRegionKHR;
7685 typedef struct VkPresentRegionsKHR {
7686 VkStructureType sType;
7688 deUint32 swapchainCount;
7689 const VkPresentRegionKHR* pRegions;
7690 } VkPresentRegionsKHR;
7694 #define VK_KHR_descriptor_update_template 1
7695 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
7697 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
7698 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
7699 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
7701 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
7703 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
7705 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
7707 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
7708 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
7709 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
7711 #ifndef VK_NO_PROTOTYPES
7712 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
7714 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
7715 const VkAllocationCallbacks* pAllocator,
7716 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
7718 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
7720 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7721 const VkAllocationCallbacks* pAllocator);
7723 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
7725 VkDescriptorSet descriptorSet,
7726 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7731 #define VK_KHR_imageless_framebuffer 1
7732 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
7733 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
7734 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
7736 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
7738 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
7740 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
7744 #define VK_KHR_create_renderpass2 1
7745 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
7746 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
7747 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
7749 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
7751 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
7753 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
7755 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
7757 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
7759 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
7761 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
7762 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
7763 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
7764 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
7766 #ifndef VK_NO_PROTOTYPES
7767 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
7769 const VkRenderPassCreateInfo2* pCreateInfo,
7770 const VkAllocationCallbacks* pAllocator,
7771 VkRenderPass* pRenderPass);
7773 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
7774 VkCommandBuffer commandBuffer,
7775 const VkRenderPassBeginInfo* pRenderPassBegin,
7776 const VkSubpassBeginInfo* pSubpassBeginInfo);
7778 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
7779 VkCommandBuffer commandBuffer,
7780 const VkSubpassBeginInfo* pSubpassBeginInfo,
7781 const VkSubpassEndInfo* pSubpassEndInfo);
7783 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
7784 VkCommandBuffer commandBuffer,
7785 const VkSubpassEndInfo* pSubpassEndInfo);
7789 #define VK_KHR_shared_presentable_image 1
7790 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
7791 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
7792 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
7793 VkStructureType sType;
7795 VkImageUsageFlags sharedPresentSupportedUsageFlags;
7796 } VkSharedPresentSurfaceCapabilitiesKHR;
7798 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
7800 #ifndef VK_NO_PROTOTYPES
7801 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
7803 VkSwapchainKHR swapchain);
7807 #define VK_KHR_external_fence_capabilities 1
7808 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
7809 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
7810 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
7812 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
7814 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
7816 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
7818 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
7820 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
7822 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
7824 #ifndef VK_NO_PROTOTYPES
7825 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
7826 VkPhysicalDevice physicalDevice,
7827 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
7828 VkExternalFenceProperties* pExternalFenceProperties);
7832 #define VK_KHR_external_fence 1
7833 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
7834 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
7835 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
7837 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
7839 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
7843 #define VK_KHR_external_fence_fd 1
7844 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
7845 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
7846 typedef struct VkImportFenceFdInfoKHR {
7847 VkStructureType sType;
7850 VkFenceImportFlags flags;
7851 VkExternalFenceHandleTypeFlagBits handleType;
7853 } VkImportFenceFdInfoKHR;
7855 typedef struct VkFenceGetFdInfoKHR {
7856 VkStructureType sType;
7859 VkExternalFenceHandleTypeFlagBits handleType;
7860 } VkFenceGetFdInfoKHR;
7862 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
7863 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
7865 #ifndef VK_NO_PROTOTYPES
7866 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
7868 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
7870 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
7872 const VkFenceGetFdInfoKHR* pGetFdInfo,
7877 #define VK_KHR_performance_query 1
7878 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
7879 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
7881 typedef enum VkPerformanceCounterUnitKHR {
7882 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
7883 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
7884 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
7885 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
7886 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
7887 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
7888 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
7889 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
7890 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
7891 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
7892 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
7893 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
7894 } VkPerformanceCounterUnitKHR;
7896 typedef enum VkPerformanceCounterScopeKHR {
7897 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
7898 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
7899 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
7900 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
7901 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
7902 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
7903 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
7904 } VkPerformanceCounterScopeKHR;
7906 typedef enum VkPerformanceCounterStorageKHR {
7907 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
7908 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
7909 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
7910 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
7911 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
7912 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
7913 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
7914 } VkPerformanceCounterStorageKHR;
7916 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
7917 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
7918 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
7919 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
7920 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
7921 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7922 } VkPerformanceCounterDescriptionFlagBitsKHR;
7923 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
7925 typedef enum VkAcquireProfilingLockFlagBitsKHR {
7926 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7927 } VkAcquireProfilingLockFlagBitsKHR;
7928 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
7929 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
7930 VkStructureType sType;
7932 VkBool32 performanceCounterQueryPools;
7933 VkBool32 performanceCounterMultipleQueryPools;
7934 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
7936 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
7937 VkStructureType sType;
7939 VkBool32 allowCommandBufferQueryCopies;
7940 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
7942 typedef struct VkPerformanceCounterKHR {
7943 VkStructureType sType;
7945 VkPerformanceCounterUnitKHR unit;
7946 VkPerformanceCounterScopeKHR scope;
7947 VkPerformanceCounterStorageKHR storage;
7948 deUint8 uuid[VK_UUID_SIZE];
7949 } VkPerformanceCounterKHR;
7951 typedef struct VkPerformanceCounterDescriptionKHR {
7952 VkStructureType sType;
7954 VkPerformanceCounterDescriptionFlagsKHR flags;
7955 char name[VK_MAX_DESCRIPTION_SIZE];
7956 char category[VK_MAX_DESCRIPTION_SIZE];
7957 char description[VK_MAX_DESCRIPTION_SIZE];
7958 } VkPerformanceCounterDescriptionKHR;
7960 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
7961 VkStructureType sType;
7963 deUint32 queueFamilyIndex;
7964 deUint32 counterIndexCount;
7965 const deUint32* pCounterIndices;
7966 } VkQueryPoolPerformanceCreateInfoKHR;
7968 typedef union VkPerformanceCounterResultKHR {
7975 } VkPerformanceCounterResultKHR;
7977 typedef struct VkAcquireProfilingLockInfoKHR {
7978 VkStructureType sType;
7980 VkAcquireProfilingLockFlagsKHR flags;
7982 } VkAcquireProfilingLockInfoKHR;
7984 typedef struct VkPerformanceQuerySubmitInfoKHR {
7985 VkStructureType sType;
7987 deUint32 counterPassIndex;
7988 } VkPerformanceQuerySubmitInfoKHR;
7990 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
7991 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses);
7992 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
7993 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
7995 #ifndef VK_NO_PROTOTYPES
7996 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
7997 VkPhysicalDevice physicalDevice,
7998 deUint32 queueFamilyIndex,
7999 deUint32* pCounterCount,
8000 VkPerformanceCounterKHR* pCounters,
8001 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
8003 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
8004 VkPhysicalDevice physicalDevice,
8005 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
8006 deUint32* pNumPasses);
8008 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
8010 const VkAcquireProfilingLockInfoKHR* pInfo);
8012 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
8017 #define VK_KHR_maintenance2 1
8018 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
8019 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
8020 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
8022 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
8024 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
8026 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
8028 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
8030 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
8032 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
8036 #define VK_KHR_get_surface_capabilities2 1
8037 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
8038 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
8039 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
8040 VkStructureType sType;
8042 VkSurfaceKHR surface;
8043 } VkPhysicalDeviceSurfaceInfo2KHR;
8045 typedef struct VkSurfaceCapabilities2KHR {
8046 VkStructureType sType;
8048 VkSurfaceCapabilitiesKHR surfaceCapabilities;
8049 } VkSurfaceCapabilities2KHR;
8051 typedef struct VkSurfaceFormat2KHR {
8052 VkStructureType sType;
8054 VkSurfaceFormatKHR surfaceFormat;
8055 } VkSurfaceFormat2KHR;
8057 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8058 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
8060 #ifndef VK_NO_PROTOTYPES
8061 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
8062 VkPhysicalDevice physicalDevice,
8063 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8064 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8066 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
8067 VkPhysicalDevice physicalDevice,
8068 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8069 deUint32* pSurfaceFormatCount,
8070 VkSurfaceFormat2KHR* pSurfaceFormats);
8074 #define VK_KHR_variable_pointers 1
8075 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
8076 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
8077 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
8079 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
8083 #define VK_KHR_get_display_properties2 1
8084 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
8085 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
8086 typedef struct VkDisplayProperties2KHR {
8087 VkStructureType sType;
8089 VkDisplayPropertiesKHR displayProperties;
8090 } VkDisplayProperties2KHR;
8092 typedef struct VkDisplayPlaneProperties2KHR {
8093 VkStructureType sType;
8095 VkDisplayPlanePropertiesKHR displayPlaneProperties;
8096 } VkDisplayPlaneProperties2KHR;
8098 typedef struct VkDisplayModeProperties2KHR {
8099 VkStructureType sType;
8101 VkDisplayModePropertiesKHR displayModeProperties;
8102 } VkDisplayModeProperties2KHR;
8104 typedef struct VkDisplayPlaneInfo2KHR {
8105 VkStructureType sType;
8107 VkDisplayModeKHR mode;
8108 deUint32 planeIndex;
8109 } VkDisplayPlaneInfo2KHR;
8111 typedef struct VkDisplayPlaneCapabilities2KHR {
8112 VkStructureType sType;
8114 VkDisplayPlaneCapabilitiesKHR capabilities;
8115 } VkDisplayPlaneCapabilities2KHR;
8117 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties);
8118 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
8119 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
8120 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
8122 #ifndef VK_NO_PROTOTYPES
8123 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
8124 VkPhysicalDevice physicalDevice,
8125 deUint32* pPropertyCount,
8126 VkDisplayProperties2KHR* pProperties);
8128 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
8129 VkPhysicalDevice physicalDevice,
8130 deUint32* pPropertyCount,
8131 VkDisplayPlaneProperties2KHR* pProperties);
8133 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
8134 VkPhysicalDevice physicalDevice,
8135 VkDisplayKHR display,
8136 deUint32* pPropertyCount,
8137 VkDisplayModeProperties2KHR* pProperties);
8139 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
8140 VkPhysicalDevice physicalDevice,
8141 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
8142 VkDisplayPlaneCapabilities2KHR* pCapabilities);
8146 #define VK_KHR_dedicated_allocation 1
8147 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
8148 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
8149 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
8151 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
8155 #define VK_KHR_storage_buffer_storage_class 1
8156 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
8157 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
8160 #define VK_KHR_relaxed_block_layout 1
8161 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
8162 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
8165 #define VK_KHR_get_memory_requirements2 1
8166 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
8167 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
8168 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
8170 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
8172 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
8174 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
8176 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
8178 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8179 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8180 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8182 #ifndef VK_NO_PROTOTYPES
8183 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
8185 const VkImageMemoryRequirementsInfo2* pInfo,
8186 VkMemoryRequirements2* pMemoryRequirements);
8188 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
8190 const VkBufferMemoryRequirementsInfo2* pInfo,
8191 VkMemoryRequirements2* pMemoryRequirements);
8193 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
8195 const VkImageSparseMemoryRequirementsInfo2* pInfo,
8196 deUint32* pSparseMemoryRequirementCount,
8197 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8201 #define VK_KHR_image_format_list 1
8202 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
8203 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
8204 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
8208 #define VK_KHR_sampler_ycbcr_conversion 1
8209 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
8211 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
8212 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
8213 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
8215 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
8217 typedef VkChromaLocation VkChromaLocationKHR;
8219 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
8221 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
8223 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
8225 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
8227 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
8229 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
8231 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
8232 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
8234 #ifndef VK_NO_PROTOTYPES
8235 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
8237 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
8238 const VkAllocationCallbacks* pAllocator,
8239 VkSamplerYcbcrConversion* pYcbcrConversion);
8241 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
8243 VkSamplerYcbcrConversion ycbcrConversion,
8244 const VkAllocationCallbacks* pAllocator);
8248 #define VK_KHR_bind_memory2 1
8249 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
8250 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
8251 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
8253 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
8255 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
8256 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
8258 #ifndef VK_NO_PROTOTYPES
8259 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
8261 deUint32 bindInfoCount,
8262 const VkBindBufferMemoryInfo* pBindInfos);
8264 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
8266 deUint32 bindInfoCount,
8267 const VkBindImageMemoryInfo* pBindInfos);
8271 #define VK_KHR_maintenance3 1
8272 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
8273 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
8274 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
8276 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
8278 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
8280 #ifndef VK_NO_PROTOTYPES
8281 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
8283 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
8284 VkDescriptorSetLayoutSupport* pSupport);
8288 #define VK_KHR_draw_indirect_count 1
8289 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
8290 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
8291 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8292 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8294 #ifndef VK_NO_PROTOTYPES
8295 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
8296 VkCommandBuffer commandBuffer,
8298 VkDeviceSize offset,
8299 VkBuffer countBuffer,
8300 VkDeviceSize countBufferOffset,
8301 deUint32 maxDrawCount,
8304 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
8305 VkCommandBuffer commandBuffer,
8307 VkDeviceSize offset,
8308 VkBuffer countBuffer,
8309 VkDeviceSize countBufferOffset,
8310 deUint32 maxDrawCount,
8315 #define VK_KHR_shader_subgroup_extended_types 1
8316 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
8317 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
8318 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
8322 #define VK_KHR_8bit_storage 1
8323 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
8324 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
8325 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
8329 #define VK_KHR_shader_atomic_int64 1
8330 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
8331 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
8332 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
8336 #define VK_KHR_shader_clock 1
8337 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
8338 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
8339 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
8340 VkStructureType sType;
8342 VkBool32 shaderSubgroupClock;
8343 VkBool32 shaderDeviceClock;
8344 } VkPhysicalDeviceShaderClockFeaturesKHR;
8348 #define VK_KHR_driver_properties 1
8349 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
8350 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
8351 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
8352 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
8353 typedef VkDriverId VkDriverIdKHR;
8355 typedef VkConformanceVersion VkConformanceVersionKHR;
8357 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
8361 #define VK_KHR_shader_float_controls 1
8362 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
8363 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
8364 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
8366 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
8370 #define VK_KHR_depth_stencil_resolve 1
8371 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
8372 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
8373 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
8375 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
8377 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
8379 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
8383 #define VK_KHR_swapchain_mutable_format 1
8384 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
8385 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
8388 #define VK_KHR_timeline_semaphore 1
8389 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
8390 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
8391 typedef VkSemaphoreType VkSemaphoreTypeKHR;
8393 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
8395 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
8397 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
8399 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
8401 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
8403 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
8405 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
8407 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
8409 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
8410 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
8411 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
8413 #ifndef VK_NO_PROTOTYPES
8414 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
8416 VkSemaphore semaphore,
8419 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
8421 const VkSemaphoreWaitInfo* pWaitInfo,
8424 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
8426 const VkSemaphoreSignalInfo* pSignalInfo);
8430 #define VK_KHR_vulkan_memory_model 1
8431 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
8432 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
8433 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
8437 #define VK_KHR_shader_terminate_invocation 1
8438 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
8439 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
8440 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR {
8441 VkStructureType sType;
8443 VkBool32 shaderTerminateInvocation;
8444 } VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
8448 #define VK_KHR_fragment_shading_rate 1
8449 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 1
8450 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
8452 typedef enum VkFragmentShadingRateCombinerOpKHR {
8453 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
8454 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
8455 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
8456 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
8457 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
8458 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
8459 } VkFragmentShadingRateCombinerOpKHR;
8460 typedef struct VkFragmentShadingRateAttachmentInfoKHR {
8461 VkStructureType sType;
8463 const VkAttachmentReference2* pFragmentShadingRateAttachment;
8464 VkExtent2D shadingRateAttachmentTexelSize;
8465 } VkFragmentShadingRateAttachmentInfoKHR;
8467 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
8468 VkStructureType sType;
8470 VkExtent2D fragmentSize;
8471 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
8472 } VkPipelineFragmentShadingRateStateCreateInfoKHR;
8474 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
8475 VkStructureType sType;
8477 VkBool32 pipelineFragmentShadingRate;
8478 VkBool32 primitiveFragmentShadingRate;
8479 VkBool32 attachmentFragmentShadingRate;
8480 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
8482 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
8483 VkStructureType sType;
8485 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
8486 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
8487 deUint32 maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
8488 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
8489 VkBool32 layeredShadingRateAttachments;
8490 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
8491 VkExtent2D maxFragmentSize;
8492 deUint32 maxFragmentSizeAspectRatio;
8493 deUint32 maxFragmentShadingRateCoverageSamples;
8494 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
8495 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
8496 VkBool32 fragmentShadingRateWithSampleMask;
8497 VkBool32 fragmentShadingRateWithShaderSampleMask;
8498 VkBool32 fragmentShadingRateWithConservativeRasterization;
8499 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
8500 VkBool32 fragmentShadingRateWithCustomSampleLocations;
8501 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
8502 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
8504 typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
8505 VkStructureType sType;
8507 VkSampleCountFlags sampleCounts;
8508 VkExtent2D fragmentSize;
8509 } VkPhysicalDeviceFragmentShadingRateKHR;
8511 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, deUint32* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
8512 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
8514 #ifndef VK_NO_PROTOTYPES
8515 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
8516 VkPhysicalDevice physicalDevice,
8517 deUint32* pFragmentShadingRateCount,
8518 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
8520 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
8521 VkCommandBuffer commandBuffer,
8522 const VkExtent2D* pFragmentSize,
8523 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
8527 #define VK_KHR_spirv_1_4 1
8528 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
8529 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
8532 #define VK_KHR_surface_protected_capabilities 1
8533 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
8534 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
8535 typedef struct VkSurfaceProtectedCapabilitiesKHR {
8536 VkStructureType sType;
8538 VkBool32 supportsProtected;
8539 } VkSurfaceProtectedCapabilitiesKHR;
8543 #define VK_KHR_separate_depth_stencil_layouts 1
8544 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
8545 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
8546 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
8548 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
8550 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
8554 #define VK_KHR_uniform_buffer_standard_layout 1
8555 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
8556 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
8557 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
8561 #define VK_KHR_buffer_device_address 1
8562 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
8563 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
8564 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
8566 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
8568 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
8570 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
8572 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
8574 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
8575 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
8576 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
8578 #ifndef VK_NO_PROTOTYPES
8579 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
8581 const VkBufferDeviceAddressInfo* pInfo);
8583 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
8585 const VkBufferDeviceAddressInfo* pInfo);
8587 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
8589 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
8593 #define VK_KHR_deferred_host_operations 1
8594 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
8595 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
8596 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
8597 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
8598 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
8599 typedef deUint32 (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
8600 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
8601 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
8603 #ifndef VK_NO_PROTOTYPES
8604 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
8606 const VkAllocationCallbacks* pAllocator,
8607 VkDeferredOperationKHR* pDeferredOperation);
8609 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
8611 VkDeferredOperationKHR operation,
8612 const VkAllocationCallbacks* pAllocator);
8614 VKAPI_ATTR deUint32 VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
8616 VkDeferredOperationKHR operation);
8618 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
8620 VkDeferredOperationKHR operation);
8622 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
8624 VkDeferredOperationKHR operation);
8628 #define VK_KHR_pipeline_executable_properties 1
8629 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
8630 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
8632 typedef enum VkPipelineExecutableStatisticFormatKHR {
8633 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
8634 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
8635 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
8636 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
8637 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
8638 } VkPipelineExecutableStatisticFormatKHR;
8639 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
8640 VkStructureType sType;
8642 VkBool32 pipelineExecutableInfo;
8643 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
8645 typedef struct VkPipelineInfoKHR {
8646 VkStructureType sType;
8648 VkPipeline pipeline;
8649 } VkPipelineInfoKHR;
8651 typedef struct VkPipelineExecutablePropertiesKHR {
8652 VkStructureType sType;
8654 VkShaderStageFlags stages;
8655 char name[VK_MAX_DESCRIPTION_SIZE];
8656 char description[VK_MAX_DESCRIPTION_SIZE];
8657 deUint32 subgroupSize;
8658 } VkPipelineExecutablePropertiesKHR;
8660 typedef struct VkPipelineExecutableInfoKHR {
8661 VkStructureType sType;
8663 VkPipeline pipeline;
8664 deUint32 executableIndex;
8665 } VkPipelineExecutableInfoKHR;
8667 typedef union VkPipelineExecutableStatisticValueKHR {
8672 } VkPipelineExecutableStatisticValueKHR;
8674 typedef struct VkPipelineExecutableStatisticKHR {
8675 VkStructureType sType;
8677 char name[VK_MAX_DESCRIPTION_SIZE];
8678 char description[VK_MAX_DESCRIPTION_SIZE];
8679 VkPipelineExecutableStatisticFormatKHR format;
8680 VkPipelineExecutableStatisticValueKHR value;
8681 } VkPipelineExecutableStatisticKHR;
8683 typedef struct VkPipelineExecutableInternalRepresentationKHR {
8684 VkStructureType sType;
8686 char name[VK_MAX_DESCRIPTION_SIZE];
8687 char description[VK_MAX_DESCRIPTION_SIZE];
8691 } VkPipelineExecutableInternalRepresentationKHR;
8693 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, deUint32* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
8694 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
8695 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
8697 #ifndef VK_NO_PROTOTYPES
8698 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
8700 const VkPipelineInfoKHR* pPipelineInfo,
8701 deUint32* pExecutableCount,
8702 VkPipelineExecutablePropertiesKHR* pProperties);
8704 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
8706 const VkPipelineExecutableInfoKHR* pExecutableInfo,
8707 deUint32* pStatisticCount,
8708 VkPipelineExecutableStatisticKHR* pStatistics);
8710 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
8712 const VkPipelineExecutableInfoKHR* pExecutableInfo,
8713 deUint32* pInternalRepresentationCount,
8714 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
8718 #define VK_KHR_pipeline_library 1
8719 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
8720 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
8721 typedef struct VkPipelineLibraryCreateInfoKHR {
8722 VkStructureType sType;
8724 deUint32 libraryCount;
8725 const VkPipeline* pLibraries;
8726 } VkPipelineLibraryCreateInfoKHR;
8730 #define VK_KHR_shader_non_semantic_info 1
8731 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
8732 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
8735 #define VK_KHR_synchronization2 1
8736 typedef deUint64 VkFlags64;
8737 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
8738 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
8739 typedef VkFlags64 VkPipelineStageFlags2KHR;
8741 // Flag bits for VkPipelineStageFlagBits2KHR
8742 typedef VkFlags64 VkPipelineStageFlagBits2KHR;
8743 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
8744 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
8745 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
8746 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
8747 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
8748 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
8749 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
8750 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
8751 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
8752 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
8753 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
8754 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
8755 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
8756 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
8757 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000;
8758 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
8759 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
8760 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
8761 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
8762 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
8763 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
8764 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
8765 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
8766 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
8767 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
8768 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
8769 #ifdef VK_ENABLE_BETA_EXTENSIONS
8770 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
8772 #ifdef VK_ENABLE_BETA_EXTENSIONS
8773 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
8775 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
8776 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
8777 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
8778 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
8779 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000;
8780 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
8781 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
8782 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000;
8783 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000;
8784 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
8785 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
8786 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
8788 typedef VkFlags64 VkAccessFlags2KHR;
8790 // Flag bits for VkAccessFlagBits2KHR
8791 typedef VkFlags64 VkAccessFlagBits2KHR;
8792 static const VkAccessFlagBits2KHR VK_ACCESS_2_NONE_KHR = 0ULL;
8793 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
8794 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
8795 static const VkAccessFlagBits2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
8796 static const VkAccessFlagBits2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
8797 static const VkAccessFlagBits2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
8798 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
8799 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
8800 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
8801 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
8802 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
8803 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
8804 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
8805 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
8806 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
8807 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
8808 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
8809 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
8810 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
8811 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
8812 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
8813 #ifdef VK_ENABLE_BETA_EXTENSIONS
8814 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
8816 #ifdef VK_ENABLE_BETA_EXTENSIONS
8817 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
8819 #ifdef VK_ENABLE_BETA_EXTENSIONS
8820 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
8822 #ifdef VK_ENABLE_BETA_EXTENSIONS
8823 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
8825 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
8826 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
8827 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
8828 static const VkAccessFlagBits2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
8829 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
8830 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
8831 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
8832 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000;
8833 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
8834 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
8835 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000;
8836 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000;
8837 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
8838 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
8841 typedef enum VkSubmitFlagBitsKHR {
8842 VK_SUBMIT_PROTECTED_BIT_KHR = 0x00000001,
8843 VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8844 } VkSubmitFlagBitsKHR;
8845 typedef VkFlags VkSubmitFlagsKHR;
8846 typedef struct VkMemoryBarrier2KHR {
8847 VkStructureType sType;
8849 VkPipelineStageFlags2KHR srcStageMask;
8850 VkAccessFlags2KHR srcAccessMask;
8851 VkPipelineStageFlags2KHR dstStageMask;
8852 VkAccessFlags2KHR dstAccessMask;
8853 } VkMemoryBarrier2KHR;
8855 typedef struct VkBufferMemoryBarrier2KHR {
8856 VkStructureType sType;
8858 VkPipelineStageFlags2KHR srcStageMask;
8859 VkAccessFlags2KHR srcAccessMask;
8860 VkPipelineStageFlags2KHR dstStageMask;
8861 VkAccessFlags2KHR dstAccessMask;
8862 deUint32 srcQueueFamilyIndex;
8863 deUint32 dstQueueFamilyIndex;
8865 VkDeviceSize offset;
8867 } VkBufferMemoryBarrier2KHR;
8869 typedef struct VkImageMemoryBarrier2KHR {
8870 VkStructureType sType;
8872 VkPipelineStageFlags2KHR srcStageMask;
8873 VkAccessFlags2KHR srcAccessMask;
8874 VkPipelineStageFlags2KHR dstStageMask;
8875 VkAccessFlags2KHR dstAccessMask;
8876 VkImageLayout oldLayout;
8877 VkImageLayout newLayout;
8878 deUint32 srcQueueFamilyIndex;
8879 deUint32 dstQueueFamilyIndex;
8881 VkImageSubresourceRange subresourceRange;
8882 } VkImageMemoryBarrier2KHR;
8884 typedef struct VkDependencyInfoKHR {
8885 VkStructureType sType;
8887 VkDependencyFlags dependencyFlags;
8888 deUint32 memoryBarrierCount;
8889 const VkMemoryBarrier2KHR* pMemoryBarriers;
8890 deUint32 bufferMemoryBarrierCount;
8891 const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers;
8892 deUint32 imageMemoryBarrierCount;
8893 const VkImageMemoryBarrier2KHR* pImageMemoryBarriers;
8894 } VkDependencyInfoKHR;
8896 typedef struct VkSemaphoreSubmitInfoKHR {
8897 VkStructureType sType;
8899 VkSemaphore semaphore;
8901 VkPipelineStageFlags2KHR stageMask;
8902 deUint32 deviceIndex;
8903 } VkSemaphoreSubmitInfoKHR;
8905 typedef struct VkCommandBufferSubmitInfoKHR {
8906 VkStructureType sType;
8908 VkCommandBuffer commandBuffer;
8909 deUint32 deviceMask;
8910 } VkCommandBufferSubmitInfoKHR;
8912 typedef struct VkSubmitInfo2KHR {
8913 VkStructureType sType;
8915 VkSubmitFlagsKHR flags;
8916 deUint32 waitSemaphoreInfoCount;
8917 const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos;
8918 deUint32 commandBufferInfoCount;
8919 const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos;
8920 deUint32 signalSemaphoreInfoCount;
8921 const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos;
8924 typedef struct VkPhysicalDeviceSynchronization2FeaturesKHR {
8925 VkStructureType sType;
8927 VkBool32 synchronization2;
8928 } VkPhysicalDeviceSynchronization2FeaturesKHR;
8930 typedef struct VkQueueFamilyCheckpointProperties2NV {
8931 VkStructureType sType;
8933 VkPipelineStageFlags2KHR checkpointExecutionStageMask;
8934 } VkQueueFamilyCheckpointProperties2NV;
8936 typedef struct VkCheckpointData2NV {
8937 VkStructureType sType;
8939 VkPipelineStageFlags2KHR stage;
8940 void* pCheckpointMarker;
8941 } VkCheckpointData2NV;
8943 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo);
8944 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask);
8945 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos);
8946 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo);
8947 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, deUint32 query);
8948 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence);
8949 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
8950 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
8952 #ifndef VK_NO_PROTOTYPES
8953 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
8954 VkCommandBuffer commandBuffer,
8956 const VkDependencyInfoKHR* pDependencyInfo);
8958 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
8959 VkCommandBuffer commandBuffer,
8961 VkPipelineStageFlags2KHR stageMask);
8963 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
8964 VkCommandBuffer commandBuffer,
8965 deUint32 eventCount,
8966 const VkEvent* pEvents,
8967 const VkDependencyInfoKHR* pDependencyInfos);
8969 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
8970 VkCommandBuffer commandBuffer,
8971 const VkDependencyInfoKHR* pDependencyInfo);
8973 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
8974 VkCommandBuffer commandBuffer,
8975 VkPipelineStageFlags2KHR stage,
8976 VkQueryPool queryPool,
8979 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
8981 deUint32 submitCount,
8982 const VkSubmitInfo2KHR* pSubmits,
8985 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
8986 VkCommandBuffer commandBuffer,
8987 VkPipelineStageFlags2KHR stage,
8989 VkDeviceSize dstOffset,
8992 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
8994 deUint32* pCheckpointDataCount,
8995 VkCheckpointData2NV* pCheckpointData);
8999 #define VK_KHR_zero_initialize_workgroup_memory 1
9000 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
9001 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
9002 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR {
9003 VkStructureType sType;
9005 VkBool32 shaderZeroInitializeWorkgroupMemory;
9006 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
9010 #define VK_KHR_workgroup_memory_explicit_layout 1
9011 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
9012 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
9013 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
9014 VkStructureType sType;
9016 VkBool32 workgroupMemoryExplicitLayout;
9017 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
9018 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
9019 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
9020 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
9024 #define VK_KHR_copy_commands2 1
9025 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
9026 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
9027 typedef struct VkBufferCopy2KHR {
9028 VkStructureType sType;
9030 VkDeviceSize srcOffset;
9031 VkDeviceSize dstOffset;
9035 typedef struct VkCopyBufferInfo2KHR {
9036 VkStructureType sType;
9040 deUint32 regionCount;
9041 const VkBufferCopy2KHR* pRegions;
9042 } VkCopyBufferInfo2KHR;
9044 typedef struct VkImageCopy2KHR {
9045 VkStructureType sType;
9047 VkImageSubresourceLayers srcSubresource;
9048 VkOffset3D srcOffset;
9049 VkImageSubresourceLayers dstSubresource;
9050 VkOffset3D dstOffset;
9054 typedef struct VkCopyImageInfo2KHR {
9055 VkStructureType sType;
9058 VkImageLayout srcImageLayout;
9060 VkImageLayout dstImageLayout;
9061 deUint32 regionCount;
9062 const VkImageCopy2KHR* pRegions;
9063 } VkCopyImageInfo2KHR;
9065 typedef struct VkBufferImageCopy2KHR {
9066 VkStructureType sType;
9068 VkDeviceSize bufferOffset;
9069 deUint32 bufferRowLength;
9070 deUint32 bufferImageHeight;
9071 VkImageSubresourceLayers imageSubresource;
9072 VkOffset3D imageOffset;
9073 VkExtent3D imageExtent;
9074 } VkBufferImageCopy2KHR;
9076 typedef struct VkCopyBufferToImageInfo2KHR {
9077 VkStructureType sType;
9081 VkImageLayout dstImageLayout;
9082 deUint32 regionCount;
9083 const VkBufferImageCopy2KHR* pRegions;
9084 } VkCopyBufferToImageInfo2KHR;
9086 typedef struct VkCopyImageToBufferInfo2KHR {
9087 VkStructureType sType;
9090 VkImageLayout srcImageLayout;
9092 deUint32 regionCount;
9093 const VkBufferImageCopy2KHR* pRegions;
9094 } VkCopyImageToBufferInfo2KHR;
9096 typedef struct VkImageBlit2KHR {
9097 VkStructureType sType;
9099 VkImageSubresourceLayers srcSubresource;
9100 VkOffset3D srcOffsets[2];
9101 VkImageSubresourceLayers dstSubresource;
9102 VkOffset3D dstOffsets[2];
9105 typedef struct VkBlitImageInfo2KHR {
9106 VkStructureType sType;
9109 VkImageLayout srcImageLayout;
9111 VkImageLayout dstImageLayout;
9112 deUint32 regionCount;
9113 const VkImageBlit2KHR* pRegions;
9115 } VkBlitImageInfo2KHR;
9117 typedef struct VkImageResolve2KHR {
9118 VkStructureType sType;
9120 VkImageSubresourceLayers srcSubresource;
9121 VkOffset3D srcOffset;
9122 VkImageSubresourceLayers dstSubresource;
9123 VkOffset3D dstOffset;
9125 } VkImageResolve2KHR;
9127 typedef struct VkResolveImageInfo2KHR {
9128 VkStructureType sType;
9131 VkImageLayout srcImageLayout;
9133 VkImageLayout dstImageLayout;
9134 deUint32 regionCount;
9135 const VkImageResolve2KHR* pRegions;
9136 } VkResolveImageInfo2KHR;
9138 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo);
9139 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo);
9140 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
9141 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
9142 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo);
9143 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo);
9145 #ifndef VK_NO_PROTOTYPES
9146 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
9147 VkCommandBuffer commandBuffer,
9148 const VkCopyBufferInfo2KHR* pCopyBufferInfo);
9150 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
9151 VkCommandBuffer commandBuffer,
9152 const VkCopyImageInfo2KHR* pCopyImageInfo);
9154 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
9155 VkCommandBuffer commandBuffer,
9156 const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
9158 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
9159 VkCommandBuffer commandBuffer,
9160 const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
9162 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
9163 VkCommandBuffer commandBuffer,
9164 const VkBlitImageInfo2KHR* pBlitImageInfo);
9166 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
9167 VkCommandBuffer commandBuffer,
9168 const VkResolveImageInfo2KHR* pResolveImageInfo);
9172 #define VK_EXT_debug_report 1
9173 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
9174 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
9175 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
9177 typedef enum VkDebugReportObjectTypeEXT {
9178 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
9179 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
9180 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
9181 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
9182 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
9183 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
9184 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
9185 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
9186 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
9187 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
9188 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
9189 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
9190 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
9191 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
9192 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
9193 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
9194 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
9195 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
9196 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
9197 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
9198 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
9199 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
9200 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
9201 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
9202 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
9203 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
9204 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
9205 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
9206 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
9207 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
9208 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
9209 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
9210 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
9211 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
9212 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000,
9213 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001,
9214 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
9215 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
9216 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
9217 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
9218 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
9219 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
9220 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9221 } VkDebugReportObjectTypeEXT;
9223 typedef enum VkDebugReportFlagBitsEXT {
9224 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
9225 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
9226 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
9227 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
9228 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
9229 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9230 } VkDebugReportFlagBitsEXT;
9231 typedef VkFlags VkDebugReportFlagsEXT;
9232 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
9233 VkDebugReportFlagsEXT flags,
9234 VkDebugReportObjectTypeEXT objectType,
9237 deInt32 messageCode,
9238 const char* pLayerPrefix,
9239 const char* pMessage,
9242 typedef struct VkDebugReportCallbackCreateInfoEXT {
9243 VkStructureType sType;
9245 VkDebugReportFlagsEXT flags;
9246 PFN_vkDebugReportCallbackEXT pfnCallback;
9248 } VkDebugReportCallbackCreateInfoEXT;
9250 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
9251 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
9252 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage);
9254 #ifndef VK_NO_PROTOTYPES
9255 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
9256 VkInstance instance,
9257 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
9258 const VkAllocationCallbacks* pAllocator,
9259 VkDebugReportCallbackEXT* pCallback);
9261 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
9262 VkInstance instance,
9263 VkDebugReportCallbackEXT callback,
9264 const VkAllocationCallbacks* pAllocator);
9266 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
9267 VkInstance instance,
9268 VkDebugReportFlagsEXT flags,
9269 VkDebugReportObjectTypeEXT objectType,
9272 deInt32 messageCode,
9273 const char* pLayerPrefix,
9274 const char* pMessage);
9278 #define VK_NV_glsl_shader 1
9279 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
9280 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
9283 #define VK_EXT_depth_range_unrestricted 1
9284 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
9285 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
9288 #define VK_IMG_filter_cubic 1
9289 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
9290 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
9293 #define VK_AMD_rasterization_order 1
9294 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
9295 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
9297 typedef enum VkRasterizationOrderAMD {
9298 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
9299 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
9300 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
9301 } VkRasterizationOrderAMD;
9302 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
9303 VkStructureType sType;
9305 VkRasterizationOrderAMD rasterizationOrder;
9306 } VkPipelineRasterizationStateRasterizationOrderAMD;
9310 #define VK_AMD_shader_trinary_minmax 1
9311 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
9312 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
9315 #define VK_AMD_shader_explicit_vertex_parameter 1
9316 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
9317 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
9320 #define VK_EXT_debug_marker 1
9321 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
9322 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
9323 typedef struct VkDebugMarkerObjectNameInfoEXT {
9324 VkStructureType sType;
9326 VkDebugReportObjectTypeEXT objectType;
9328 const char* pObjectName;
9329 } VkDebugMarkerObjectNameInfoEXT;
9331 typedef struct VkDebugMarkerObjectTagInfoEXT {
9332 VkStructureType sType;
9334 VkDebugReportObjectTypeEXT objectType;
9339 } VkDebugMarkerObjectTagInfoEXT;
9341 typedef struct VkDebugMarkerMarkerInfoEXT {
9342 VkStructureType sType;
9344 const char* pMarkerName;
9346 } VkDebugMarkerMarkerInfoEXT;
9348 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9349 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9350 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9351 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
9352 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9354 #ifndef VK_NO_PROTOTYPES
9355 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
9357 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9359 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
9361 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9363 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
9364 VkCommandBuffer commandBuffer,
9365 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9367 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
9368 VkCommandBuffer commandBuffer);
9370 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
9371 VkCommandBuffer commandBuffer,
9372 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9376 #define VK_AMD_gcn_shader 1
9377 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
9378 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
9381 #define VK_NV_dedicated_allocation 1
9382 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
9383 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
9384 typedef struct VkDedicatedAllocationImageCreateInfoNV {
9385 VkStructureType sType;
9387 VkBool32 dedicatedAllocation;
9388 } VkDedicatedAllocationImageCreateInfoNV;
9390 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
9391 VkStructureType sType;
9393 VkBool32 dedicatedAllocation;
9394 } VkDedicatedAllocationBufferCreateInfoNV;
9396 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
9397 VkStructureType sType;
9401 } VkDedicatedAllocationMemoryAllocateInfoNV;
9405 #define VK_EXT_transform_feedback 1
9406 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
9407 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
9408 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
9409 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
9410 VkStructureType sType;
9412 VkBool32 transformFeedback;
9413 VkBool32 geometryStreams;
9414 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
9416 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
9417 VkStructureType sType;
9419 deUint32 maxTransformFeedbackStreams;
9420 deUint32 maxTransformFeedbackBuffers;
9421 VkDeviceSize maxTransformFeedbackBufferSize;
9422 deUint32 maxTransformFeedbackStreamDataSize;
9423 deUint32 maxTransformFeedbackBufferDataSize;
9424 deUint32 maxTransformFeedbackBufferDataStride;
9425 VkBool32 transformFeedbackQueries;
9426 VkBool32 transformFeedbackStreamsLinesTriangles;
9427 VkBool32 transformFeedbackRasterizationStreamSelect;
9428 VkBool32 transformFeedbackDraw;
9429 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
9431 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
9432 VkStructureType sType;
9434 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
9435 deUint32 rasterizationStream;
9436 } VkPipelineRasterizationStateStreamCreateInfoEXT;
9438 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
9439 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9440 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9441 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index);
9442 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index);
9443 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride);
9445 #ifndef VK_NO_PROTOTYPES
9446 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
9447 VkCommandBuffer commandBuffer,
9448 deUint32 firstBinding,
9449 deUint32 bindingCount,
9450 const VkBuffer* pBuffers,
9451 const VkDeviceSize* pOffsets,
9452 const VkDeviceSize* pSizes);
9454 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
9455 VkCommandBuffer commandBuffer,
9456 deUint32 firstCounterBuffer,
9457 deUint32 counterBufferCount,
9458 const VkBuffer* pCounterBuffers,
9459 const VkDeviceSize* pCounterBufferOffsets);
9461 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
9462 VkCommandBuffer commandBuffer,
9463 deUint32 firstCounterBuffer,
9464 deUint32 counterBufferCount,
9465 const VkBuffer* pCounterBuffers,
9466 const VkDeviceSize* pCounterBufferOffsets);
9468 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
9469 VkCommandBuffer commandBuffer,
9470 VkQueryPool queryPool,
9472 VkQueryControlFlags flags,
9475 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
9476 VkCommandBuffer commandBuffer,
9477 VkQueryPool queryPool,
9481 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
9482 VkCommandBuffer commandBuffer,
9483 deUint32 instanceCount,
9484 deUint32 firstInstance,
9485 VkBuffer counterBuffer,
9486 VkDeviceSize counterBufferOffset,
9487 deUint32 counterOffset,
9488 deUint32 vertexStride);
9492 #define VK_NVX_binary_import 1
9493 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)
9494 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)
9495 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1
9496 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import"
9497 typedef struct VkCuModuleCreateInfoNVX {
9498 VkStructureType sType;
9502 } VkCuModuleCreateInfoNVX;
9504 typedef struct VkCuFunctionCreateInfoNVX {
9505 VkStructureType sType;
9507 VkCuModuleNVX module;
9509 } VkCuFunctionCreateInfoNVX;
9511 typedef struct VkCuLaunchInfoNVX {
9512 VkStructureType sType;
9514 VkCuFunctionNVX function;
9521 deUint32 sharedMemBytes;
9522 deUintptr paramCount;
9523 const void* const * pParams;
9524 deUintptr extraCount;
9525 const void* const * pExtras;
9526 } VkCuLaunchInfoNVX;
9528 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule);
9529 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction);
9530 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator);
9531 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator);
9532 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo);
9534 #ifndef VK_NO_PROTOTYPES
9535 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX(
9537 const VkCuModuleCreateInfoNVX* pCreateInfo,
9538 const VkAllocationCallbacks* pAllocator,
9539 VkCuModuleNVX* pModule);
9541 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX(
9543 const VkCuFunctionCreateInfoNVX* pCreateInfo,
9544 const VkAllocationCallbacks* pAllocator,
9545 VkCuFunctionNVX* pFunction);
9547 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX(
9549 VkCuModuleNVX module,
9550 const VkAllocationCallbacks* pAllocator);
9552 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX(
9554 VkCuFunctionNVX function,
9555 const VkAllocationCallbacks* pAllocator);
9557 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX(
9558 VkCommandBuffer commandBuffer,
9559 const VkCuLaunchInfoNVX* pLaunchInfo);
9563 #define VK_NVX_image_view_handle 1
9564 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
9565 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
9566 typedef struct VkImageViewHandleInfoNVX {
9567 VkStructureType sType;
9569 VkImageView imageView;
9570 VkDescriptorType descriptorType;
9572 } VkImageViewHandleInfoNVX;
9574 typedef struct VkImageViewAddressPropertiesNVX {
9575 VkStructureType sType;
9577 VkDeviceAddress deviceAddress;
9579 } VkImageViewAddressPropertiesNVX;
9581 typedef deUint32 (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
9582 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
9584 #ifndef VK_NO_PROTOTYPES
9585 VKAPI_ATTR deUint32 VKAPI_CALL vkGetImageViewHandleNVX(
9587 const VkImageViewHandleInfoNVX* pInfo);
9589 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
9591 VkImageView imageView,
9592 VkImageViewAddressPropertiesNVX* pProperties);
9596 #define VK_AMD_draw_indirect_count 1
9597 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
9598 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
9599 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9600 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9602 #ifndef VK_NO_PROTOTYPES
9603 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
9604 VkCommandBuffer commandBuffer,
9606 VkDeviceSize offset,
9607 VkBuffer countBuffer,
9608 VkDeviceSize countBufferOffset,
9609 deUint32 maxDrawCount,
9612 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
9613 VkCommandBuffer commandBuffer,
9615 VkDeviceSize offset,
9616 VkBuffer countBuffer,
9617 VkDeviceSize countBufferOffset,
9618 deUint32 maxDrawCount,
9623 #define VK_AMD_negative_viewport_height 1
9624 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
9625 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
9628 #define VK_AMD_gpu_shader_half_float 1
9629 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
9630 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
9633 #define VK_AMD_shader_ballot 1
9634 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
9635 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
9638 #define VK_AMD_texture_gather_bias_lod 1
9639 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
9640 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
9641 typedef struct VkTextureLODGatherFormatPropertiesAMD {
9642 VkStructureType sType;
9644 VkBool32 supportsTextureGatherLODBiasAMD;
9645 } VkTextureLODGatherFormatPropertiesAMD;
9649 #define VK_AMD_shader_info 1
9650 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
9651 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
9653 typedef enum VkShaderInfoTypeAMD {
9654 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
9655 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
9656 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
9657 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
9658 } VkShaderInfoTypeAMD;
9659 typedef struct VkShaderResourceUsageAMD {
9660 deUint32 numUsedVgprs;
9661 deUint32 numUsedSgprs;
9662 deUint32 ldsSizePerLocalWorkGroup;
9663 deUintptr ldsUsageSizeInBytes;
9664 deUintptr scratchMemUsageInBytes;
9665 } VkShaderResourceUsageAMD;
9667 typedef struct VkShaderStatisticsInfoAMD {
9668 VkShaderStageFlags shaderStageMask;
9669 VkShaderResourceUsageAMD resourceUsage;
9670 deUint32 numPhysicalVgprs;
9671 deUint32 numPhysicalSgprs;
9672 deUint32 numAvailableVgprs;
9673 deUint32 numAvailableSgprs;
9674 deUint32 computeWorkGroupSize[3];
9675 } VkShaderStatisticsInfoAMD;
9677 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo);
9679 #ifndef VK_NO_PROTOTYPES
9680 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
9682 VkPipeline pipeline,
9683 VkShaderStageFlagBits shaderStage,
9684 VkShaderInfoTypeAMD infoType,
9685 deUintptr* pInfoSize,
9690 #define VK_AMD_shader_image_load_store_lod 1
9691 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
9692 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
9695 #define VK_NV_corner_sampled_image 1
9696 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
9697 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
9698 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
9699 VkStructureType sType;
9701 VkBool32 cornerSampledImage;
9702 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
9706 #define VK_IMG_format_pvrtc 1
9707 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
9708 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
9711 #define VK_NV_external_memory_capabilities 1
9712 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
9713 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
9715 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
9716 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
9717 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
9718 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
9719 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
9720 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9721 } VkExternalMemoryHandleTypeFlagBitsNV;
9722 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
9724 typedef enum VkExternalMemoryFeatureFlagBitsNV {
9725 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
9726 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
9727 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
9728 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9729 } VkExternalMemoryFeatureFlagBitsNV;
9730 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
9731 typedef struct VkExternalImageFormatPropertiesNV {
9732 VkImageFormatProperties imageFormatProperties;
9733 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
9734 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
9735 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
9736 } VkExternalImageFormatPropertiesNV;
9738 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
9740 #ifndef VK_NO_PROTOTYPES
9741 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
9742 VkPhysicalDevice physicalDevice,
9745 VkImageTiling tiling,
9746 VkImageUsageFlags usage,
9747 VkImageCreateFlags flags,
9748 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
9749 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
9753 #define VK_NV_external_memory 1
9754 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
9755 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
9756 typedef struct VkExternalMemoryImageCreateInfoNV {
9757 VkStructureType sType;
9759 VkExternalMemoryHandleTypeFlagsNV handleTypes;
9760 } VkExternalMemoryImageCreateInfoNV;
9762 typedef struct VkExportMemoryAllocateInfoNV {
9763 VkStructureType sType;
9765 VkExternalMemoryHandleTypeFlagsNV handleTypes;
9766 } VkExportMemoryAllocateInfoNV;
9770 #define VK_EXT_validation_flags 1
9771 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
9772 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
9774 typedef enum VkValidationCheckEXT {
9775 VK_VALIDATION_CHECK_ALL_EXT = 0,
9776 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
9777 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
9778 } VkValidationCheckEXT;
9779 typedef struct VkValidationFlagsEXT {
9780 VkStructureType sType;
9782 deUint32 disabledValidationCheckCount;
9783 const VkValidationCheckEXT* pDisabledValidationChecks;
9784 } VkValidationFlagsEXT;
9788 #define VK_EXT_shader_subgroup_ballot 1
9789 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
9790 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
9793 #define VK_EXT_shader_subgroup_vote 1
9794 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
9795 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
9798 #define VK_EXT_texture_compression_astc_hdr 1
9799 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
9800 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
9801 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
9802 VkStructureType sType;
9804 VkBool32 textureCompressionASTC_HDR;
9805 } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
9809 #define VK_EXT_astc_decode_mode 1
9810 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
9811 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
9812 typedef struct VkImageViewASTCDecodeModeEXT {
9813 VkStructureType sType;
9815 VkFormat decodeMode;
9816 } VkImageViewASTCDecodeModeEXT;
9818 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
9819 VkStructureType sType;
9821 VkBool32 decodeModeSharedExponent;
9822 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
9826 #define VK_EXT_conditional_rendering 1
9827 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
9828 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
9830 typedef enum VkConditionalRenderingFlagBitsEXT {
9831 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
9832 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9833 } VkConditionalRenderingFlagBitsEXT;
9834 typedef VkFlags VkConditionalRenderingFlagsEXT;
9835 typedef struct VkConditionalRenderingBeginInfoEXT {
9836 VkStructureType sType;
9839 VkDeviceSize offset;
9840 VkConditionalRenderingFlagsEXT flags;
9841 } VkConditionalRenderingBeginInfoEXT;
9843 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
9844 VkStructureType sType;
9846 VkBool32 conditionalRendering;
9847 VkBool32 inheritedConditionalRendering;
9848 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
9850 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
9851 VkStructureType sType;
9853 VkBool32 conditionalRenderingEnable;
9854 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
9856 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
9857 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
9859 #ifndef VK_NO_PROTOTYPES
9860 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
9861 VkCommandBuffer commandBuffer,
9862 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
9864 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
9865 VkCommandBuffer commandBuffer);
9869 #define VK_NV_clip_space_w_scaling 1
9870 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
9871 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
9872 typedef struct VkViewportWScalingNV {
9875 } VkViewportWScalingNV;
9877 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
9878 VkStructureType sType;
9880 VkBool32 viewportWScalingEnable;
9881 deUint32 viewportCount;
9882 const VkViewportWScalingNV* pViewportWScalings;
9883 } VkPipelineViewportWScalingStateCreateInfoNV;
9885 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings);
9887 #ifndef VK_NO_PROTOTYPES
9888 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
9889 VkCommandBuffer commandBuffer,
9890 deUint32 firstViewport,
9891 deUint32 viewportCount,
9892 const VkViewportWScalingNV* pViewportWScalings);
9896 #define VK_EXT_direct_mode_display 1
9897 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
9898 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
9899 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
9901 #ifndef VK_NO_PROTOTYPES
9902 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
9903 VkPhysicalDevice physicalDevice,
9904 VkDisplayKHR display);
9908 #define VK_EXT_display_surface_counter 1
9909 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
9910 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
9912 typedef enum VkSurfaceCounterFlagBitsEXT {
9913 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
9914 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
9915 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9916 } VkSurfaceCounterFlagBitsEXT;
9917 typedef VkFlags VkSurfaceCounterFlagsEXT;
9918 typedef struct VkSurfaceCapabilities2EXT {
9919 VkStructureType sType;
9921 deUint32 minImageCount;
9922 deUint32 maxImageCount;
9923 VkExtent2D currentExtent;
9924 VkExtent2D minImageExtent;
9925 VkExtent2D maxImageExtent;
9926 deUint32 maxImageArrayLayers;
9927 VkSurfaceTransformFlagsKHR supportedTransforms;
9928 VkSurfaceTransformFlagBitsKHR currentTransform;
9929 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
9930 VkImageUsageFlags supportedUsageFlags;
9931 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
9932 } VkSurfaceCapabilities2EXT;
9934 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
9936 #ifndef VK_NO_PROTOTYPES
9937 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
9938 VkPhysicalDevice physicalDevice,
9939 VkSurfaceKHR surface,
9940 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
9944 #define VK_EXT_display_control 1
9945 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
9946 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
9948 typedef enum VkDisplayPowerStateEXT {
9949 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
9950 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
9951 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
9952 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
9953 } VkDisplayPowerStateEXT;
9955 typedef enum VkDeviceEventTypeEXT {
9956 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
9957 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9958 } VkDeviceEventTypeEXT;
9960 typedef enum VkDisplayEventTypeEXT {
9961 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
9962 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9963 } VkDisplayEventTypeEXT;
9964 typedef struct VkDisplayPowerInfoEXT {
9965 VkStructureType sType;
9967 VkDisplayPowerStateEXT powerState;
9968 } VkDisplayPowerInfoEXT;
9970 typedef struct VkDeviceEventInfoEXT {
9971 VkStructureType sType;
9973 VkDeviceEventTypeEXT deviceEvent;
9974 } VkDeviceEventInfoEXT;
9976 typedef struct VkDisplayEventInfoEXT {
9977 VkStructureType sType;
9979 VkDisplayEventTypeEXT displayEvent;
9980 } VkDisplayEventInfoEXT;
9982 typedef struct VkSwapchainCounterCreateInfoEXT {
9983 VkStructureType sType;
9985 VkSurfaceCounterFlagsEXT surfaceCounters;
9986 } VkSwapchainCounterCreateInfoEXT;
9988 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
9989 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
9990 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
9991 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue);
9993 #ifndef VK_NO_PROTOTYPES
9994 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
9996 VkDisplayKHR display,
9997 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
9999 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
10001 const VkDeviceEventInfoEXT* pDeviceEventInfo,
10002 const VkAllocationCallbacks* pAllocator,
10005 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
10007 VkDisplayKHR display,
10008 const VkDisplayEventInfoEXT* pDisplayEventInfo,
10009 const VkAllocationCallbacks* pAllocator,
10012 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
10014 VkSwapchainKHR swapchain,
10015 VkSurfaceCounterFlagBitsEXT counter,
10016 deUint64* pCounterValue);
10020 #define VK_GOOGLE_display_timing 1
10021 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
10022 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
10023 typedef struct VkRefreshCycleDurationGOOGLE {
10024 deUint64 refreshDuration;
10025 } VkRefreshCycleDurationGOOGLE;
10027 typedef struct VkPastPresentationTimingGOOGLE {
10028 deUint32 presentID;
10029 deUint64 desiredPresentTime;
10030 deUint64 actualPresentTime;
10031 deUint64 earliestPresentTime;
10032 deUint64 presentMargin;
10033 } VkPastPresentationTimingGOOGLE;
10035 typedef struct VkPresentTimeGOOGLE {
10036 deUint32 presentID;
10037 deUint64 desiredPresentTime;
10038 } VkPresentTimeGOOGLE;
10040 typedef struct VkPresentTimesInfoGOOGLE {
10041 VkStructureType sType;
10043 deUint32 swapchainCount;
10044 const VkPresentTimeGOOGLE* pTimes;
10045 } VkPresentTimesInfoGOOGLE;
10047 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
10048 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
10050 #ifndef VK_NO_PROTOTYPES
10051 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
10053 VkSwapchainKHR swapchain,
10054 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
10056 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
10058 VkSwapchainKHR swapchain,
10059 deUint32* pPresentationTimingCount,
10060 VkPastPresentationTimingGOOGLE* pPresentationTimings);
10064 #define VK_NV_sample_mask_override_coverage 1
10065 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
10066 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
10069 #define VK_NV_geometry_shader_passthrough 1
10070 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
10071 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
10074 #define VK_NV_viewport_array2 1
10075 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
10076 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
10079 #define VK_NVX_multiview_per_view_attributes 1
10080 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
10081 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
10082 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
10083 VkStructureType sType;
10085 VkBool32 perViewPositionAllComponents;
10086 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
10090 #define VK_NV_viewport_swizzle 1
10091 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
10092 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
10094 typedef enum VkViewportCoordinateSwizzleNV {
10095 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
10096 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
10097 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
10098 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
10099 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
10100 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
10101 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
10102 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
10103 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
10104 } VkViewportCoordinateSwizzleNV;
10105 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
10106 typedef struct VkViewportSwizzleNV {
10107 VkViewportCoordinateSwizzleNV x;
10108 VkViewportCoordinateSwizzleNV y;
10109 VkViewportCoordinateSwizzleNV z;
10110 VkViewportCoordinateSwizzleNV w;
10111 } VkViewportSwizzleNV;
10113 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
10114 VkStructureType sType;
10116 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
10117 deUint32 viewportCount;
10118 const VkViewportSwizzleNV* pViewportSwizzles;
10119 } VkPipelineViewportSwizzleStateCreateInfoNV;
10123 #define VK_EXT_discard_rectangles 1
10124 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
10125 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
10127 typedef enum VkDiscardRectangleModeEXT {
10128 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
10129 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
10130 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10131 } VkDiscardRectangleModeEXT;
10132 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
10133 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
10134 VkStructureType sType;
10136 deUint32 maxDiscardRectangles;
10137 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
10139 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
10140 VkStructureType sType;
10142 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
10143 VkDiscardRectangleModeEXT discardRectangleMode;
10144 deUint32 discardRectangleCount;
10145 const VkRect2D* pDiscardRectangles;
10146 } VkPipelineDiscardRectangleStateCreateInfoEXT;
10148 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles);
10150 #ifndef VK_NO_PROTOTYPES
10151 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
10152 VkCommandBuffer commandBuffer,
10153 deUint32 firstDiscardRectangle,
10154 deUint32 discardRectangleCount,
10155 const VkRect2D* pDiscardRectangles);
10159 #define VK_EXT_conservative_rasterization 1
10160 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
10161 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
10163 typedef enum VkConservativeRasterizationModeEXT {
10164 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
10165 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
10166 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
10167 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10168 } VkConservativeRasterizationModeEXT;
10169 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
10170 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
10171 VkStructureType sType;
10173 float primitiveOverestimationSize;
10174 float maxExtraPrimitiveOverestimationSize;
10175 float extraPrimitiveOverestimationSizeGranularity;
10176 VkBool32 primitiveUnderestimation;
10177 VkBool32 conservativePointAndLineRasterization;
10178 VkBool32 degenerateTrianglesRasterized;
10179 VkBool32 degenerateLinesRasterized;
10180 VkBool32 fullyCoveredFragmentShaderInputVariable;
10181 VkBool32 conservativeRasterizationPostDepthCoverage;
10182 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
10184 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
10185 VkStructureType sType;
10187 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
10188 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
10189 float extraPrimitiveOverestimationSize;
10190 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
10194 #define VK_EXT_depth_clip_enable 1
10195 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
10196 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
10197 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
10198 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
10199 VkStructureType sType;
10201 VkBool32 depthClipEnable;
10202 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
10204 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
10205 VkStructureType sType;
10207 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
10208 VkBool32 depthClipEnable;
10209 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
10213 #define VK_EXT_swapchain_colorspace 1
10214 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
10215 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
10218 #define VK_EXT_hdr_metadata 1
10219 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
10220 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
10221 typedef struct VkXYColorEXT {
10226 typedef struct VkHdrMetadataEXT {
10227 VkStructureType sType;
10229 VkXYColorEXT displayPrimaryRed;
10230 VkXYColorEXT displayPrimaryGreen;
10231 VkXYColorEXT displayPrimaryBlue;
10232 VkXYColorEXT whitePoint;
10233 float maxLuminance;
10234 float minLuminance;
10235 float maxContentLightLevel;
10236 float maxFrameAverageLightLevel;
10237 } VkHdrMetadataEXT;
10239 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
10241 #ifndef VK_NO_PROTOTYPES
10242 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
10244 deUint32 swapchainCount,
10245 const VkSwapchainKHR* pSwapchains,
10246 const VkHdrMetadataEXT* pMetadata);
10250 #define VK_EXT_external_memory_dma_buf 1
10251 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
10252 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
10255 #define VK_EXT_queue_family_foreign 1
10256 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
10257 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
10258 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
10261 #define VK_EXT_debug_utils 1
10262 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
10263 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
10264 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
10265 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
10267 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
10268 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
10269 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
10270 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
10271 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
10272 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10273 } VkDebugUtilsMessageSeverityFlagBitsEXT;
10275 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
10276 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
10277 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
10278 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
10279 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10280 } VkDebugUtilsMessageTypeFlagBitsEXT;
10281 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
10282 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
10283 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
10284 typedef struct VkDebugUtilsLabelEXT {
10285 VkStructureType sType;
10287 const char* pLabelName;
10289 } VkDebugUtilsLabelEXT;
10291 typedef struct VkDebugUtilsObjectNameInfoEXT {
10292 VkStructureType sType;
10294 VkObjectType objectType;
10295 deUint64 objectHandle;
10296 const char* pObjectName;
10297 } VkDebugUtilsObjectNameInfoEXT;
10299 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
10300 VkStructureType sType;
10302 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
10303 const char* pMessageIdName;
10304 deInt32 messageIdNumber;
10305 const char* pMessage;
10306 deUint32 queueLabelCount;
10307 const VkDebugUtilsLabelEXT* pQueueLabels;
10308 deUint32 cmdBufLabelCount;
10309 const VkDebugUtilsLabelEXT* pCmdBufLabels;
10310 deUint32 objectCount;
10311 const VkDebugUtilsObjectNameInfoEXT* pObjects;
10312 } VkDebugUtilsMessengerCallbackDataEXT;
10314 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
10315 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10316 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10317 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
10320 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
10321 VkStructureType sType;
10323 VkDebugUtilsMessengerCreateFlagsEXT flags;
10324 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
10325 VkDebugUtilsMessageTypeFlagsEXT messageType;
10326 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
10328 } VkDebugUtilsMessengerCreateInfoEXT;
10330 typedef struct VkDebugUtilsObjectTagInfoEXT {
10331 VkStructureType sType;
10333 VkObjectType objectType;
10334 deUint64 objectHandle;
10338 } VkDebugUtilsObjectTagInfoEXT;
10340 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10341 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10342 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10343 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
10344 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10345 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10346 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
10347 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10348 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
10349 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
10350 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10352 #ifndef VK_NO_PROTOTYPES
10353 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
10355 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10357 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
10359 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10361 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
10363 const VkDebugUtilsLabelEXT* pLabelInfo);
10365 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
10368 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
10370 const VkDebugUtilsLabelEXT* pLabelInfo);
10372 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
10373 VkCommandBuffer commandBuffer,
10374 const VkDebugUtilsLabelEXT* pLabelInfo);
10376 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
10377 VkCommandBuffer commandBuffer);
10379 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
10380 VkCommandBuffer commandBuffer,
10381 const VkDebugUtilsLabelEXT* pLabelInfo);
10383 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
10384 VkInstance instance,
10385 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
10386 const VkAllocationCallbacks* pAllocator,
10387 VkDebugUtilsMessengerEXT* pMessenger);
10389 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
10390 VkInstance instance,
10391 VkDebugUtilsMessengerEXT messenger,
10392 const VkAllocationCallbacks* pAllocator);
10394 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
10395 VkInstance instance,
10396 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10397 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10398 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10402 #define VK_EXT_sampler_filter_minmax 1
10403 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
10404 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
10405 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
10407 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
10409 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
10413 #define VK_AMD_gpu_shader_int16 1
10414 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
10415 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
10418 #define VK_AMD_mixed_attachment_samples 1
10419 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
10420 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
10423 #define VK_AMD_shader_fragment_mask 1
10424 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
10425 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
10428 #define VK_EXT_inline_uniform_block 1
10429 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
10430 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
10431 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
10432 VkStructureType sType;
10434 VkBool32 inlineUniformBlock;
10435 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
10436 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
10438 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
10439 VkStructureType sType;
10441 deUint32 maxInlineUniformBlockSize;
10442 deUint32 maxPerStageDescriptorInlineUniformBlocks;
10443 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
10444 deUint32 maxDescriptorSetInlineUniformBlocks;
10445 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
10446 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
10448 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
10449 VkStructureType sType;
10453 } VkWriteDescriptorSetInlineUniformBlockEXT;
10455 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
10456 VkStructureType sType;
10458 deUint32 maxInlineUniformBlockBindings;
10459 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
10463 #define VK_EXT_shader_stencil_export 1
10464 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
10465 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
10468 #define VK_EXT_sample_locations 1
10469 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
10470 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
10471 typedef struct VkSampleLocationEXT {
10474 } VkSampleLocationEXT;
10476 typedef struct VkSampleLocationsInfoEXT {
10477 VkStructureType sType;
10479 VkSampleCountFlagBits sampleLocationsPerPixel;
10480 VkExtent2D sampleLocationGridSize;
10481 deUint32 sampleLocationsCount;
10482 const VkSampleLocationEXT* pSampleLocations;
10483 } VkSampleLocationsInfoEXT;
10485 typedef struct VkAttachmentSampleLocationsEXT {
10486 deUint32 attachmentIndex;
10487 VkSampleLocationsInfoEXT sampleLocationsInfo;
10488 } VkAttachmentSampleLocationsEXT;
10490 typedef struct VkSubpassSampleLocationsEXT {
10491 deUint32 subpassIndex;
10492 VkSampleLocationsInfoEXT sampleLocationsInfo;
10493 } VkSubpassSampleLocationsEXT;
10495 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
10496 VkStructureType sType;
10498 deUint32 attachmentInitialSampleLocationsCount;
10499 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
10500 deUint32 postSubpassSampleLocationsCount;
10501 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
10502 } VkRenderPassSampleLocationsBeginInfoEXT;
10504 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
10505 VkStructureType sType;
10507 VkBool32 sampleLocationsEnable;
10508 VkSampleLocationsInfoEXT sampleLocationsInfo;
10509 } VkPipelineSampleLocationsStateCreateInfoEXT;
10511 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
10512 VkStructureType sType;
10514 VkSampleCountFlags sampleLocationSampleCounts;
10515 VkExtent2D maxSampleLocationGridSize;
10516 float sampleLocationCoordinateRange[2];
10517 deUint32 sampleLocationSubPixelBits;
10518 VkBool32 variableSampleLocations;
10519 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
10521 typedef struct VkMultisamplePropertiesEXT {
10522 VkStructureType sType;
10524 VkExtent2D maxSampleLocationGridSize;
10525 } VkMultisamplePropertiesEXT;
10527 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10528 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
10530 #ifndef VK_NO_PROTOTYPES
10531 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
10532 VkCommandBuffer commandBuffer,
10533 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10535 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
10536 VkPhysicalDevice physicalDevice,
10537 VkSampleCountFlagBits samples,
10538 VkMultisamplePropertiesEXT* pMultisampleProperties);
10542 #define VK_EXT_blend_operation_advanced 1
10543 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
10544 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
10546 typedef enum VkBlendOverlapEXT {
10547 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
10548 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
10549 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
10550 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
10551 } VkBlendOverlapEXT;
10552 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
10553 VkStructureType sType;
10555 VkBool32 advancedBlendCoherentOperations;
10556 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
10558 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
10559 VkStructureType sType;
10561 deUint32 advancedBlendMaxColorAttachments;
10562 VkBool32 advancedBlendIndependentBlend;
10563 VkBool32 advancedBlendNonPremultipliedSrcColor;
10564 VkBool32 advancedBlendNonPremultipliedDstColor;
10565 VkBool32 advancedBlendCorrelatedOverlap;
10566 VkBool32 advancedBlendAllOperations;
10567 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
10569 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
10570 VkStructureType sType;
10572 VkBool32 srcPremultiplied;
10573 VkBool32 dstPremultiplied;
10574 VkBlendOverlapEXT blendOverlap;
10575 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
10579 #define VK_NV_fragment_coverage_to_color 1
10580 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
10581 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
10582 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
10583 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
10584 VkStructureType sType;
10586 VkPipelineCoverageToColorStateCreateFlagsNV flags;
10587 VkBool32 coverageToColorEnable;
10588 deUint32 coverageToColorLocation;
10589 } VkPipelineCoverageToColorStateCreateInfoNV;
10593 #define VK_NV_framebuffer_mixed_samples 1
10594 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
10595 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
10597 typedef enum VkCoverageModulationModeNV {
10598 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
10599 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
10600 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
10601 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
10602 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
10603 } VkCoverageModulationModeNV;
10604 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
10605 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
10606 VkStructureType sType;
10608 VkPipelineCoverageModulationStateCreateFlagsNV flags;
10609 VkCoverageModulationModeNV coverageModulationMode;
10610 VkBool32 coverageModulationTableEnable;
10611 deUint32 coverageModulationTableCount;
10612 const float* pCoverageModulationTable;
10613 } VkPipelineCoverageModulationStateCreateInfoNV;
10617 #define VK_NV_fill_rectangle 1
10618 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
10619 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
10622 #define VK_NV_shader_sm_builtins 1
10623 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
10624 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
10625 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
10626 VkStructureType sType;
10628 deUint32 shaderSMCount;
10629 deUint32 shaderWarpsPerSM;
10630 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
10632 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
10633 VkStructureType sType;
10635 VkBool32 shaderSMBuiltins;
10636 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
10640 #define VK_EXT_post_depth_coverage 1
10641 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
10642 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
10645 #define VK_EXT_image_drm_format_modifier 1
10646 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
10647 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
10648 typedef struct VkDrmFormatModifierPropertiesEXT {
10649 deUint64 drmFormatModifier;
10650 deUint32 drmFormatModifierPlaneCount;
10651 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
10652 } VkDrmFormatModifierPropertiesEXT;
10654 typedef struct VkDrmFormatModifierPropertiesListEXT {
10655 VkStructureType sType;
10657 deUint32 drmFormatModifierCount;
10658 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
10659 } VkDrmFormatModifierPropertiesListEXT;
10661 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
10662 VkStructureType sType;
10664 deUint64 drmFormatModifier;
10665 VkSharingMode sharingMode;
10666 deUint32 queueFamilyIndexCount;
10667 const deUint32* pQueueFamilyIndices;
10668 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
10670 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
10671 VkStructureType sType;
10673 deUint32 drmFormatModifierCount;
10674 const deUint64* pDrmFormatModifiers;
10675 } VkImageDrmFormatModifierListCreateInfoEXT;
10677 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
10678 VkStructureType sType;
10680 deUint64 drmFormatModifier;
10681 deUint32 drmFormatModifierPlaneCount;
10682 const VkSubresourceLayout* pPlaneLayouts;
10683 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
10685 typedef struct VkImageDrmFormatModifierPropertiesEXT {
10686 VkStructureType sType;
10688 deUint64 drmFormatModifier;
10689 } VkImageDrmFormatModifierPropertiesEXT;
10691 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
10693 #ifndef VK_NO_PROTOTYPES
10694 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
10697 VkImageDrmFormatModifierPropertiesEXT* pProperties);
10701 #define VK_EXT_validation_cache 1
10702 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
10703 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
10704 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
10706 typedef enum VkValidationCacheHeaderVersionEXT {
10707 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
10708 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
10709 } VkValidationCacheHeaderVersionEXT;
10710 typedef VkFlags VkValidationCacheCreateFlagsEXT;
10711 typedef struct VkValidationCacheCreateInfoEXT {
10712 VkStructureType sType;
10714 VkValidationCacheCreateFlagsEXT flags;
10715 deUintptr initialDataSize;
10716 const void* pInitialData;
10717 } VkValidationCacheCreateInfoEXT;
10719 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
10720 VkStructureType sType;
10722 VkValidationCacheEXT validationCache;
10723 } VkShaderModuleValidationCacheCreateInfoEXT;
10725 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
10726 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
10727 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
10728 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData);
10730 #ifndef VK_NO_PROTOTYPES
10731 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
10733 const VkValidationCacheCreateInfoEXT* pCreateInfo,
10734 const VkAllocationCallbacks* pAllocator,
10735 VkValidationCacheEXT* pValidationCache);
10737 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
10739 VkValidationCacheEXT validationCache,
10740 const VkAllocationCallbacks* pAllocator);
10742 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
10744 VkValidationCacheEXT dstCache,
10745 deUint32 srcCacheCount,
10746 const VkValidationCacheEXT* pSrcCaches);
10748 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
10750 VkValidationCacheEXT validationCache,
10751 deUintptr* pDataSize,
10756 #define VK_EXT_descriptor_indexing 1
10757 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
10758 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
10759 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
10761 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
10763 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
10765 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
10767 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
10769 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
10771 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
10775 #define VK_EXT_shader_viewport_index_layer 1
10776 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
10777 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
10780 #define VK_NV_shading_rate_image 1
10781 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
10782 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
10784 typedef enum VkShadingRatePaletteEntryNV {
10785 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
10786 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
10787 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
10788 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
10789 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
10790 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
10791 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
10792 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
10793 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
10794 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
10795 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
10796 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
10797 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
10798 } VkShadingRatePaletteEntryNV;
10800 typedef enum VkCoarseSampleOrderTypeNV {
10801 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
10802 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
10803 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
10804 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
10805 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10806 } VkCoarseSampleOrderTypeNV;
10807 typedef struct VkShadingRatePaletteNV {
10808 deUint32 shadingRatePaletteEntryCount;
10809 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
10810 } VkShadingRatePaletteNV;
10812 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
10813 VkStructureType sType;
10815 VkBool32 shadingRateImageEnable;
10816 deUint32 viewportCount;
10817 const VkShadingRatePaletteNV* pShadingRatePalettes;
10818 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
10820 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
10821 VkStructureType sType;
10823 VkBool32 shadingRateImage;
10824 VkBool32 shadingRateCoarseSampleOrder;
10825 } VkPhysicalDeviceShadingRateImageFeaturesNV;
10827 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
10828 VkStructureType sType;
10830 VkExtent2D shadingRateTexelSize;
10831 deUint32 shadingRatePaletteSize;
10832 deUint32 shadingRateMaxCoarseSamples;
10833 } VkPhysicalDeviceShadingRateImagePropertiesNV;
10835 typedef struct VkCoarseSampleLocationNV {
10839 } VkCoarseSampleLocationNV;
10841 typedef struct VkCoarseSampleOrderCustomNV {
10842 VkShadingRatePaletteEntryNV shadingRate;
10843 deUint32 sampleCount;
10844 deUint32 sampleLocationCount;
10845 const VkCoarseSampleLocationNV* pSampleLocations;
10846 } VkCoarseSampleOrderCustomNV;
10848 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
10849 VkStructureType sType;
10851 VkCoarseSampleOrderTypeNV sampleOrderType;
10852 deUint32 customSampleOrderCount;
10853 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
10854 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
10856 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
10857 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
10858 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10860 #ifndef VK_NO_PROTOTYPES
10861 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
10862 VkCommandBuffer commandBuffer,
10863 VkImageView imageView,
10864 VkImageLayout imageLayout);
10866 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
10867 VkCommandBuffer commandBuffer,
10868 deUint32 firstViewport,
10869 deUint32 viewportCount,
10870 const VkShadingRatePaletteNV* pShadingRatePalettes);
10872 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
10873 VkCommandBuffer commandBuffer,
10874 VkCoarseSampleOrderTypeNV sampleOrderType,
10875 deUint32 customSampleOrderCount,
10876 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10880 #define VK_NV_ray_tracing 1
10881 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
10882 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
10883 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
10884 #define VK_SHADER_UNUSED_KHR (~0U)
10885 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
10887 typedef enum VkRayTracingShaderGroupTypeKHR {
10888 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
10889 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
10890 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
10891 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
10892 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
10893 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
10894 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10895 } VkRayTracingShaderGroupTypeKHR;
10896 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
10899 typedef enum VkGeometryTypeKHR {
10900 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
10901 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
10902 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
10903 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
10904 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
10905 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10906 } VkGeometryTypeKHR;
10907 typedef VkGeometryTypeKHR VkGeometryTypeNV;
10910 typedef enum VkAccelerationStructureTypeKHR {
10911 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
10912 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
10913 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
10914 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
10915 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
10916 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10917 } VkAccelerationStructureTypeKHR;
10918 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
10921 typedef enum VkCopyAccelerationStructureModeKHR {
10922 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
10923 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
10924 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
10925 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
10926 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
10927 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
10928 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
10929 } VkCopyAccelerationStructureModeKHR;
10930 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
10933 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
10934 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
10935 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
10936 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
10937 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10938 } VkAccelerationStructureMemoryRequirementsTypeNV;
10940 typedef enum VkGeometryFlagBitsKHR {
10941 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
10942 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
10943 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
10944 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
10945 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10946 } VkGeometryFlagBitsKHR;
10947 typedef VkFlags VkGeometryFlagsKHR;
10948 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
10950 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
10953 typedef enum VkGeometryInstanceFlagBitsKHR {
10954 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
10955 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 0x00000002,
10956 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
10957 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
10958 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
10959 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
10960 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
10961 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
10962 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10963 } VkGeometryInstanceFlagBitsKHR;
10964 typedef VkFlags VkGeometryInstanceFlagsKHR;
10965 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
10967 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
10970 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
10971 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
10972 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
10973 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
10974 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
10975 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
10976 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
10977 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
10978 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
10979 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
10980 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
10981 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10982 } VkBuildAccelerationStructureFlagBitsKHR;
10983 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
10984 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
10986 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
10988 typedef struct VkRayTracingShaderGroupCreateInfoNV {
10989 VkStructureType sType;
10991 VkRayTracingShaderGroupTypeKHR type;
10992 deUint32 generalShader;
10993 deUint32 closestHitShader;
10994 deUint32 anyHitShader;
10995 deUint32 intersectionShader;
10996 } VkRayTracingShaderGroupCreateInfoNV;
10998 typedef struct VkRayTracingPipelineCreateInfoNV {
10999 VkStructureType sType;
11001 VkPipelineCreateFlags flags;
11002 deUint32 stageCount;
11003 const VkPipelineShaderStageCreateInfo* pStages;
11004 deUint32 groupCount;
11005 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
11006 deUint32 maxRecursionDepth;
11007 VkPipelineLayout layout;
11008 VkPipeline basePipelineHandle;
11009 deInt32 basePipelineIndex;
11010 } VkRayTracingPipelineCreateInfoNV;
11012 typedef struct VkGeometryTrianglesNV {
11013 VkStructureType sType;
11015 VkBuffer vertexData;
11016 VkDeviceSize vertexOffset;
11017 deUint32 vertexCount;
11018 VkDeviceSize vertexStride;
11019 VkFormat vertexFormat;
11020 VkBuffer indexData;
11021 VkDeviceSize indexOffset;
11022 deUint32 indexCount;
11023 VkIndexType indexType;
11024 VkBuffer transformData;
11025 VkDeviceSize transformOffset;
11026 } VkGeometryTrianglesNV;
11028 typedef struct VkGeometryAABBNV {
11029 VkStructureType sType;
11034 VkDeviceSize offset;
11035 } VkGeometryAABBNV;
11037 typedef struct VkGeometryDataNV {
11038 VkGeometryTrianglesNV triangles;
11039 VkGeometryAABBNV aabbs;
11040 } VkGeometryDataNV;
11042 typedef struct VkGeometryNV {
11043 VkStructureType sType;
11045 VkGeometryTypeKHR geometryType;
11046 VkGeometryDataNV geometry;
11047 VkGeometryFlagsKHR flags;
11050 typedef struct VkAccelerationStructureInfoNV {
11051 VkStructureType sType;
11053 VkAccelerationStructureTypeNV type;
11054 VkBuildAccelerationStructureFlagsNV flags;
11055 deUint32 instanceCount;
11056 deUint32 geometryCount;
11057 const VkGeometryNV* pGeometries;
11058 } VkAccelerationStructureInfoNV;
11060 typedef struct VkAccelerationStructureCreateInfoNV {
11061 VkStructureType sType;
11063 VkDeviceSize compactedSize;
11064 VkAccelerationStructureInfoNV info;
11065 } VkAccelerationStructureCreateInfoNV;
11067 typedef struct VkBindAccelerationStructureMemoryInfoNV {
11068 VkStructureType sType;
11070 VkAccelerationStructureNV accelerationStructure;
11071 VkDeviceMemory memory;
11072 VkDeviceSize memoryOffset;
11073 deUint32 deviceIndexCount;
11074 const deUint32* pDeviceIndices;
11075 } VkBindAccelerationStructureMemoryInfoNV;
11077 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
11078 VkStructureType sType;
11080 deUint32 accelerationStructureCount;
11081 const VkAccelerationStructureNV* pAccelerationStructures;
11082 } VkWriteDescriptorSetAccelerationStructureNV;
11084 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
11085 VkStructureType sType;
11087 VkAccelerationStructureMemoryRequirementsTypeNV type;
11088 VkAccelerationStructureNV accelerationStructure;
11089 } VkAccelerationStructureMemoryRequirementsInfoNV;
11091 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
11092 VkStructureType sType;
11094 deUint32 shaderGroupHandleSize;
11095 deUint32 maxRecursionDepth;
11096 deUint32 maxShaderGroupStride;
11097 deUint32 shaderGroupBaseAlignment;
11098 deUint64 maxGeometryCount;
11099 deUint64 maxInstanceCount;
11100 deUint64 maxTriangleCount;
11101 deUint32 maxDescriptorSetAccelerationStructures;
11102 } VkPhysicalDeviceRayTracingPropertiesNV;
11104 typedef struct VkTransformMatrixKHR {
11105 float matrix[3][4];
11106 } VkTransformMatrixKHR;
11108 typedef VkTransformMatrixKHR VkTransformMatrixNV;
11110 typedef struct VkAabbPositionsKHR {
11117 } VkAabbPositionsKHR;
11119 typedef VkAabbPositionsKHR VkAabbPositionsNV;
11121 typedef struct VkAccelerationStructureInstanceKHR {
11122 VkTransformMatrixKHR transform;
11123 deUint32 instanceCustomIndex:24;
11125 deUint32 instanceShaderBindingTableRecordOffset:24;
11126 VkGeometryInstanceFlagsKHR flags:8;
11127 deUint64 accelerationStructureReference;
11128 } VkAccelerationStructureInstanceKHR;
11130 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
11132 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
11133 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
11134 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
11135 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11136 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);
11137 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
11138 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);
11139 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
11140 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
11141 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
11142 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData);
11143 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
11144 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, deUint32 shader);
11146 #ifndef VK_NO_PROTOTYPES
11147 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
11149 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
11150 const VkAllocationCallbacks* pAllocator,
11151 VkAccelerationStructureNV* pAccelerationStructure);
11153 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
11155 VkAccelerationStructureNV accelerationStructure,
11156 const VkAllocationCallbacks* pAllocator);
11158 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
11160 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
11161 VkMemoryRequirements2KHR* pMemoryRequirements);
11163 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
11165 deUint32 bindInfoCount,
11166 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11168 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
11169 VkCommandBuffer commandBuffer,
11170 const VkAccelerationStructureInfoNV* pInfo,
11171 VkBuffer instanceData,
11172 VkDeviceSize instanceOffset,
11174 VkAccelerationStructureNV dst,
11175 VkAccelerationStructureNV src,
11177 VkDeviceSize scratchOffset);
11179 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
11180 VkCommandBuffer commandBuffer,
11181 VkAccelerationStructureNV dst,
11182 VkAccelerationStructureNV src,
11183 VkCopyAccelerationStructureModeKHR mode);
11185 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
11186 VkCommandBuffer commandBuffer,
11187 VkBuffer raygenShaderBindingTableBuffer,
11188 VkDeviceSize raygenShaderBindingOffset,
11189 VkBuffer missShaderBindingTableBuffer,
11190 VkDeviceSize missShaderBindingOffset,
11191 VkDeviceSize missShaderBindingStride,
11192 VkBuffer hitShaderBindingTableBuffer,
11193 VkDeviceSize hitShaderBindingOffset,
11194 VkDeviceSize hitShaderBindingStride,
11195 VkBuffer callableShaderBindingTableBuffer,
11196 VkDeviceSize callableShaderBindingOffset,
11197 VkDeviceSize callableShaderBindingStride,
11202 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
11204 VkPipelineCache pipelineCache,
11205 deUint32 createInfoCount,
11206 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
11207 const VkAllocationCallbacks* pAllocator,
11208 VkPipeline* pPipelines);
11210 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
11212 VkPipeline pipeline,
11213 deUint32 firstGroup,
11214 deUint32 groupCount,
11215 deUintptr dataSize,
11218 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
11220 VkPipeline pipeline,
11221 deUint32 firstGroup,
11222 deUint32 groupCount,
11223 deUintptr dataSize,
11226 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
11228 VkAccelerationStructureNV accelerationStructure,
11229 deUintptr dataSize,
11232 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
11233 VkCommandBuffer commandBuffer,
11234 deUint32 accelerationStructureCount,
11235 const VkAccelerationStructureNV* pAccelerationStructures,
11236 VkQueryType queryType,
11237 VkQueryPool queryPool,
11238 deUint32 firstQuery);
11240 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
11242 VkPipeline pipeline,
11247 #define VK_NV_representative_fragment_test 1
11248 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
11249 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
11250 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
11251 VkStructureType sType;
11253 VkBool32 representativeFragmentTest;
11254 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
11256 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
11257 VkStructureType sType;
11259 VkBool32 representativeFragmentTestEnable;
11260 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
11264 #define VK_EXT_filter_cubic 1
11265 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
11266 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
11267 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
11268 VkStructureType sType;
11270 VkImageViewType imageViewType;
11271 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
11273 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
11274 VkStructureType sType;
11276 VkBool32 filterCubic;
11277 VkBool32 filterCubicMinmax;
11278 } VkFilterCubicImageViewImageFormatPropertiesEXT;
11282 #define VK_QCOM_render_pass_shader_resolve 1
11283 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
11284 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
11287 #define VK_EXT_global_priority 1
11288 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
11289 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
11291 typedef enum VkQueueGlobalPriorityEXT {
11292 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
11293 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
11294 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
11295 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
11296 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
11297 } VkQueueGlobalPriorityEXT;
11298 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
11299 VkStructureType sType;
11301 VkQueueGlobalPriorityEXT globalPriority;
11302 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
11306 #define VK_EXT_external_memory_host 1
11307 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
11308 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
11309 typedef struct VkImportMemoryHostPointerInfoEXT {
11310 VkStructureType sType;
11312 VkExternalMemoryHandleTypeFlagBits handleType;
11313 void* pHostPointer;
11314 } VkImportMemoryHostPointerInfoEXT;
11316 typedef struct VkMemoryHostPointerPropertiesEXT {
11317 VkStructureType sType;
11319 deUint32 memoryTypeBits;
11320 } VkMemoryHostPointerPropertiesEXT;
11322 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
11323 VkStructureType sType;
11325 VkDeviceSize minImportedHostPointerAlignment;
11326 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
11328 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11330 #ifndef VK_NO_PROTOTYPES
11331 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
11333 VkExternalMemoryHandleTypeFlagBits handleType,
11334 const void* pHostPointer,
11335 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11339 #define VK_AMD_buffer_marker 1
11340 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
11341 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
11342 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
11344 #ifndef VK_NO_PROTOTYPES
11345 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
11346 VkCommandBuffer commandBuffer,
11347 VkPipelineStageFlagBits pipelineStage,
11348 VkBuffer dstBuffer,
11349 VkDeviceSize dstOffset,
11354 #define VK_AMD_pipeline_compiler_control 1
11355 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
11356 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
11358 typedef enum VkPipelineCompilerControlFlagBitsAMD {
11359 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
11360 } VkPipelineCompilerControlFlagBitsAMD;
11361 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
11362 typedef struct VkPipelineCompilerControlCreateInfoAMD {
11363 VkStructureType sType;
11365 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
11366 } VkPipelineCompilerControlCreateInfoAMD;
11370 #define VK_EXT_calibrated_timestamps 1
11371 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2
11372 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
11374 typedef enum VkTimeDomainEXT {
11375 VK_TIME_DOMAIN_DEVICE_EXT = 0,
11376 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
11377 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
11378 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
11379 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
11381 typedef struct VkCalibratedTimestampInfoEXT {
11382 VkStructureType sType;
11384 VkTimeDomainEXT timeDomain;
11385 } VkCalibratedTimestampInfoEXT;
11387 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
11388 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation);
11390 #ifndef VK_NO_PROTOTYPES
11391 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
11392 VkPhysicalDevice physicalDevice,
11393 deUint32* pTimeDomainCount,
11394 VkTimeDomainEXT* pTimeDomains);
11396 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
11398 deUint32 timestampCount,
11399 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
11400 deUint64* pTimestamps,
11401 deUint64* pMaxDeviation);
11405 #define VK_AMD_shader_core_properties 1
11406 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
11407 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
11408 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
11409 VkStructureType sType;
11411 deUint32 shaderEngineCount;
11412 deUint32 shaderArraysPerEngineCount;
11413 deUint32 computeUnitsPerShaderArray;
11414 deUint32 simdPerComputeUnit;
11415 deUint32 wavefrontsPerSimd;
11416 deUint32 wavefrontSize;
11417 deUint32 sgprsPerSimd;
11418 deUint32 minSgprAllocation;
11419 deUint32 maxSgprAllocation;
11420 deUint32 sgprAllocationGranularity;
11421 deUint32 vgprsPerSimd;
11422 deUint32 minVgprAllocation;
11423 deUint32 maxVgprAllocation;
11424 deUint32 vgprAllocationGranularity;
11425 } VkPhysicalDeviceShaderCorePropertiesAMD;
11429 #define VK_AMD_memory_overallocation_behavior 1
11430 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
11431 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
11433 typedef enum VkMemoryOverallocationBehaviorAMD {
11434 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
11435 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
11436 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
11437 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
11438 } VkMemoryOverallocationBehaviorAMD;
11439 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
11440 VkStructureType sType;
11442 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
11443 } VkDeviceMemoryOverallocationCreateInfoAMD;
11447 #define VK_EXT_vertex_attribute_divisor 1
11448 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
11449 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
11450 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
11451 VkStructureType sType;
11453 deUint32 maxVertexAttribDivisor;
11454 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
11456 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
11459 } VkVertexInputBindingDivisorDescriptionEXT;
11461 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
11462 VkStructureType sType;
11464 deUint32 vertexBindingDivisorCount;
11465 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
11466 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
11468 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
11469 VkStructureType sType;
11471 VkBool32 vertexAttributeInstanceRateDivisor;
11472 VkBool32 vertexAttributeInstanceRateZeroDivisor;
11473 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
11477 #define VK_EXT_pipeline_creation_feedback 1
11478 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
11479 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
11481 typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
11482 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
11483 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
11484 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
11485 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11486 } VkPipelineCreationFeedbackFlagBitsEXT;
11487 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
11488 typedef struct VkPipelineCreationFeedbackEXT {
11489 VkPipelineCreationFeedbackFlagsEXT flags;
11491 } VkPipelineCreationFeedbackEXT;
11493 typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
11494 VkStructureType sType;
11496 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
11497 deUint32 pipelineStageCreationFeedbackCount;
11498 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
11499 } VkPipelineCreationFeedbackCreateInfoEXT;
11503 #define VK_NV_shader_subgroup_partitioned 1
11504 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
11505 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
11508 #define VK_NV_compute_shader_derivatives 1
11509 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
11510 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
11511 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
11512 VkStructureType sType;
11514 VkBool32 computeDerivativeGroupQuads;
11515 VkBool32 computeDerivativeGroupLinear;
11516 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
11520 #define VK_NV_mesh_shader 1
11521 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
11522 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
11523 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
11524 VkStructureType sType;
11526 VkBool32 taskShader;
11527 VkBool32 meshShader;
11528 } VkPhysicalDeviceMeshShaderFeaturesNV;
11530 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
11531 VkStructureType sType;
11533 deUint32 maxDrawMeshTasksCount;
11534 deUint32 maxTaskWorkGroupInvocations;
11535 deUint32 maxTaskWorkGroupSize[3];
11536 deUint32 maxTaskTotalMemorySize;
11537 deUint32 maxTaskOutputCount;
11538 deUint32 maxMeshWorkGroupInvocations;
11539 deUint32 maxMeshWorkGroupSize[3];
11540 deUint32 maxMeshTotalMemorySize;
11541 deUint32 maxMeshOutputVertices;
11542 deUint32 maxMeshOutputPrimitives;
11543 deUint32 maxMeshMultiviewViewCount;
11544 deUint32 meshOutputPerVertexGranularity;
11545 deUint32 meshOutputPerPrimitiveGranularity;
11546 } VkPhysicalDeviceMeshShaderPropertiesNV;
11548 typedef struct VkDrawMeshTasksIndirectCommandNV {
11549 deUint32 taskCount;
11550 deUint32 firstTask;
11551 } VkDrawMeshTasksIndirectCommandNV;
11553 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask);
11554 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
11555 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
11557 #ifndef VK_NO_PROTOTYPES
11558 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
11559 VkCommandBuffer commandBuffer,
11560 deUint32 taskCount,
11561 deUint32 firstTask);
11563 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
11564 VkCommandBuffer commandBuffer,
11566 VkDeviceSize offset,
11567 deUint32 drawCount,
11570 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
11571 VkCommandBuffer commandBuffer,
11573 VkDeviceSize offset,
11574 VkBuffer countBuffer,
11575 VkDeviceSize countBufferOffset,
11576 deUint32 maxDrawCount,
11581 #define VK_NV_fragment_shader_barycentric 1
11582 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
11583 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
11584 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
11585 VkStructureType sType;
11587 VkBool32 fragmentShaderBarycentric;
11588 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
11592 #define VK_NV_shader_image_footprint 1
11593 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
11594 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
11595 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
11596 VkStructureType sType;
11598 VkBool32 imageFootprint;
11599 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
11603 #define VK_NV_scissor_exclusive 1
11604 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
11605 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
11606 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
11607 VkStructureType sType;
11609 deUint32 exclusiveScissorCount;
11610 const VkRect2D* pExclusiveScissors;
11611 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
11613 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
11614 VkStructureType sType;
11616 VkBool32 exclusiveScissor;
11617 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
11619 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
11621 #ifndef VK_NO_PROTOTYPES
11622 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
11623 VkCommandBuffer commandBuffer,
11624 deUint32 firstExclusiveScissor,
11625 deUint32 exclusiveScissorCount,
11626 const VkRect2D* pExclusiveScissors);
11630 #define VK_NV_device_diagnostic_checkpoints 1
11631 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
11632 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
11633 typedef struct VkQueueFamilyCheckpointPropertiesNV {
11634 VkStructureType sType;
11636 VkPipelineStageFlags checkpointExecutionStageMask;
11637 } VkQueueFamilyCheckpointPropertiesNV;
11639 typedef struct VkCheckpointDataNV {
11640 VkStructureType sType;
11642 VkPipelineStageFlagBits stage;
11643 void* pCheckpointMarker;
11644 } VkCheckpointDataNV;
11646 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
11647 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
11649 #ifndef VK_NO_PROTOTYPES
11650 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
11651 VkCommandBuffer commandBuffer,
11652 const void* pCheckpointMarker);
11654 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
11656 deUint32* pCheckpointDataCount,
11657 VkCheckpointDataNV* pCheckpointData);
11661 #define VK_INTEL_shader_integer_functions2 1
11662 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
11663 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
11664 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
11665 VkStructureType sType;
11667 VkBool32 shaderIntegerFunctions2;
11668 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
11672 #define VK_INTEL_performance_query 1
11673 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
11674 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
11675 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
11677 typedef enum VkPerformanceConfigurationTypeINTEL {
11678 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
11679 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11680 } VkPerformanceConfigurationTypeINTEL;
11682 typedef enum VkQueryPoolSamplingModeINTEL {
11683 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
11684 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
11685 } VkQueryPoolSamplingModeINTEL;
11687 typedef enum VkPerformanceOverrideTypeINTEL {
11688 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
11689 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
11690 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11691 } VkPerformanceOverrideTypeINTEL;
11693 typedef enum VkPerformanceParameterTypeINTEL {
11694 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
11695 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
11696 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11697 } VkPerformanceParameterTypeINTEL;
11699 typedef enum VkPerformanceValueTypeINTEL {
11700 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
11701 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
11702 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
11703 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
11704 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
11705 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11706 } VkPerformanceValueTypeINTEL;
11707 typedef union VkPerformanceValueDataINTEL {
11711 VkBool32 valueBool;
11712 const char* valueString;
11713 } VkPerformanceValueDataINTEL;
11715 typedef struct VkPerformanceValueINTEL {
11716 VkPerformanceValueTypeINTEL type;
11717 VkPerformanceValueDataINTEL data;
11718 } VkPerformanceValueINTEL;
11720 typedef struct VkInitializePerformanceApiInfoINTEL {
11721 VkStructureType sType;
11724 } VkInitializePerformanceApiInfoINTEL;
11726 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
11727 VkStructureType sType;
11729 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
11730 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
11732 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
11734 typedef struct VkPerformanceMarkerInfoINTEL {
11735 VkStructureType sType;
11738 } VkPerformanceMarkerInfoINTEL;
11740 typedef struct VkPerformanceStreamMarkerInfoINTEL {
11741 VkStructureType sType;
11744 } VkPerformanceStreamMarkerInfoINTEL;
11746 typedef struct VkPerformanceOverrideInfoINTEL {
11747 VkStructureType sType;
11749 VkPerformanceOverrideTypeINTEL type;
11751 deUint64 parameter;
11752 } VkPerformanceOverrideInfoINTEL;
11754 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
11755 VkStructureType sType;
11757 VkPerformanceConfigurationTypeINTEL type;
11758 } VkPerformanceConfigurationAcquireInfoINTEL;
11760 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
11761 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
11762 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
11763 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
11764 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
11765 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
11766 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
11767 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
11768 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
11770 #ifndef VK_NO_PROTOTYPES
11771 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
11773 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
11775 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
11778 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
11779 VkCommandBuffer commandBuffer,
11780 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
11782 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
11783 VkCommandBuffer commandBuffer,
11784 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
11786 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
11787 VkCommandBuffer commandBuffer,
11788 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
11790 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
11792 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
11793 VkPerformanceConfigurationINTEL* pConfiguration);
11795 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
11797 VkPerformanceConfigurationINTEL configuration);
11799 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
11801 VkPerformanceConfigurationINTEL configuration);
11803 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
11805 VkPerformanceParameterTypeINTEL parameter,
11806 VkPerformanceValueINTEL* pValue);
11810 #define VK_EXT_pci_bus_info 1
11811 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
11812 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
11813 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
11814 VkStructureType sType;
11816 deUint32 pciDomain;
11818 deUint32 pciDevice;
11819 deUint32 pciFunction;
11820 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
11824 #define VK_AMD_display_native_hdr 1
11825 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
11826 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
11827 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
11828 VkStructureType sType;
11830 VkBool32 localDimmingSupport;
11831 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
11833 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
11834 VkStructureType sType;
11836 VkBool32 localDimmingEnable;
11837 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
11839 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
11841 #ifndef VK_NO_PROTOTYPES
11842 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
11844 VkSwapchainKHR swapChain,
11845 VkBool32 localDimmingEnable);
11849 #define VK_EXT_fragment_density_map 1
11850 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
11851 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
11852 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
11853 VkStructureType sType;
11855 VkBool32 fragmentDensityMap;
11856 VkBool32 fragmentDensityMapDynamic;
11857 VkBool32 fragmentDensityMapNonSubsampledImages;
11858 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
11860 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
11861 VkStructureType sType;
11863 VkExtent2D minFragmentDensityTexelSize;
11864 VkExtent2D maxFragmentDensityTexelSize;
11865 VkBool32 fragmentDensityInvocations;
11866 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
11868 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
11869 VkStructureType sType;
11871 VkAttachmentReference fragmentDensityMapAttachment;
11872 } VkRenderPassFragmentDensityMapCreateInfoEXT;
11876 #define VK_EXT_scalar_block_layout 1
11877 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
11878 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
11879 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
11883 #define VK_GOOGLE_hlsl_functionality1 1
11884 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
11885 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
11888 #define VK_GOOGLE_decorate_string 1
11889 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
11890 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
11893 #define VK_EXT_subgroup_size_control 1
11894 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
11895 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
11896 typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
11897 VkStructureType sType;
11899 VkBool32 subgroupSizeControl;
11900 VkBool32 computeFullSubgroups;
11901 } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
11903 typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
11904 VkStructureType sType;
11906 deUint32 minSubgroupSize;
11907 deUint32 maxSubgroupSize;
11908 deUint32 maxComputeWorkgroupSubgroups;
11909 VkShaderStageFlags requiredSubgroupSizeStages;
11910 } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
11912 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
11913 VkStructureType sType;
11915 deUint32 requiredSubgroupSize;
11916 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
11920 #define VK_AMD_shader_core_properties2 1
11921 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
11922 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
11924 typedef enum VkShaderCorePropertiesFlagBitsAMD {
11925 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
11926 } VkShaderCorePropertiesFlagBitsAMD;
11927 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
11928 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
11929 VkStructureType sType;
11931 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
11932 deUint32 activeComputeUnitCount;
11933 } VkPhysicalDeviceShaderCoreProperties2AMD;
11937 #define VK_AMD_device_coherent_memory 1
11938 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
11939 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
11940 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
11941 VkStructureType sType;
11943 VkBool32 deviceCoherentMemory;
11944 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
11948 #define VK_EXT_shader_image_atomic_int64 1
11949 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
11950 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
11951 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
11952 VkStructureType sType;
11954 VkBool32 shaderImageInt64Atomics;
11955 VkBool32 sparseImageInt64Atomics;
11956 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
11960 #define VK_EXT_memory_budget 1
11961 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
11962 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
11963 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
11964 VkStructureType sType;
11966 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
11967 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
11968 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
11972 #define VK_EXT_memory_priority 1
11973 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
11974 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
11975 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
11976 VkStructureType sType;
11978 VkBool32 memoryPriority;
11979 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
11981 typedef struct VkMemoryPriorityAllocateInfoEXT {
11982 VkStructureType sType;
11985 } VkMemoryPriorityAllocateInfoEXT;
11989 #define VK_NV_dedicated_allocation_image_aliasing 1
11990 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
11991 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
11992 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
11993 VkStructureType sType;
11995 VkBool32 dedicatedAllocationImageAliasing;
11996 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
12000 #define VK_EXT_buffer_device_address 1
12001 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
12002 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
12003 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
12004 VkStructureType sType;
12006 VkBool32 bufferDeviceAddress;
12007 VkBool32 bufferDeviceAddressCaptureReplay;
12008 VkBool32 bufferDeviceAddressMultiDevice;
12009 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
12011 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
12013 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
12015 typedef struct VkBufferDeviceAddressCreateInfoEXT {
12016 VkStructureType sType;
12018 VkDeviceAddress deviceAddress;
12019 } VkBufferDeviceAddressCreateInfoEXT;
12021 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
12023 #ifndef VK_NO_PROTOTYPES
12024 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
12026 const VkBufferDeviceAddressInfo* pInfo);
12030 #define VK_EXT_tooling_info 1
12031 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
12032 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
12034 typedef enum VkToolPurposeFlagBitsEXT {
12035 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001,
12036 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002,
12037 VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004,
12038 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008,
12039 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010,
12040 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
12041 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
12042 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12043 } VkToolPurposeFlagBitsEXT;
12044 typedef VkFlags VkToolPurposeFlagsEXT;
12045 typedef struct VkPhysicalDeviceToolPropertiesEXT {
12046 VkStructureType sType;
12048 char name[VK_MAX_EXTENSION_NAME_SIZE];
12049 char version[VK_MAX_EXTENSION_NAME_SIZE];
12050 VkToolPurposeFlagsEXT purposes;
12051 char description[VK_MAX_DESCRIPTION_SIZE];
12052 char layer[VK_MAX_EXTENSION_NAME_SIZE];
12053 } VkPhysicalDeviceToolPropertiesEXT;
12055 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
12057 #ifndef VK_NO_PROTOTYPES
12058 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
12059 VkPhysicalDevice physicalDevice,
12060 deUint32* pToolCount,
12061 VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
12065 #define VK_EXT_separate_stencil_usage 1
12066 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
12067 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
12068 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
12072 #define VK_EXT_validation_features 1
12073 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 4
12074 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
12076 typedef enum VkValidationFeatureEnableEXT {
12077 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
12078 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
12079 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
12080 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
12081 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
12082 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
12083 } VkValidationFeatureEnableEXT;
12085 typedef enum VkValidationFeatureDisableEXT {
12086 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
12087 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
12088 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
12089 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
12090 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
12091 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
12092 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
12093 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
12094 } VkValidationFeatureDisableEXT;
12095 typedef struct VkValidationFeaturesEXT {
12096 VkStructureType sType;
12098 deUint32 enabledValidationFeatureCount;
12099 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
12100 deUint32 disabledValidationFeatureCount;
12101 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
12102 } VkValidationFeaturesEXT;
12106 #define VK_NV_cooperative_matrix 1
12107 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
12108 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
12110 typedef enum VkComponentTypeNV {
12111 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
12112 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
12113 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
12114 VK_COMPONENT_TYPE_SINT8_NV = 3,
12115 VK_COMPONENT_TYPE_SINT16_NV = 4,
12116 VK_COMPONENT_TYPE_SINT32_NV = 5,
12117 VK_COMPONENT_TYPE_SINT64_NV = 6,
12118 VK_COMPONENT_TYPE_UINT8_NV = 7,
12119 VK_COMPONENT_TYPE_UINT16_NV = 8,
12120 VK_COMPONENT_TYPE_UINT32_NV = 9,
12121 VK_COMPONENT_TYPE_UINT64_NV = 10,
12122 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12123 } VkComponentTypeNV;
12125 typedef enum VkScopeNV {
12126 VK_SCOPE_DEVICE_NV = 1,
12127 VK_SCOPE_WORKGROUP_NV = 2,
12128 VK_SCOPE_SUBGROUP_NV = 3,
12129 VK_SCOPE_QUEUE_FAMILY_NV = 5,
12130 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
12132 typedef struct VkCooperativeMatrixPropertiesNV {
12133 VkStructureType sType;
12138 VkComponentTypeNV AType;
12139 VkComponentTypeNV BType;
12140 VkComponentTypeNV CType;
12141 VkComponentTypeNV DType;
12143 } VkCooperativeMatrixPropertiesNV;
12145 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
12146 VkStructureType sType;
12148 VkBool32 cooperativeMatrix;
12149 VkBool32 cooperativeMatrixRobustBufferAccess;
12150 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
12152 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
12153 VkStructureType sType;
12155 VkShaderStageFlags cooperativeMatrixSupportedStages;
12156 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
12158 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
12160 #ifndef VK_NO_PROTOTYPES
12161 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
12162 VkPhysicalDevice physicalDevice,
12163 deUint32* pPropertyCount,
12164 VkCooperativeMatrixPropertiesNV* pProperties);
12168 #define VK_NV_coverage_reduction_mode 1
12169 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
12170 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
12172 typedef enum VkCoverageReductionModeNV {
12173 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
12174 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
12175 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
12176 } VkCoverageReductionModeNV;
12177 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
12178 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
12179 VkStructureType sType;
12181 VkBool32 coverageReductionMode;
12182 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
12184 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
12185 VkStructureType sType;
12187 VkPipelineCoverageReductionStateCreateFlagsNV flags;
12188 VkCoverageReductionModeNV coverageReductionMode;
12189 } VkPipelineCoverageReductionStateCreateInfoNV;
12191 typedef struct VkFramebufferMixedSamplesCombinationNV {
12192 VkStructureType sType;
12194 VkCoverageReductionModeNV coverageReductionMode;
12195 VkSampleCountFlagBits rasterizationSamples;
12196 VkSampleCountFlags depthStencilSamples;
12197 VkSampleCountFlags colorSamples;
12198 } VkFramebufferMixedSamplesCombinationNV;
12200 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
12202 #ifndef VK_NO_PROTOTYPES
12203 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
12204 VkPhysicalDevice physicalDevice,
12205 deUint32* pCombinationCount,
12206 VkFramebufferMixedSamplesCombinationNV* pCombinations);
12210 #define VK_EXT_fragment_shader_interlock 1
12211 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
12212 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
12213 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
12214 VkStructureType sType;
12216 VkBool32 fragmentShaderSampleInterlock;
12217 VkBool32 fragmentShaderPixelInterlock;
12218 VkBool32 fragmentShaderShadingRateInterlock;
12219 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
12223 #define VK_EXT_ycbcr_image_arrays 1
12224 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
12225 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
12226 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
12227 VkStructureType sType;
12229 VkBool32 ycbcrImageArrays;
12230 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
12234 #define VK_EXT_provoking_vertex 1
12235 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1
12236 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex"
12238 typedef enum VkProvokingVertexModeEXT {
12239 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0,
12240 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1,
12241 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12242 } VkProvokingVertexModeEXT;
12243 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT {
12244 VkStructureType sType;
12246 VkBool32 provokingVertexLast;
12247 VkBool32 transformFeedbackPreservesProvokingVertex;
12248 } VkPhysicalDeviceProvokingVertexFeaturesEXT;
12250 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT {
12251 VkStructureType sType;
12253 VkBool32 provokingVertexModePerPipeline;
12254 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex;
12255 } VkPhysicalDeviceProvokingVertexPropertiesEXT;
12257 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT {
12258 VkStructureType sType;
12260 VkProvokingVertexModeEXT provokingVertexMode;
12261 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT;
12265 #define VK_EXT_headless_surface 1
12266 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
12267 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
12268 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
12269 typedef struct VkHeadlessSurfaceCreateInfoEXT {
12270 VkStructureType sType;
12272 VkHeadlessSurfaceCreateFlagsEXT flags;
12273 } VkHeadlessSurfaceCreateInfoEXT;
12275 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
12277 #ifndef VK_NO_PROTOTYPES
12278 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
12279 VkInstance instance,
12280 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
12281 const VkAllocationCallbacks* pAllocator,
12282 VkSurfaceKHR* pSurface);
12286 #define VK_EXT_line_rasterization 1
12287 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
12288 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
12290 typedef enum VkLineRasterizationModeEXT {
12291 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
12292 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
12293 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
12294 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
12295 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12296 } VkLineRasterizationModeEXT;
12297 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
12298 VkStructureType sType;
12300 VkBool32 rectangularLines;
12301 VkBool32 bresenhamLines;
12302 VkBool32 smoothLines;
12303 VkBool32 stippledRectangularLines;
12304 VkBool32 stippledBresenhamLines;
12305 VkBool32 stippledSmoothLines;
12306 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
12308 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
12309 VkStructureType sType;
12311 deUint32 lineSubPixelPrecisionBits;
12312 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
12314 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
12315 VkStructureType sType;
12317 VkLineRasterizationModeEXT lineRasterizationMode;
12318 VkBool32 stippledLineEnable;
12319 deUint32 lineStippleFactor;
12320 deUint16 lineStipplePattern;
12321 } VkPipelineRasterizationLineStateCreateInfoEXT;
12323 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern);
12325 #ifndef VK_NO_PROTOTYPES
12326 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
12327 VkCommandBuffer commandBuffer,
12328 deUint32 lineStippleFactor,
12329 deUint16 lineStipplePattern);
12333 #define VK_EXT_shader_atomic_float 1
12334 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
12335 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
12336 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
12337 VkStructureType sType;
12339 VkBool32 shaderBufferFloat32Atomics;
12340 VkBool32 shaderBufferFloat32AtomicAdd;
12341 VkBool32 shaderBufferFloat64Atomics;
12342 VkBool32 shaderBufferFloat64AtomicAdd;
12343 VkBool32 shaderSharedFloat32Atomics;
12344 VkBool32 shaderSharedFloat32AtomicAdd;
12345 VkBool32 shaderSharedFloat64Atomics;
12346 VkBool32 shaderSharedFloat64AtomicAdd;
12347 VkBool32 shaderImageFloat32Atomics;
12348 VkBool32 shaderImageFloat32AtomicAdd;
12349 VkBool32 sparseImageFloat32Atomics;
12350 VkBool32 sparseImageFloat32AtomicAdd;
12351 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
12355 #define VK_EXT_host_query_reset 1
12356 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
12357 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
12358 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
12360 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
12362 #ifndef VK_NO_PROTOTYPES
12363 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
12365 VkQueryPool queryPool,
12366 deUint32 firstQuery,
12367 deUint32 queryCount);
12371 #define VK_EXT_index_type_uint8 1
12372 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
12373 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
12374 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
12375 VkStructureType sType;
12377 VkBool32 indexTypeUint8;
12378 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
12382 #define VK_EXT_extended_dynamic_state 1
12383 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
12384 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
12385 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
12386 VkStructureType sType;
12388 VkBool32 extendedDynamicState;
12389 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
12391 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
12392 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
12393 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
12394 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports);
12395 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors);
12396 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
12397 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
12398 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
12399 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
12400 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
12401 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
12402 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
12404 #ifndef VK_NO_PROTOTYPES
12405 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
12406 VkCommandBuffer commandBuffer,
12407 VkCullModeFlags cullMode);
12409 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
12410 VkCommandBuffer commandBuffer,
12411 VkFrontFace frontFace);
12413 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
12414 VkCommandBuffer commandBuffer,
12415 VkPrimitiveTopology primitiveTopology);
12417 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
12418 VkCommandBuffer commandBuffer,
12419 deUint32 viewportCount,
12420 const VkViewport* pViewports);
12422 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
12423 VkCommandBuffer commandBuffer,
12424 deUint32 scissorCount,
12425 const VkRect2D* pScissors);
12427 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
12428 VkCommandBuffer commandBuffer,
12429 deUint32 firstBinding,
12430 deUint32 bindingCount,
12431 const VkBuffer* pBuffers,
12432 const VkDeviceSize* pOffsets,
12433 const VkDeviceSize* pSizes,
12434 const VkDeviceSize* pStrides);
12436 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
12437 VkCommandBuffer commandBuffer,
12438 VkBool32 depthTestEnable);
12440 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
12441 VkCommandBuffer commandBuffer,
12442 VkBool32 depthWriteEnable);
12444 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
12445 VkCommandBuffer commandBuffer,
12446 VkCompareOp depthCompareOp);
12448 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
12449 VkCommandBuffer commandBuffer,
12450 VkBool32 depthBoundsTestEnable);
12452 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
12453 VkCommandBuffer commandBuffer,
12454 VkBool32 stencilTestEnable);
12456 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
12457 VkCommandBuffer commandBuffer,
12458 VkStencilFaceFlags faceMask,
12459 VkStencilOp failOp,
12460 VkStencilOp passOp,
12461 VkStencilOp depthFailOp,
12462 VkCompareOp compareOp);
12466 #define VK_EXT_shader_demote_to_helper_invocation 1
12467 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
12468 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
12469 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
12470 VkStructureType sType;
12472 VkBool32 shaderDemoteToHelperInvocation;
12473 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
12477 #define VK_NV_device_generated_commands 1
12478 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
12479 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
12480 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
12482 typedef enum VkIndirectCommandsTokenTypeNV {
12483 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
12484 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
12485 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
12486 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
12487 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
12488 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
12489 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
12490 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
12491 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12492 } VkIndirectCommandsTokenTypeNV;
12494 typedef enum VkIndirectStateFlagBitsNV {
12495 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
12496 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12497 } VkIndirectStateFlagBitsNV;
12498 typedef VkFlags VkIndirectStateFlagsNV;
12500 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
12501 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
12502 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
12503 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
12504 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12505 } VkIndirectCommandsLayoutUsageFlagBitsNV;
12506 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
12507 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
12508 VkStructureType sType;
12510 deUint32 maxGraphicsShaderGroupCount;
12511 deUint32 maxIndirectSequenceCount;
12512 deUint32 maxIndirectCommandsTokenCount;
12513 deUint32 maxIndirectCommandsStreamCount;
12514 deUint32 maxIndirectCommandsTokenOffset;
12515 deUint32 maxIndirectCommandsStreamStride;
12516 deUint32 minSequencesCountBufferOffsetAlignment;
12517 deUint32 minSequencesIndexBufferOffsetAlignment;
12518 deUint32 minIndirectCommandsBufferOffsetAlignment;
12519 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
12521 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
12522 VkStructureType sType;
12524 VkBool32 deviceGeneratedCommands;
12525 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
12527 typedef struct VkGraphicsShaderGroupCreateInfoNV {
12528 VkStructureType sType;
12530 deUint32 stageCount;
12531 const VkPipelineShaderStageCreateInfo* pStages;
12532 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
12533 const VkPipelineTessellationStateCreateInfo* pTessellationState;
12534 } VkGraphicsShaderGroupCreateInfoNV;
12536 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
12537 VkStructureType sType;
12539 deUint32 groupCount;
12540 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
12541 deUint32 pipelineCount;
12542 const VkPipeline* pPipelines;
12543 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
12545 typedef struct VkBindShaderGroupIndirectCommandNV {
12546 deUint32 groupIndex;
12547 } VkBindShaderGroupIndirectCommandNV;
12549 typedef struct VkBindIndexBufferIndirectCommandNV {
12550 VkDeviceAddress bufferAddress;
12552 VkIndexType indexType;
12553 } VkBindIndexBufferIndirectCommandNV;
12555 typedef struct VkBindVertexBufferIndirectCommandNV {
12556 VkDeviceAddress bufferAddress;
12559 } VkBindVertexBufferIndirectCommandNV;
12561 typedef struct VkSetStateFlagsIndirectCommandNV {
12563 } VkSetStateFlagsIndirectCommandNV;
12565 typedef struct VkIndirectCommandsStreamNV {
12567 VkDeviceSize offset;
12568 } VkIndirectCommandsStreamNV;
12570 typedef struct VkIndirectCommandsLayoutTokenNV {
12571 VkStructureType sType;
12573 VkIndirectCommandsTokenTypeNV tokenType;
12576 deUint32 vertexBindingUnit;
12577 VkBool32 vertexDynamicStride;
12578 VkPipelineLayout pushconstantPipelineLayout;
12579 VkShaderStageFlags pushconstantShaderStageFlags;
12580 deUint32 pushconstantOffset;
12581 deUint32 pushconstantSize;
12582 VkIndirectStateFlagsNV indirectStateFlags;
12583 deUint32 indexTypeCount;
12584 const VkIndexType* pIndexTypes;
12585 const deUint32* pIndexTypeValues;
12586 } VkIndirectCommandsLayoutTokenNV;
12588 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
12589 VkStructureType sType;
12591 VkIndirectCommandsLayoutUsageFlagsNV flags;
12592 VkPipelineBindPoint pipelineBindPoint;
12593 deUint32 tokenCount;
12594 const VkIndirectCommandsLayoutTokenNV* pTokens;
12595 deUint32 streamCount;
12596 const deUint32* pStreamStrides;
12597 } VkIndirectCommandsLayoutCreateInfoNV;
12599 typedef struct VkGeneratedCommandsInfoNV {
12600 VkStructureType sType;
12602 VkPipelineBindPoint pipelineBindPoint;
12603 VkPipeline pipeline;
12604 VkIndirectCommandsLayoutNV indirectCommandsLayout;
12605 deUint32 streamCount;
12606 const VkIndirectCommandsStreamNV* pStreams;
12607 deUint32 sequencesCount;
12608 VkBuffer preprocessBuffer;
12609 VkDeviceSize preprocessOffset;
12610 VkDeviceSize preprocessSize;
12611 VkBuffer sequencesCountBuffer;
12612 VkDeviceSize sequencesCountOffset;
12613 VkBuffer sequencesIndexBuffer;
12614 VkDeviceSize sequencesIndexOffset;
12615 } VkGeneratedCommandsInfoNV;
12617 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
12618 VkStructureType sType;
12620 VkPipelineBindPoint pipelineBindPoint;
12621 VkPipeline pipeline;
12622 VkIndirectCommandsLayoutNV indirectCommandsLayout;
12623 deUint32 maxSequencesCount;
12624 } VkGeneratedCommandsMemoryRequirementsInfoNV;
12626 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
12627 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12628 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12629 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, deUint32 groupIndex);
12630 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12631 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
12633 #ifndef VK_NO_PROTOTYPES
12634 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
12636 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
12637 VkMemoryRequirements2* pMemoryRequirements);
12639 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
12640 VkCommandBuffer commandBuffer,
12641 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12643 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
12644 VkCommandBuffer commandBuffer,
12645 VkBool32 isPreprocessed,
12646 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12648 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
12649 VkCommandBuffer commandBuffer,
12650 VkPipelineBindPoint pipelineBindPoint,
12651 VkPipeline pipeline,
12652 deUint32 groupIndex);
12654 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
12656 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
12657 const VkAllocationCallbacks* pAllocator,
12658 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12660 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
12662 VkIndirectCommandsLayoutNV indirectCommandsLayout,
12663 const VkAllocationCallbacks* pAllocator);
12667 #define VK_NV_inherited_viewport_scissor 1
12668 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
12669 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
12670 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
12671 VkStructureType sType;
12673 VkBool32 inheritedViewportScissor2D;
12674 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
12676 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
12677 VkStructureType sType;
12679 VkBool32 viewportScissor2D;
12680 deUint32 viewportDepthCount;
12681 const VkViewport* pViewportDepths;
12682 } VkCommandBufferInheritanceViewportScissorInfoNV;
12686 #define VK_EXT_texel_buffer_alignment 1
12687 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
12688 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
12689 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
12690 VkStructureType sType;
12692 VkBool32 texelBufferAlignment;
12693 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
12695 typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
12696 VkStructureType sType;
12698 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
12699 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
12700 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
12701 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
12702 } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
12706 #define VK_QCOM_render_pass_transform 1
12707 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
12708 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
12709 typedef struct VkRenderPassTransformBeginInfoQCOM {
12710 VkStructureType sType;
12712 VkSurfaceTransformFlagBitsKHR transform;
12713 } VkRenderPassTransformBeginInfoQCOM;
12715 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
12716 VkStructureType sType;
12718 VkSurfaceTransformFlagBitsKHR transform;
12719 VkRect2D renderArea;
12720 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
12724 #define VK_EXT_device_memory_report 1
12725 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
12726 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
12728 typedef enum VkDeviceMemoryReportEventTypeEXT {
12729 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
12730 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
12731 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
12732 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
12733 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
12734 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
12735 } VkDeviceMemoryReportEventTypeEXT;
12736 typedef VkFlags VkDeviceMemoryReportFlagsEXT;
12737 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
12738 VkStructureType sType;
12740 VkBool32 deviceMemoryReport;
12741 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
12743 typedef struct VkDeviceMemoryReportCallbackDataEXT {
12744 VkStructureType sType;
12746 VkDeviceMemoryReportFlagsEXT flags;
12747 VkDeviceMemoryReportEventTypeEXT type;
12748 deUint64 memoryObjectId;
12750 VkObjectType objectType;
12751 deUint64 objectHandle;
12752 deUint32 heapIndex;
12753 } VkDeviceMemoryReportCallbackDataEXT;
12755 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
12756 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
12759 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
12760 VkStructureType sType;
12762 VkDeviceMemoryReportFlagsEXT flags;
12763 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
12765 } VkDeviceDeviceMemoryReportCreateInfoEXT;
12769 #define VK_EXT_robustness2 1
12770 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
12771 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
12772 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
12773 VkStructureType sType;
12775 VkBool32 robustBufferAccess2;
12776 VkBool32 robustImageAccess2;
12777 VkBool32 nullDescriptor;
12778 } VkPhysicalDeviceRobustness2FeaturesEXT;
12780 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
12781 VkStructureType sType;
12783 VkDeviceSize robustStorageBufferAccessSizeAlignment;
12784 VkDeviceSize robustUniformBufferAccessSizeAlignment;
12785 } VkPhysicalDeviceRobustness2PropertiesEXT;
12789 #define VK_EXT_custom_border_color 1
12790 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
12791 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
12792 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
12793 VkStructureType sType;
12795 VkClearColorValue customBorderColor;
12797 } VkSamplerCustomBorderColorCreateInfoEXT;
12799 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
12800 VkStructureType sType;
12802 deUint32 maxCustomBorderColorSamplers;
12803 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
12805 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
12806 VkStructureType sType;
12808 VkBool32 customBorderColors;
12809 VkBool32 customBorderColorWithoutFormat;
12810 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
12814 #define VK_GOOGLE_user_type 1
12815 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
12816 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
12819 #define VK_EXT_private_data 1
12820 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT)
12821 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
12822 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
12824 typedef enum VkPrivateDataSlotCreateFlagBitsEXT {
12825 VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12826 } VkPrivateDataSlotCreateFlagBitsEXT;
12827 typedef VkFlags VkPrivateDataSlotCreateFlagsEXT;
12828 typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
12829 VkStructureType sType;
12831 VkBool32 privateData;
12832 } VkPhysicalDevicePrivateDataFeaturesEXT;
12834 typedef struct VkDevicePrivateDataCreateInfoEXT {
12835 VkStructureType sType;
12837 deUint32 privateDataSlotRequestCount;
12838 } VkDevicePrivateDataCreateInfoEXT;
12840 typedef struct VkPrivateDataSlotCreateInfoEXT {
12841 VkStructureType sType;
12843 VkPrivateDataSlotCreateFlagsEXT flags;
12844 } VkPrivateDataSlotCreateInfoEXT;
12846 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot);
12847 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator);
12848 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64 data);
12849 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64* pData);
12851 #ifndef VK_NO_PROTOTYPES
12852 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
12854 const VkPrivateDataSlotCreateInfoEXT* pCreateInfo,
12855 const VkAllocationCallbacks* pAllocator,
12856 VkPrivateDataSlotEXT* pPrivateDataSlot);
12858 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
12860 VkPrivateDataSlotEXT privateDataSlot,
12861 const VkAllocationCallbacks* pAllocator);
12863 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
12865 VkObjectType objectType,
12866 deUint64 objectHandle,
12867 VkPrivateDataSlotEXT privateDataSlot,
12870 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
12872 VkObjectType objectType,
12873 deUint64 objectHandle,
12874 VkPrivateDataSlotEXT privateDataSlot,
12879 #define VK_EXT_pipeline_creation_cache_control 1
12880 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
12881 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
12882 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
12883 VkStructureType sType;
12885 VkBool32 pipelineCreationCacheControl;
12886 } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
12890 #define VK_NV_device_diagnostics_config 1
12891 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
12892 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
12894 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
12895 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
12896 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
12897 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
12898 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12899 } VkDeviceDiagnosticsConfigFlagBitsNV;
12900 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
12901 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
12902 VkStructureType sType;
12904 VkBool32 diagnosticsConfig;
12905 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
12907 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
12908 VkStructureType sType;
12910 VkDeviceDiagnosticsConfigFlagsNV flags;
12911 } VkDeviceDiagnosticsConfigCreateInfoNV;
12915 #define VK_QCOM_render_pass_store_ops 1
12916 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2
12917 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
12920 #define VK_NV_fragment_shading_rate_enums 1
12921 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
12922 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
12924 typedef enum VkFragmentShadingRateTypeNV {
12925 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
12926 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
12927 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12928 } VkFragmentShadingRateTypeNV;
12930 typedef enum VkFragmentShadingRateNV {
12931 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
12932 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
12933 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
12934 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
12935 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
12936 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
12937 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
12938 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
12939 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
12940 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
12941 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
12942 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
12943 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
12944 } VkFragmentShadingRateNV;
12945 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
12946 VkStructureType sType;
12948 VkBool32 fragmentShadingRateEnums;
12949 VkBool32 supersampleFragmentShadingRates;
12950 VkBool32 noInvocationFragmentShadingRates;
12951 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
12953 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
12954 VkStructureType sType;
12956 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
12957 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
12959 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
12960 VkStructureType sType;
12962 VkFragmentShadingRateTypeNV shadingRateType;
12963 VkFragmentShadingRateNV shadingRate;
12964 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
12965 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
12967 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
12969 #ifndef VK_NO_PROTOTYPES
12970 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
12971 VkCommandBuffer commandBuffer,
12972 VkFragmentShadingRateNV shadingRate,
12973 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
12977 #define VK_EXT_ycbcr_2plane_444_formats 1
12978 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
12979 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
12980 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
12981 VkStructureType sType;
12983 VkBool32 ycbcr2plane444Formats;
12984 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
12988 #define VK_EXT_fragment_density_map2 1
12989 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
12990 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
12991 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
12992 VkStructureType sType;
12994 VkBool32 fragmentDensityMapDeferred;
12995 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
12997 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
12998 VkStructureType sType;
13000 VkBool32 subsampledLoads;
13001 VkBool32 subsampledCoarseReconstructionEarlyAccess;
13002 deUint32 maxSubsampledArrayLayers;
13003 deUint32 maxDescriptorSetSubsampledSamplers;
13004 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
13008 #define VK_QCOM_rotated_copy_commands 1
13009 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1
13010 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
13011 typedef struct VkCopyCommandTransformInfoQCOM {
13012 VkStructureType sType;
13014 VkSurfaceTransformFlagBitsKHR transform;
13015 } VkCopyCommandTransformInfoQCOM;
13019 #define VK_EXT_image_robustness 1
13020 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
13021 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
13022 typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
13023 VkStructureType sType;
13025 VkBool32 robustImageAccess;
13026 } VkPhysicalDeviceImageRobustnessFeaturesEXT;
13030 #define VK_EXT_4444_formats 1
13031 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
13032 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
13033 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
13034 VkStructureType sType;
13036 VkBool32 formatA4R4G4B4;
13037 VkBool32 formatA4B4G4R4;
13038 } VkPhysicalDevice4444FormatsFeaturesEXT;
13042 #define VK_NV_acquire_winrt_display 1
13043 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
13044 #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
13045 typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
13046 typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, deUint32 deviceRelativeId, VkDisplayKHR* pDisplay);
13048 #ifndef VK_NO_PROTOTYPES
13049 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
13050 VkPhysicalDevice physicalDevice,
13051 VkDisplayKHR display);
13053 VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
13054 VkPhysicalDevice physicalDevice,
13055 deUint32 deviceRelativeId,
13056 VkDisplayKHR* pDisplay);
13060 #define VK_VALVE_mutable_descriptor_type 1
13061 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
13062 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
13063 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
13064 VkStructureType sType;
13066 VkBool32 mutableDescriptorType;
13067 } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
13069 typedef struct VkMutableDescriptorTypeListVALVE {
13070 deUint32 descriptorTypeCount;
13071 const VkDescriptorType* pDescriptorTypes;
13072 } VkMutableDescriptorTypeListVALVE;
13074 typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
13075 VkStructureType sType;
13077 deUint32 mutableDescriptorTypeListCount;
13078 const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
13079 } VkMutableDescriptorTypeCreateInfoVALVE;
13083 #define VK_EXT_vertex_input_dynamic_state 1
13084 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
13085 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
13086 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
13087 VkStructureType sType;
13089 VkBool32 vertexInputDynamicState;
13090 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
13092 typedef struct VkVertexInputBindingDescription2EXT {
13093 VkStructureType sType;
13097 VkVertexInputRate inputRate;
13099 } VkVertexInputBindingDescription2EXT;
13101 typedef struct VkVertexInputAttributeDescription2EXT {
13102 VkStructureType sType;
13108 } VkVertexInputAttributeDescription2EXT;
13110 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
13112 #ifndef VK_NO_PROTOTYPES
13113 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
13114 VkCommandBuffer commandBuffer,
13115 deUint32 vertexBindingDescriptionCount,
13116 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
13117 deUint32 vertexAttributeDescriptionCount,
13118 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
13122 #define VK_EXT_extended_dynamic_state2 1
13123 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
13124 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
13125 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
13126 VkStructureType sType;
13128 VkBool32 extendedDynamicState2;
13129 VkBool32 extendedDynamicState2LogicOp;
13130 VkBool32 extendedDynamicState2PatchControlPoints;
13131 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT;
13133 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, deUint32 patchControlPoints);
13134 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
13135 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
13136 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp);
13137 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
13139 #ifndef VK_NO_PROTOTYPES
13140 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT(
13141 VkCommandBuffer commandBuffer,
13142 deUint32 patchControlPoints);
13144 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT(
13145 VkCommandBuffer commandBuffer,
13146 VkBool32 rasterizerDiscardEnable);
13148 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT(
13149 VkCommandBuffer commandBuffer,
13150 VkBool32 depthBiasEnable);
13152 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT(
13153 VkCommandBuffer commandBuffer,
13154 VkLogicOp logicOp);
13156 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT(
13157 VkCommandBuffer commandBuffer,
13158 VkBool32 primitiveRestartEnable);
13162 #define VK_EXT_color_write_enable 1
13163 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
13164 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
13165 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
13166 VkStructureType sType;
13168 VkBool32 colorWriteEnable;
13169 } VkPhysicalDeviceColorWriteEnableFeaturesEXT;
13171 typedef struct VkPipelineColorWriteCreateInfoEXT {
13172 VkStructureType sType;
13174 deUint32 attachmentCount;
13175 const VkBool32* pColorWriteEnables;
13176 } VkPipelineColorWriteCreateInfoEXT;
13178 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables);
13180 #ifndef VK_NO_PROTOTYPES
13181 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
13182 VkCommandBuffer commandBuffer,
13183 deUint32 attachmentCount,
13184 const VkBool32* pColorWriteEnables);
13188 #define VK_KHR_acceleration_structure 1
13189 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
13190 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 11
13191 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
13193 typedef enum VkBuildAccelerationStructureModeKHR {
13194 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
13195 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
13196 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
13197 } VkBuildAccelerationStructureModeKHR;
13199 typedef enum VkAccelerationStructureBuildTypeKHR {
13200 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
13201 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
13202 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
13203 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
13204 } VkAccelerationStructureBuildTypeKHR;
13206 typedef enum VkAccelerationStructureCompatibilityKHR {
13207 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
13208 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
13209 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
13210 } VkAccelerationStructureCompatibilityKHR;
13212 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
13213 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
13214 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13215 } VkAccelerationStructureCreateFlagBitsKHR;
13216 typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
13217 typedef union VkDeviceOrHostAddressKHR {
13218 VkDeviceAddress deviceAddress;
13220 } VkDeviceOrHostAddressKHR;
13222 typedef union VkDeviceOrHostAddressConstKHR {
13223 VkDeviceAddress deviceAddress;
13224 const void* hostAddress;
13225 } VkDeviceOrHostAddressConstKHR;
13227 typedef struct VkAccelerationStructureBuildRangeInfoKHR {
13228 deUint32 primitiveCount;
13229 deUint32 primitiveOffset;
13230 deUint32 firstVertex;
13231 deUint32 transformOffset;
13232 } VkAccelerationStructureBuildRangeInfoKHR;
13234 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
13235 VkStructureType sType;
13237 VkFormat vertexFormat;
13238 VkDeviceOrHostAddressConstKHR vertexData;
13239 VkDeviceSize vertexStride;
13240 deUint32 maxVertex;
13241 VkIndexType indexType;
13242 VkDeviceOrHostAddressConstKHR indexData;
13243 VkDeviceOrHostAddressConstKHR transformData;
13244 } VkAccelerationStructureGeometryTrianglesDataKHR;
13246 typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
13247 VkStructureType sType;
13249 VkDeviceOrHostAddressConstKHR data;
13250 VkDeviceSize stride;
13251 } VkAccelerationStructureGeometryAabbsDataKHR;
13253 typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
13254 VkStructureType sType;
13256 VkBool32 arrayOfPointers;
13257 VkDeviceOrHostAddressConstKHR data;
13258 } VkAccelerationStructureGeometryInstancesDataKHR;
13260 typedef union VkAccelerationStructureGeometryDataKHR {
13261 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
13262 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
13263 VkAccelerationStructureGeometryInstancesDataKHR instances;
13264 } VkAccelerationStructureGeometryDataKHR;
13266 typedef struct VkAccelerationStructureGeometryKHR {
13267 VkStructureType sType;
13269 VkGeometryTypeKHR geometryType;
13270 VkAccelerationStructureGeometryDataKHR geometry;
13271 VkGeometryFlagsKHR flags;
13272 } VkAccelerationStructureGeometryKHR;
13274 typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
13275 VkStructureType sType;
13277 VkAccelerationStructureTypeKHR type;
13278 VkBuildAccelerationStructureFlagsKHR flags;
13279 VkBuildAccelerationStructureModeKHR mode;
13280 VkAccelerationStructureKHR srcAccelerationStructure;
13281 VkAccelerationStructureKHR dstAccelerationStructure;
13282 deUint32 geometryCount;
13283 const VkAccelerationStructureGeometryKHR* pGeometries;
13284 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
13285 VkDeviceOrHostAddressKHR scratchData;
13286 } VkAccelerationStructureBuildGeometryInfoKHR;
13288 typedef struct VkAccelerationStructureCreateInfoKHR {
13289 VkStructureType sType;
13291 VkAccelerationStructureCreateFlagsKHR createFlags;
13293 VkDeviceSize offset;
13295 VkAccelerationStructureTypeKHR type;
13296 VkDeviceAddress deviceAddress;
13297 } VkAccelerationStructureCreateInfoKHR;
13299 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
13300 VkStructureType sType;
13302 deUint32 accelerationStructureCount;
13303 const VkAccelerationStructureKHR* pAccelerationStructures;
13304 } VkWriteDescriptorSetAccelerationStructureKHR;
13306 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
13307 VkStructureType sType;
13309 VkBool32 accelerationStructure;
13310 VkBool32 accelerationStructureCaptureReplay;
13311 VkBool32 accelerationStructureIndirectBuild;
13312 VkBool32 accelerationStructureHostCommands;
13313 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
13314 } VkPhysicalDeviceAccelerationStructureFeaturesKHR;
13316 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
13317 VkStructureType sType;
13319 deUint64 maxGeometryCount;
13320 deUint64 maxInstanceCount;
13321 deUint64 maxPrimitiveCount;
13322 deUint32 maxPerStageDescriptorAccelerationStructures;
13323 deUint32 maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
13324 deUint32 maxDescriptorSetAccelerationStructures;
13325 deUint32 maxDescriptorSetUpdateAfterBindAccelerationStructures;
13326 deUint32 minAccelerationStructureScratchOffsetAlignment;
13327 } VkPhysicalDeviceAccelerationStructurePropertiesKHR;
13329 typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
13330 VkStructureType sType;
13332 VkAccelerationStructureKHR accelerationStructure;
13333 } VkAccelerationStructureDeviceAddressInfoKHR;
13335 typedef struct VkAccelerationStructureVersionInfoKHR {
13336 VkStructureType sType;
13338 const deUint8* pVersionData;
13339 } VkAccelerationStructureVersionInfoKHR;
13341 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
13342 VkStructureType sType;
13344 VkAccelerationStructureKHR src;
13345 VkDeviceOrHostAddressKHR dst;
13346 VkCopyAccelerationStructureModeKHR mode;
13347 } VkCopyAccelerationStructureToMemoryInfoKHR;
13349 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
13350 VkStructureType sType;
13352 VkDeviceOrHostAddressConstKHR src;
13353 VkAccelerationStructureKHR dst;
13354 VkCopyAccelerationStructureModeKHR mode;
13355 } VkCopyMemoryToAccelerationStructureInfoKHR;
13357 typedef struct VkCopyAccelerationStructureInfoKHR {
13358 VkStructureType sType;
13360 VkAccelerationStructureKHR src;
13361 VkAccelerationStructureKHR dst;
13362 VkCopyAccelerationStructureModeKHR mode;
13363 } VkCopyAccelerationStructureInfoKHR;
13365 typedef struct VkAccelerationStructureBuildSizesInfoKHR {
13366 VkStructureType sType;
13368 VkDeviceSize accelerationStructureSize;
13369 VkDeviceSize updateScratchSize;
13370 VkDeviceSize buildScratchSize;
13371 } VkAccelerationStructureBuildSizesInfoKHR;
13373 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
13374 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
13375 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13376 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const deUint32* pIndirectStrides, const deUint32* const* ppMaxPrimitiveCounts);
13377 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13378 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
13379 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13380 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13381 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, deUintptr dataSize, void* pData, deUintptr stride);
13382 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
13383 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13384 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13385 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
13386 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
13387 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
13388 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const deUint32* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
13390 #ifndef VK_NO_PROTOTYPES
13391 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
13393 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
13394 const VkAllocationCallbacks* pAllocator,
13395 VkAccelerationStructureKHR* pAccelerationStructure);
13397 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
13399 VkAccelerationStructureKHR accelerationStructure,
13400 const VkAllocationCallbacks* pAllocator);
13402 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
13403 VkCommandBuffer commandBuffer,
13404 deUint32 infoCount,
13405 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13406 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13408 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
13409 VkCommandBuffer commandBuffer,
13410 deUint32 infoCount,
13411 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13412 const VkDeviceAddress* pIndirectDeviceAddresses,
13413 const deUint32* pIndirectStrides,
13414 const deUint32* const* ppMaxPrimitiveCounts);
13416 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
13418 VkDeferredOperationKHR deferredOperation,
13419 deUint32 infoCount,
13420 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13421 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13423 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
13425 VkDeferredOperationKHR deferredOperation,
13426 const VkCopyAccelerationStructureInfoKHR* pInfo);
13428 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
13430 VkDeferredOperationKHR deferredOperation,
13431 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13433 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
13435 VkDeferredOperationKHR deferredOperation,
13436 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13438 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
13440 deUint32 accelerationStructureCount,
13441 const VkAccelerationStructureKHR* pAccelerationStructures,
13442 VkQueryType queryType,
13443 deUintptr dataSize,
13447 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
13448 VkCommandBuffer commandBuffer,
13449 const VkCopyAccelerationStructureInfoKHR* pInfo);
13451 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
13452 VkCommandBuffer commandBuffer,
13453 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13455 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
13456 VkCommandBuffer commandBuffer,
13457 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13459 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
13461 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
13463 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
13464 VkCommandBuffer commandBuffer,
13465 deUint32 accelerationStructureCount,
13466 const VkAccelerationStructureKHR* pAccelerationStructures,
13467 VkQueryType queryType,
13468 VkQueryPool queryPool,
13469 deUint32 firstQuery);
13471 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
13473 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
13474 VkAccelerationStructureCompatibilityKHR* pCompatibility);
13476 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
13478 VkAccelerationStructureBuildTypeKHR buildType,
13479 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
13480 const deUint32* pMaxPrimitiveCounts,
13481 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
13485 #define VK_KHR_ray_tracing_pipeline 1
13486 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
13487 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
13489 typedef enum VkShaderGroupShaderKHR {
13490 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
13491 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
13492 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
13493 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
13494 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
13495 } VkShaderGroupShaderKHR;
13496 typedef struct VkRayTracingShaderGroupCreateInfoKHR {
13497 VkStructureType sType;
13499 VkRayTracingShaderGroupTypeKHR type;
13500 deUint32 generalShader;
13501 deUint32 closestHitShader;
13502 deUint32 anyHitShader;
13503 deUint32 intersectionShader;
13504 const void* pShaderGroupCaptureReplayHandle;
13505 } VkRayTracingShaderGroupCreateInfoKHR;
13507 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
13508 VkStructureType sType;
13510 deUint32 maxPipelineRayPayloadSize;
13511 deUint32 maxPipelineRayHitAttributeSize;
13512 } VkRayTracingPipelineInterfaceCreateInfoKHR;
13514 typedef struct VkRayTracingPipelineCreateInfoKHR {
13515 VkStructureType sType;
13517 VkPipelineCreateFlags flags;
13518 deUint32 stageCount;
13519 const VkPipelineShaderStageCreateInfo* pStages;
13520 deUint32 groupCount;
13521 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
13522 deUint32 maxPipelineRayRecursionDepth;
13523 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
13524 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
13525 const VkPipelineDynamicStateCreateInfo* pDynamicState;
13526 VkPipelineLayout layout;
13527 VkPipeline basePipelineHandle;
13528 deInt32 basePipelineIndex;
13529 } VkRayTracingPipelineCreateInfoKHR;
13531 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
13532 VkStructureType sType;
13534 VkBool32 rayTracingPipeline;
13535 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
13536 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
13537 VkBool32 rayTracingPipelineTraceRaysIndirect;
13538 VkBool32 rayTraversalPrimitiveCulling;
13539 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
13541 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
13542 VkStructureType sType;
13544 deUint32 shaderGroupHandleSize;
13545 deUint32 maxRayRecursionDepth;
13546 deUint32 maxShaderGroupStride;
13547 deUint32 shaderGroupBaseAlignment;
13548 deUint32 shaderGroupHandleCaptureReplaySize;
13549 deUint32 maxRayDispatchInvocationCount;
13550 deUint32 shaderGroupHandleAlignment;
13551 deUint32 maxRayHitAttributeSize;
13552 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
13554 typedef struct VkStridedDeviceAddressRegionKHR {
13555 VkDeviceAddress deviceAddress;
13556 VkDeviceSize stride;
13558 } VkStridedDeviceAddressRegionKHR;
13560 typedef struct VkTraceRaysIndirectCommandKHR {
13564 } VkTraceRaysIndirectCommandKHR;
13566 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);
13567 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
13568 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
13569 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
13570 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, deUint32 group, VkShaderGroupShaderKHR groupShader);
13571 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, deUint32 pipelineStackSize);
13573 #ifndef VK_NO_PROTOTYPES
13574 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
13575 VkCommandBuffer commandBuffer,
13576 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
13577 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
13578 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
13579 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
13584 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
13586 VkDeferredOperationKHR deferredOperation,
13587 VkPipelineCache pipelineCache,
13588 deUint32 createInfoCount,
13589 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
13590 const VkAllocationCallbacks* pAllocator,
13591 VkPipeline* pPipelines);
13593 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
13595 VkPipeline pipeline,
13596 deUint32 firstGroup,
13597 deUint32 groupCount,
13598 deUintptr dataSize,
13601 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
13602 VkCommandBuffer commandBuffer,
13603 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
13604 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
13605 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
13606 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
13607 VkDeviceAddress indirectDeviceAddress);
13609 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
13611 VkPipeline pipeline,
13613 VkShaderGroupShaderKHR groupShader);
13615 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
13616 VkCommandBuffer commandBuffer,
13617 deUint32 pipelineStackSize);
13621 #define VK_KHR_ray_query 1
13622 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
13623 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
13624 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
13625 VkStructureType sType;
13628 } VkPhysicalDeviceRayQueryFeaturesKHR;