diff options
author | Jon Leech <[email protected]> | 2021-11-02 02:14:49 -0700 |
---|---|---|
committer | Jon Leech <[email protected]> | 2021-11-02 02:15:33 -0700 |
commit | 51a326d756d279652187d0e66433a7b10660f311 (patch) | |
tree | e1396bc443eae0c4c1cdbdd787f346e9aec19b39 /include | |
parent | d594f70127b4198286b3472a48bee56e341259cd (diff) | |
download | Vulkan-Headers-51a326d756d279652187d0e66433a7b10660f311.tar.gz Vulkan-Headers-51a326d756d279652187d0e66433a7b10660f311.zip |
Update for Vulkan-Docs 1.2.197v1.2.197
Diffstat (limited to 'include')
-rw-r--r-- | include/vk_video/vulkan_video_codec_h264std.h | 313 | ||||
-rw-r--r-- | include/vk_video/vulkan_video_codec_h264std_decode.h | 43 | ||||
-rw-r--r-- | include/vk_video/vulkan_video_codec_h264std_encode.h | 24 | ||||
-rw-r--r-- | include/vk_video/vulkan_video_codec_h265std.h | 158 | ||||
-rw-r--r-- | include/vk_video/vulkan_video_codec_h265std_decode.h | 11 | ||||
-rw-r--r-- | include/vk_video/vulkan_video_codec_h265std_encode.h | 21 | ||||
-rw-r--r-- | include/vulkan/vulkan.hpp | 362 | ||||
-rw-r--r-- | include/vulkan/vulkan_beta.h | 13 | ||||
-rw-r--r-- | include/vulkan/vulkan_core.h | 129 | ||||
-rw-r--r-- | include/vulkan/vulkan_enums.hpp | 233 | ||||
-rw-r--r-- | include/vulkan/vulkan_funcs.hpp | 28 | ||||
-rw-r--r-- | include/vulkan/vulkan_handles.hpp | 26 | ||||
-rw-r--r-- | include/vulkan/vulkan_raii.hpp | 2913 | ||||
-rw-r--r-- | include/vulkan/vulkan_structs.hpp | 1218 |
14 files changed, 4321 insertions, 1171 deletions
diff --git a/include/vk_video/vulkan_video_codec_h264std.h b/include/vk_video/vulkan_video_codec_h264std.h index f8c0cef..3338fe1 100644 --- a/include/vk_video/vulkan_video_codec_h264std.h +++ b/include/vk_video/vulkan_video_codec_h264std.h @@ -14,170 +14,182 @@ extern "C" { #include "vk_video/vulkan_video_codecs_common.h" // Vulkan 0.9 provisional Vulkan video H.264 encode and decode std specification version number -#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 +#define VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9_5 VK_MAKE_VIDEO_STD_VERSION(0, 9, 5) // Patch version should always be set to 0 // Format must be in the form XX.XX where the first two digits are the major and the second two, the minor. -#define VK_STD_VULKAN_VIDEO_CODEC_H264_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9 +#define VK_STD_VULKAN_VIDEO_CODEC_H264_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9_5 #define VK_STD_VULKAN_VIDEO_CODEC_H264_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264" // ************************************************* // Video H.264 common definitions: // ************************************************* +#define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32 +#define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS 6 +#define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS 16 +#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS 2 +#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS 64 + typedef enum StdVideoH264ChromaFormatIdc { - std_video_h264_chroma_format_idc_monochrome = 0, - std_video_h264_chroma_format_idc_420 = 1, - std_video_h264_chroma_format_idc_422 = 2, - std_video_h264_chroma_format_idc_444 = 3, + STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME = 0, + STD_VIDEO_H264_CHROMA_FORMAT_IDC_420 = 1, + STD_VIDEO_H264_CHROMA_FORMAT_IDC_422 = 2, + STD_VIDEO_H264_CHROMA_FORMAT_IDC_444 = 3, + STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF } StdVideoH264ChromaFormatIdc; typedef enum StdVideoH264ProfileIdc { - std_video_h264_profile_idc_baseline = 66, /* Only constrained baseline is supported */ - std_video_h264_profile_idc_main = 77, - std_video_h264_profile_idc_high = 100, - std_video_h264_profile_idc_high_444_predictive = 244, - std_video_h264_profile_idc_invalid = 0x7FFFFFFF + STD_VIDEO_H264_PROFILE_IDC_BASELINE = 66, /* Only constrained baseline is supported */ + STD_VIDEO_H264_PROFILE_IDC_MAIN = 77, + STD_VIDEO_H264_PROFILE_IDC_HIGH = 100, + STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE = 244, + STD_VIDEO_H264_PROFILE_IDC_INVALID = 0x7FFFFFFF } StdVideoH264ProfileIdc; typedef enum StdVideoH264Level { - std_video_h264_level_1_0 = 0, - std_video_h264_level_1_1 = 1, - std_video_h264_level_1_2 = 2, - std_video_h264_level_1_3 = 3, - std_video_h264_level_2_0 = 4, - std_video_h264_level_2_1 = 5, - std_video_h264_level_2_2 = 6, - std_video_h264_level_3_0 = 7, - std_video_h264_level_3_1 = 8, - std_video_h264_level_3_2 = 9, - std_video_h264_level_4_0 = 10, - std_video_h264_level_4_1 = 11, - std_video_h264_level_4_2 = 12, - std_video_h264_level_5_0 = 13, - std_video_h264_level_5_1 = 14, - std_video_h264_level_5_2 = 15, - std_video_h264_level_6_0 = 16, - std_video_h264_level_6_1 = 17, - std_video_h264_level_6_2 = 18, - std_video_h264_level_invalid = 0x7FFFFFFF + STD_VIDEO_H264_LEVEL_1_0 = 0, + STD_VIDEO_H264_LEVEL_1_1 = 1, + STD_VIDEO_H264_LEVEL_1_2 = 2, + STD_VIDEO_H264_LEVEL_1_3 = 3, + STD_VIDEO_H264_LEVEL_2_0 = 4, + STD_VIDEO_H264_LEVEL_2_1 = 5, + STD_VIDEO_H264_LEVEL_2_2 = 6, + STD_VIDEO_H264_LEVEL_3_0 = 7, + STD_VIDEO_H264_LEVEL_3_1 = 8, + STD_VIDEO_H264_LEVEL_3_2 = 9, + STD_VIDEO_H264_LEVEL_4_0 = 10, + STD_VIDEO_H264_LEVEL_4_1 = 11, + STD_VIDEO_H264_LEVEL_4_2 = 12, + STD_VIDEO_H264_LEVEL_5_0 = 13, + STD_VIDEO_H264_LEVEL_5_1 = 14, + STD_VIDEO_H264_LEVEL_5_2 = 15, + STD_VIDEO_H264_LEVEL_6_0 = 16, + STD_VIDEO_H264_LEVEL_6_1 = 17, + STD_VIDEO_H264_LEVEL_6_2 = 18, + STD_VIDEO_H264_LEVEL_INVALID = 0x7FFFFFFF } StdVideoH264Level; typedef enum StdVideoH264PocType { - std_video_h264_poc_type_0 = 0, - std_video_h264_poc_type_1 = 1, - std_video_h264_poc_type_2 = 2, - std_video_h264_poc_type_invalid = 0x7FFFFFFF + STD_VIDEO_H264_POC_TYPE_0 = 0, + STD_VIDEO_H264_POC_TYPE_1 = 1, + STD_VIDEO_H264_POC_TYPE_2 = 2, + STD_VIDEO_H264_POC_TYPE_INVALID = 0x7FFFFFFF } StdVideoH264PocType; typedef enum StdVideoH264AspectRatioIdc { - std_video_h264_aspect_ratio_idc_unspecified = 0, - std_video_h264_aspect_ratio_idc_square = 1, - std_video_h264_aspect_ratio_idc_12_11 = 2, - std_video_h264_aspect_ratio_idc_10_11 = 3, - std_video_h264_aspect_ratio_idc_16_11 = 4, - std_video_h264_aspect_ratio_idc_40_33 = 5, - std_video_h264_aspect_ratio_idc_24_11 = 6, - std_video_h264_aspect_ratio_idc_20_11 = 7, - std_video_h264_aspect_ratio_idc_32_11 = 8, - std_video_h264_aspect_ratio_idc_80_33 = 9, - std_video_h264_aspect_ratio_idc_18_11 = 10, - std_video_h264_aspect_ratio_idc_15_11 = 11, - std_video_h264_aspect_ratio_idc_64_33 = 12, - std_video_h264_aspect_ratio_idc_160_99 = 13, - std_video_h264_aspect_ratio_idc_4_3 = 14, - std_video_h264_aspect_ratio_idc_3_2 = 15, - std_video_h264_aspect_ratio_idc_2_1 = 16, - std_video_h264_aspect_ratio_idc_extended_sar = 255, - std_video_h264_aspect_ratio_idc_invalid = 0x7FFFFFFF + STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED = 0, + STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE = 1, + STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11 = 2, + STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11 = 3, + STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11 = 4, + STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33 = 5, + STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11 = 6, + STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11 = 7, + STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11 = 8, + STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33 = 9, + STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11 = 10, + STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11 = 11, + STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33 = 12, + STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99 = 13, + STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3 = 14, + STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2 = 15, + STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1 = 16, + STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR = 255, + STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF } StdVideoH264AspectRatioIdc; -typedef enum StdVideoH264WeightedBiPredIdc { - std_video_h264_default_weighted_b_slices_prediction_idc = 0, - std_video_h264_explicit_weighted_b_slices_prediction_idc = 1, - std_video_h264_implicit_weighted_b_slices_prediction_idc = 2, - std_video_h264_invalid_weighted_b_slices_prediction_idc = 0x7FFFFFFF -} StdVideoH264WeightedBiPredIdc; +typedef enum StdVideoH264WeightedBipredIdc { + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT = 0, + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT = 1, + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT = 2, + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID = 0x7FFFFFFF +} StdVideoH264WeightedBipredIdc; typedef enum StdVideoH264ModificationOfPicNumsIdc { - std_video_h264_modification_of_pic_nums_idc_short_term_subtract = 0, - std_video_h264_modification_of_pic_nums_idc_short_term_add = 1, - std_video_h264_modification_of_pic_nums_idc_long_term = 2, - std_video_h264_modification_of_pic_nums_idc_end = 3, - std_video_h264_modification_of_pic_nums_idc_invalid = 0x7FFFFFFF + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT = 0, + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD = 1, + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM = 2, + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END = 3, + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID = 0x7FFFFFFF } StdVideoH264ModificationOfPicNumsIdc; typedef enum StdVideoH264MemMgmtControlOp { - std_video_h264_mem_mgmt_control_op_end = 0, - std_video_h264_mem_mgmt_control_op_unmark_short_term = 1, - std_video_h264_mem_mgmt_control_op_unmark_long_term = 2, - std_video_h264_mem_mgmt_control_op_mark_long_term = 3, - std_video_h264_mem_mgmt_control_op_set_max_long_term_index = 4, - std_video_h264_mem_mgmt_control_op_unmark_all = 5, - std_video_h264_mem_mgmt_control_op_mark_current_as_long_term = 6, - std_video_h264_mem_mgmt_control_op_invalid = 0x7FFFFFFF + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END = 0, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM = 1, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM = 2, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM = 3, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX = 4, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL = 5, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM = 6, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID = 0x7FFFFFFF } StdVideoH264MemMgmtControlOp; typedef enum StdVideoH264CabacInitIdc { - std_video_h264_cabac_init_idc_0 = 0, - std_video_h264_cabac_init_idc_1 = 1, - std_video_h264_cabac_init_idc_2 = 2, - std_video_h264_cabac_init_idc_invalid = 0x7FFFFFFF + STD_VIDEO_H264_CABAC_INIT_IDC_0 = 0, + STD_VIDEO_H264_CABAC_INIT_IDC_1 = 1, + STD_VIDEO_H264_CABAC_INIT_IDC_2 = 2, + STD_VIDEO_H264_CABAC_INIT_IDC_INVALID = 0x7FFFFFFF } StdVideoH264CabacInitIdc; typedef enum StdVideoH264DisableDeblockingFilterIdc { - std_video_h264_disable_deblocking_filter_idc_disabled = 0, - std_video_h264_disable_deblocking_filter_idc_enabled = 1, - std_video_h264_disable_deblocking_filter_idc_partial = 2, - std_video_h264_disable_deblocking_filter_idc_invalid = 0x7FFFFFFF + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED = 0, + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED = 1, + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL = 2, + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID = 0x7FFFFFFF } StdVideoH264DisableDeblockingFilterIdc; -typedef enum StdVideoH264PictureType { - std_video_h264_picture_type_i = 0, - std_video_h264_picture_type_p = 1, - std_video_h264_picture_type_b = 2, - std_video_h264_picture_type_invalid = 0x7FFFFFFF -} StdVideoH264PictureType; - typedef enum StdVideoH264SliceType { - std_video_h264_slice_type_i = 0, - std_video_h264_slice_type_p = 1, - std_video_h264_slice_type_b = 2, - std_video_h264_slice_type_invalid = 0x7FFFFFFF + STD_VIDEO_H264_SLICE_TYPE_P = 0, + STD_VIDEO_H264_SLICE_TYPE_B = 1, + STD_VIDEO_H264_SLICE_TYPE_I = 2, + // reserved STD_VIDEO_H264_SLICE_TYPE_SP = 3, + // reserved STD_VIDEO_H264_SLICE_TYPE_SI = 4, + STD_VIDEO_H264_SLICE_TYPE_INVALID = 0x7FFFFFFF } StdVideoH264SliceType; +typedef enum StdVideoH264PictureType { + STD_VIDEO_H264_PICTURE_TYPE_P = 0, + STD_VIDEO_H264_PICTURE_TYPE_B = 1, + STD_VIDEO_H264_PICTURE_TYPE_I = 2, + // reserved STD_VIDEO_H264_PICTURE_TYPE_SP = 3, + // reserved STD_VIDEO_H264_PICTURE_TYPE_SI = 4, + STD_VIDEO_H264_PICTURE_TYPE_IDR = 5, + STD_VIDEO_H264_PICTURE_TYPE_INVALID = 0x7FFFFFFF +} StdVideoH264PictureType; + typedef enum StdVideoH264NonVclNaluType { - std_video_h264_non_vcl_nalu_type_sps = 0, - std_video_h264_non_vcl_nalu_type_pps = 1, - std_video_h264_non_vcl_nalu_type_aud = 2, - std_video_h264_non_vcl_nalu_type_prefix = 3, - std_video_h264_non_vcl_nalu_type_end_of_sequence = 4, - std_video_h264_non_vcl_nalu_type_end_of_stream = 5, - std_video_h264_non_vcl_nalu_type_precoded = 6, - std_video_h264_non_vcl_nalu_type_invalid = 0x7FFFFFFF + STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS = 0, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS = 1, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD = 2, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX = 3, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE = 4, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM = 5, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED = 6, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID = 0x7FFFFFFF } StdVideoH264NonVclNaluType; typedef struct StdVideoH264SpsVuiFlags { - uint32_t aspect_ratio_info_present_flag:1; - uint32_t overscan_info_present_flag:1; - uint32_t overscan_appropriate_flag:1; - uint32_t video_signal_type_present_flag:1; - uint32_t video_full_range_flag:1; - uint32_t color_description_present_flag:1; - uint32_t chroma_loc_info_present_flag:1; - uint32_t timing_info_present_flag:1; - uint32_t fixed_frame_rate_flag:1; - uint32_t bitstream_restriction_flag:1; - uint32_t nal_hrd_parameters_present_flag:1; - uint32_t vcl_hrd_parameters_present_flag:1; + uint32_t aspect_ratio_info_present_flag : 1; + uint32_t overscan_info_present_flag : 1; + uint32_t overscan_appropriate_flag : 1; + uint32_t video_signal_type_present_flag : 1; + uint32_t video_full_range_flag : 1; + uint32_t color_description_present_flag : 1; + uint32_t chroma_loc_info_present_flag : 1; + uint32_t timing_info_present_flag : 1; + uint32_t fixed_frame_rate_flag : 1; + uint32_t bitstream_restriction_flag : 1; + uint32_t nal_hrd_parameters_present_flag : 1; + uint32_t vcl_hrd_parameters_present_flag : 1; } StdVideoH264SpsVuiFlags; -typedef struct StdVideoH264HrdParameters { +typedef struct StdVideoH264HrdParameters { // hrd_parameters uint8_t cpb_cnt_minus1; uint8_t bit_rate_scale; uint8_t cpb_size_scale; - uint32_t bit_rate_value_minus1[32]; - uint32_t cpb_size_value_minus1[32]; - uint8_t cbr_flag[32]; + uint32_t bit_rate_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; // cpb_cnt_minus1 number of valid elements + uint32_t cpb_size_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; // cpb_cnt_minus1 number of valid elements + uint8_t cbr_flag[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; // cpb_cnt_minus1 number of valid elements uint32_t initial_cpb_removal_delay_length_minus1; uint32_t cpb_removal_delay_length_minus1; uint32_t dpb_output_delay_length_minus1; @@ -194,30 +206,29 @@ typedef struct StdVideoH264SequenceParameterSetVui { uint8_t matrix_coefficients; uint32_t num_units_in_tick; uint32_t time_scale; - StdVideoH264HrdParameters hrd_parameters; - uint8_t num_reorder_frames; + StdVideoH264HrdParameters* pHrdParameters; // must be a valid ptr to hrd_parameters, if nal_hrd_parameters_present_flag or vcl_hrd_parameters_present_flag are set + uint8_t max_num_reorder_frames; uint8_t max_dec_frame_buffering; StdVideoH264SpsVuiFlags flags; } StdVideoH264SequenceParameterSetVui; typedef struct StdVideoH264SpsFlags { - uint32_t constraint_set0_flag:1; - uint32_t constraint_set1_flag:1; - uint32_t constraint_set2_flag:1; - uint32_t constraint_set3_flag:1; - uint32_t constraint_set4_flag:1; - uint32_t constraint_set5_flag:1; - uint32_t direct_8x8_inference_flag:1; - uint32_t mb_adaptive_frame_field_flag:1; - uint32_t frame_mbs_only_flag:1; - uint32_t delta_pic_order_always_zero_flag:1; - uint32_t residual_colour_transform_flag:1; - uint32_t gaps_in_frame_num_value_allowed_flag:1; - uint32_t first_picture_after_seek_flag:1; // where is this being documented? - uint32_t qpprime_y_zero_transform_bypass_flag:1; - uint32_t frame_cropping_flag:1; - uint32_t scaling_matrix_present_flag:1; - uint32_t vui_parameters_present_flag:1; + uint32_t constraint_set0_flag : 1; + uint32_t constraint_set1_flag : 1; + uint32_t constraint_set2_flag : 1; + uint32_t constraint_set3_flag : 1; + uint32_t constraint_set4_flag : 1; + uint32_t constraint_set5_flag : 1; + uint32_t direct_8x8_inference_flag : 1; + uint32_t mb_adaptive_frame_field_flag : 1; + uint32_t frame_mbs_only_flag : 1; + uint32_t delta_pic_order_always_zero_flag : 1; + uint32_t separate_colour_plane_flag : 1; + uint32_t gaps_in_frame_num_value_allowed_flag : 1; + uint32_t qpprime_y_zero_transform_bypass_flag : 1; + uint32_t frame_cropping_flag : 1; + uint32_t seq_scaling_matrix_present_flag : 1; + uint32_t vui_parameters_present_flag : 1; } StdVideoH264SpsFlags; typedef struct StdVideoH264ScalingLists @@ -234,8 +245,8 @@ typedef struct StdVideoH264ScalingLists // bit 0 - 5 are for each entry of ScalingList4x4 // bit 6 - 7 are for each entry plus 6 for ScalingList8x8 uint8_t use_default_scaling_matrix_mask; - uint8_t ScalingList4x4[6][16]; - uint8_t ScalingList8x8[2][64]; + uint8_t ScalingList4x4[STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS]; + uint8_t ScalingList8x8[STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS]; } StdVideoH264ScalingLists; typedef struct StdVideoH264SequenceParameterSet @@ -260,21 +271,23 @@ typedef struct StdVideoH264SequenceParameterSet uint32_t frame_crop_top_offset; uint32_t frame_crop_bottom_offset; StdVideoH264SpsFlags flags; - int32_t offset_for_ref_frame[255]; // The number of valid values are defined by the num_ref_frames_in_pic_order_cnt_cycle - StdVideoH264ScalingLists* pScalingLists; // Must be a valid pointer if scaling_matrix_present_flag is set + // pOffsetForRefFrame is a pointer representing the offset_for_ref_frame array with num_ref_frames_in_pic_order_cnt_cycle number of elements + // If pOffsetForRefFrame has nullptr value, then num_ref_frames_in_pic_order_cnt_cycle must also be "0". + int32_t* pOffsetForRefFrame; + StdVideoH264ScalingLists* pScalingLists; // Must be a valid pointer if seq_scaling_matrix_present_flag is set StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui; // Must be a valid pointer if StdVideoH264SpsFlags:vui_parameters_present_flag is set } StdVideoH264SequenceParameterSet; typedef struct StdVideoH264PpsFlags { - uint32_t transform_8x8_mode_flag:1; - uint32_t redundant_pic_cnt_present_flag:1; - uint32_t constrained_intra_pred_flag:1; - uint32_t deblocking_filter_control_present_flag:1; - uint32_t weighted_bipred_idc_flag:1; - uint32_t weighted_pred_flag:1; - uint32_t pic_order_present_flag:1; - uint32_t entropy_coding_mode_flag:1; - uint32_t scaling_matrix_present_flag:1; + uint32_t transform_8x8_mode_flag : 1; + uint32_t redundant_pic_cnt_present_flag : 1; + uint32_t constrained_intra_pred_flag : 1; + uint32_t deblocking_filter_control_present_flag : 1; + uint32_t weighted_bipred_idc_flag : 1; + uint32_t weighted_pred_flag : 1; + uint32_t pic_order_present_flag : 1; + uint32_t entropy_coding_mode_flag : 1; + uint32_t pic_scaling_matrix_present_flag : 1; } StdVideoH264PpsFlags; typedef struct StdVideoH264PictureParameterSet @@ -283,13 +296,13 @@ typedef struct StdVideoH264PictureParameterSet uint8_t pic_parameter_set_id; uint8_t num_ref_idx_l0_default_active_minus1; uint8_t num_ref_idx_l1_default_active_minus1; - StdVideoH264WeightedBiPredIdc weighted_bipred_idc; + StdVideoH264WeightedBipredIdc weighted_bipred_idc; int8_t pic_init_qp_minus26; int8_t pic_init_qs_minus26; int8_t chroma_qp_index_offset; int8_t second_chroma_qp_index_offset; StdVideoH264PpsFlags flags; - StdVideoH264ScalingLists* pScalingLists; // Must be a valid pointer if StdVideoH264PpsFlags::scaling_matrix_present_flag is set. + StdVideoH264ScalingLists* pScalingLists; // Must be a valid pointer if StdVideoH264PpsFlags::pic_scaling_matrix_present_flag is set. } StdVideoH264PictureParameterSet; #ifdef __cplusplus diff --git a/include/vk_video/vulkan_video_codec_h264std_decode.h b/include/vk_video/vulkan_video_codec_h264std_decode.h index 2b4fc64..6f2d6d7 100644 --- a/include/vk_video/vulkan_video_codec_h264std_decode.h +++ b/include/vk_video/vulkan_video_codec_h264std_decode.h @@ -17,12 +17,21 @@ extern "C" { // Video H.264 Decode related parameters: // ************************************************* +#define STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE 15 + +typedef enum StdVideoDecodeH264FieldOrderCount { + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0, + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1, + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE = 2, + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF +} StdVideoDecodeH264FieldOrderCnt; + typedef struct StdVideoDecodeH264PictureInfoFlags { - uint32_t field_pic_flag:1; // Is field picture - uint32_t is_intra:1; // Is intra picture - uint32_t bottom_field_flag:1; // bottom (true) or top (false) field if field_pic_flag is set. - uint32_t is_reference:1; // This only applies to picture info, and not to the DPB lists. - uint32_t complementary_field_pair:1; // complementary field pair, complementary non-reference field pair, complementary reference field pair + uint32_t field_pic_flag : 1; // Is field picture + uint32_t is_intra : 1; // Is intra picture + uint32_t bottom_field_flag : 1; // bottom (true) or top (false) field if field_pic_flag is set. + uint32_t is_reference : 1; // This only applies to picture info, and not to the DPB lists. + uint32_t complementary_field_pair : 1; // complementary field pair, complementary non-reference field pair, complementary reference field pair } StdVideoDecodeH264PictureInfoFlags; typedef struct StdVideoDecodeH264PictureInfo { @@ -32,15 +41,15 @@ typedef struct StdVideoDecodeH264PictureInfo { uint16_t frame_num; // 7.4.3 Slice header semantics uint16_t idr_pic_id; // 7.4.3 Slice header semantics // PicOrderCnt is based on TopFieldOrderCnt and BottomFieldOrderCnt. See 8.2.1 Decoding process for picture order count type 0 - 2 - int32_t PicOrderCnt[2]; // TopFieldOrderCnt and BottomFieldOrderCnt fields. + int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]; // TopFieldOrderCnt and BottomFieldOrderCnt fields. StdVideoDecodeH264PictureInfoFlags flags; } StdVideoDecodeH264PictureInfo; typedef struct StdVideoDecodeH264ReferenceInfoFlags { - uint32_t top_field_flag:1; // Reference is used for top field reference. - uint32_t bottom_field_flag:1; // Reference is used for bottom field reference. - uint32_t is_long_term:1; // this is a long term reference - uint32_t is_non_existing:1; // Must be handled in accordance with 8.2.5.2: Decoding process for gaps in frame_num + uint32_t top_field_flag : 1; // Reference is used for top field reference. + uint32_t bottom_field_flag : 1; // Reference is used for bottom field reference. + uint32_t is_long_term : 1; // this is a long term reference + uint32_t is_non_existing : 1; // Must be handled in accordance with 8.2.5.2: Decoding process for gaps in frame_num } StdVideoDecodeH264ReferenceInfoFlags; typedef struct StdVideoDecodeH264ReferenceInfo { @@ -52,9 +61,9 @@ typedef struct StdVideoDecodeH264ReferenceInfo { } StdVideoDecodeH264ReferenceInfo; typedef struct StdVideoDecodeH264MvcElementFlags { - uint32_t non_idr:1; - uint32_t anchor_pic:1; - uint32_t inter_view:1; + uint32_t non_idr : 1; + uint32_t anchor_pic : 1; + uint32_t inter_view : 1; } StdVideoDecodeH264MvcElementFlags; typedef struct StdVideoDecodeH264MvcElement { @@ -64,13 +73,13 @@ typedef struct StdVideoDecodeH264MvcElement { uint16_t temporalId; // move out? uint16_t priorityId; // move out? uint16_t numOfAnchorRefsInL0; - uint16_t viewIdOfAnchorRefsInL0[15]; + uint16_t viewIdOfAnchorRefsInL0[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE]; uint16_t numOfAnchorRefsInL1; - uint16_t viewIdOfAnchorRefsInL1[15]; + uint16_t viewIdOfAnchorRefsInL1[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE]; uint16_t numOfNonAnchorRefsInL0; - uint16_t viewIdOfNonAnchorRefsInL0[15]; + uint16_t viewIdOfNonAnchorRefsInL0[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE]; uint16_t numOfNonAnchorRefsInL1; - uint16_t viewIdOfNonAnchorRefsInL1[15]; + uint16_t viewIdOfNonAnchorRefsInL1[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE]; } StdVideoDecodeH264MvcElement; typedef struct StdVideoDecodeH264Mvc { diff --git a/include/vk_video/vulkan_video_codec_h264std_encode.h b/include/vk_video/vulkan_video_codec_h264std_encode.h index 7184562..f3a0d3a 100644 --- a/include/vk_video/vulkan_video_codec_h264std_encode.h +++ b/include/vk_video/vulkan_video_codec_h264std_encode.h @@ -18,24 +18,24 @@ extern "C" { // ************************************************* typedef struct StdVideoEncodeH264SliceHeaderFlags { - uint32_t idr_flag:1; - uint32_t is_reference_flag:1; - uint32_t num_ref_idx_active_override_flag:1; - uint32_t no_output_of_prior_pics_flag:1; - uint32_t long_term_reference_flag:1; - uint32_t adaptive_ref_pic_marking_mode_flag:1; - uint32_t no_prior_references_available_flag:1; + uint32_t idr_flag : 1; + uint32_t is_reference_flag : 1; + uint32_t num_ref_idx_active_override_flag : 1; + uint32_t no_output_of_prior_pics_flag : 1; + uint32_t long_term_reference_flag : 1; + uint32_t adaptive_ref_pic_marking_mode_flag : 1; + uint32_t no_prior_references_available_flag : 1; } StdVideoEncodeH264SliceHeaderFlags; typedef struct StdVideoEncodeH264PictureInfoFlags { - uint32_t idr_flag:1; - uint32_t is_reference_flag:1; - uint32_t long_term_reference_flag:1; + uint32_t idr_flag : 1; + uint32_t is_reference_flag : 1; + uint32_t long_term_reference_flag : 1; } StdVideoEncodeH264PictureInfoFlags; typedef struct StdVideoEncodeH264RefMgmtFlags { - uint32_t ref_pic_list_modification_l0_flag:1; - uint32_t ref_pic_list_modification_l1_flag:1; + uint32_t ref_pic_list_modification_l0_flag : 1; + uint32_t ref_pic_list_modification_l1_flag : 1; } StdVideoEncodeH264RefMgmtFlags; typedef struct StdVideoEncodeH264RefListModEntry { diff --git a/include/vk_video/vulkan_video_codec_h265std.h b/include/vk_video/vulkan_video_codec_h265std.h index 225b590..179c6b7 100644 --- a/include/vk_video/vulkan_video_codec_h265std.h +++ b/include/vk_video/vulkan_video_codec_h265std.h @@ -14,72 +14,89 @@ extern "C" { #include "vk_video/vulkan_video_codecs_common.h" // Vulkan 0.5 version number WIP -#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 +#define VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_9_5 VK_MAKE_VIDEO_STD_VERSION(0, 9, 5) // Patch version should always be set to 0 // Format must be in the form XX.XX where the first two digits are the major and the second two, the minor. -#define VK_STD_VULKAN_VIDEO_CODEC_H265_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_5 +#define VK_STD_VULKAN_VIDEO_CODEC_H265_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_9_5 #define VK_STD_VULKAN_VIDEO_CODEC_H265_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265" +#define STD_VIDEO_H265_CPB_CNT_LIST_SIZE 32 +#define STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE 7 +#define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS 6 +#define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS 16 +#define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS 6 +#define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS 64 +#define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS 6 +#define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS 64 +#define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS 2 +#define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS 64 +#define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6 +#define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE 19 +#define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE 21 +#define STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE 3 +#define STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE 128 + typedef enum StdVideoH265ChromaFormatIdc { - std_video_h265_chroma_format_idc_monochrome = 0, - std_video_h265_chroma_format_idc_420 = 1, - std_video_h265_chroma_format_idc_422 = 2, - std_video_h265_chroma_format_idc_444 = 3, + STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME = 0, + STD_VIDEO_H265_CHROMA_FORMAT_IDC_420 = 1, + STD_VIDEO_H265_CHROMA_FORMAT_IDC_422 = 2, + STD_VIDEO_H265_CHROMA_FORMAT_IDC_444 = 3, + STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF } StdVideoH265ChromaFormatIdc; typedef enum StdVideoH265ProfileIdc { - std_video_h265_profile_idc_main = 1, - std_video_h265_profile_idc_main_10 = 2, - std_video_h265_profile_idc_main_still_picture = 3, - std_video_h265_profile_idc_format_range_extensions = 4, - std_video_h265_profile_idc_scc_extensions = 9, - std_video_h265_profile_idc_invalid = 0x7FFFFFFF + STD_VIDEO_H265_PROFILE_IDC_MAIN = 1, + STD_VIDEO_H265_PROFILE_IDC_MAIN_10 = 2, + STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE = 3, + STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS = 4, + STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS = 9, + STD_VIDEO_H265_PROFILE_IDC_INVALID = 0x7FFFFFFF } StdVideoH265ProfileIdc; typedef enum StdVideoH265Level { - std_video_h265_level_1_0 = 0, - std_video_h265_level_2_0 = 1, - std_video_h265_level_2_1 = 2, - std_video_h265_level_3_0 = 3, - std_video_h265_level_3_1 = 4, - std_video_h265_level_4_0 = 5, - std_video_h265_level_4_1 = 6, - std_video_h265_level_5_0 = 7, - std_video_h265_level_5_1 = 8, - std_video_h265_level_5_2 = 9, - std_video_h265_level_6_0 = 10, - std_video_h265_level_6_1 = 11, - std_video_h265_level_6_2 = 12, - std_video_h265_level_invalid = 0x7FFFFFFF + STD_VIDEO_H265_LEVEL_1_0 = 0, + STD_VIDEO_H265_LEVEL_2_0 = 1, + STD_VIDEO_H265_LEVEL_2_1 = 2, + STD_VIDEO_H265_LEVEL_3_0 = 3, + STD_VIDEO_H265_LEVEL_3_1 = 4, + STD_VIDEO_H265_LEVEL_4_0 = 5, + STD_VIDEO_H265_LEVEL_4_1 = 6, + STD_VIDEO_H265_LEVEL_5_0 = 7, + STD_VIDEO_H265_LEVEL_5_1 = 8, + STD_VIDEO_H265_LEVEL_5_2 = 9, + STD_VIDEO_H265_LEVEL_6_0 = 10, + STD_VIDEO_H265_LEVEL_6_1 = 11, + STD_VIDEO_H265_LEVEL_6_2 = 12, + STD_VIDEO_H265_LEVEL_INVALID = 0x7FFFFFFF } StdVideoH265Level; typedef enum StdVideoH265SliceType { - std_video_h265_slice_type_b = 0, - std_video_h265_slice_type_p = 1, - std_video_h265_slice_type_i = 2, - std_video_h265_slice_type_invalid = 0x7FFFFFFF + STD_VIDEO_H265_SLICE_TYPE_B = 0, + STD_VIDEO_H265_SLICE_TYPE_P = 1, + STD_VIDEO_H265_SLICE_TYPE_I = 2, + STD_VIDEO_H265_SLICE_TYPE_INVALID = 0x7FFFFFFF } StdVideoH265SliceType; typedef enum StdVideoH265PictureType { - std_video_h265_picture_type_i = 0, - std_video_h265_picture_type_p = 1, - std_video_h265_picture_type_b = 2, - std_video_h265_picture_type_idr = 3, - std_video_h265_picture_type_invalid = 0x7FFFFFFF + STD_VIDEO_H265_PICTURE_TYPE_P = 0, + STD_VIDEO_H265_PICTURE_TYPE_B = 1, + STD_VIDEO_H265_PICTURE_TYPE_I = 2, + STD_VIDEO_H265_PICTURE_TYPE_IDR = 3, + STD_VIDEO_H265_PICTURE_TYPE_INVALID = 0x7FFFFFFF } StdVideoH265PictureType; typedef struct StdVideoH265DecPicBufMgr { - uint32_t max_latency_increase_plus1[7]; - uint8_t max_dec_pic_buffering_minus1[7]; - uint8_t max_num_reorder_pics[7]; + uint32_t max_latency_increase_plus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; + uint8_t max_dec_pic_buffering_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; + uint8_t max_num_reorder_pics[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; } StdVideoH265DecPicBufMgr; -typedef struct StdVideoH265SubLayerHrdParameters { - uint32_t bit_rate_value_minus1[32]; - uint32_t cpb_size_value_minus1[32]; - uint32_t cpb_size_du_value_minus1[32]; - uint32_t bit_rate_du_value_minus1[32]; +typedef struct StdVideoH265SubLayerHrdParameters { // sub_layer_hrd_parameters + uint32_t bit_rate_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; + uint32_t cpb_size_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; + uint32_t cpb_size_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; + uint32_t bit_rate_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; uint32_t cbr_flag; // each bit represents a range of CpbCounts (bit 0 - cpb_cnt_minus1) per sub-layer } StdVideoH265SubLayerHrdParameters; @@ -88,9 +105,9 @@ typedef struct StdVideoH265HrdFlags { uint32_t vcl_hrd_parameters_present_flag : 1; uint32_t sub_pic_hrd_params_present_flag : 1; uint32_t sub_pic_cpb_params_in_pic_timing_sei_flag : 1; - uint8_t fixed_pic_rate_general_flag; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1 - uint8_t fixed_pic_rate_within_cvs_flag; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1 - uint8_t low_delay_hrd_flag; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1 + uint32_t fixed_pic_rate_general_flag : 8; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1 + uint32_t fixed_pic_rate_within_cvs_flag : 8; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1 + uint32_t low_delay_hrd_flag : 8; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1 } StdVideoH265HrdFlags; typedef struct StdVideoH265HrdParameters { @@ -103,10 +120,10 @@ typedef struct StdVideoH265HrdParameters { uint8_t initial_cpb_removal_delay_length_minus1; uint8_t au_cpb_removal_delay_length_minus1; uint8_t dpb_output_delay_length_minus1; - uint8_t cpb_cnt_minus1[7]; - uint16_t elemental_duration_in_tc_minus1[7]; - StdVideoH265SubLayerHrdParameters* SubLayerHrdParametersNal[7]; - StdVideoH265SubLayerHrdParameters* SubLayerHrdParametersVcl[7]; + uint8_t cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; + uint16_t elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; + StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersNal[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; // NAL per layer ptr to sub_layer_hrd_parameters + StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersVcl[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; // VCL per layer ptr to sub_layer_hrd_parameters StdVideoH265HrdFlags flags; } StdVideoH265HrdParameters; @@ -125,18 +142,18 @@ typedef struct StdVideoH265VideoParameterSet uint32_t vps_time_scale; uint32_t vps_num_ticks_poc_diff_one_minus1; StdVideoH265DecPicBufMgr* pDecPicBufMgr; - StdVideoH265HrdParameters* hrd_parameters; + StdVideoH265HrdParameters* pHrdParameters; StdVideoH265VpsFlags flags; } StdVideoH265VideoParameterSet; typedef struct StdVideoH265ScalingLists { - uint8_t ScalingList4x4[6][16]; // ScalingList[ 0 ][ MatrixID ][ i ] (sizeID = 0) - uint8_t ScalingList8x8[6][64]; // ScalingList[ 1 ][ MatrixID ][ i ] (sizeID = 1) - uint8_t ScalingList16x16[6][64]; // ScalingList[ 2 ][ MatrixID ][ i ] (sizeID = 2) - uint8_t ScalingList32x32[2][64]; // ScalingList[ 3 ][ MatrixID ][ i ] (sizeID = 3) - uint8_t ScalingListDCCoef16x16[6]; // scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8, sizeID = 2 - uint8_t ScalingListDCCoef32x32[2]; // scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8. sizeID = 3 + uint8_t ScalingList4x4[STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS]; // ScalingList[ 0 ][ MatrixID ][ i ] (sizeID = 0) + uint8_t ScalingList8x8[STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS]; // ScalingList[ 1 ][ MatrixID ][ i ] (sizeID = 1) + uint8_t ScalingList16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS]; // ScalingList[ 2 ][ MatrixID ][ i ] (sizeID = 2) + uint8_t ScalingList32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS]; // ScalingList[ 3 ][ MatrixID ][ i ] (sizeID = 3) + uint8_t ScalingListDCCoef16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS]; // scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8, sizeID = 2 + uint8_t ScalingListDCCoef32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS]; // scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8. sizeID = 3 } StdVideoH265ScalingLists; typedef struct StdVideoH265SpsVuiFlags { @@ -177,7 +194,7 @@ typedef struct StdVideoH265SequenceParameterSetVui { uint32_t vui_num_units_in_tick; uint32_t vui_time_scale; uint32_t vui_num_ticks_poc_diff_one_minus1; - StdVideoH265HrdParameters* hrd_parameters; + StdVideoH265HrdParameters* pHrdParameters; uint16_t min_spatial_segmentation_idc; uint8_t max_bytes_per_pic_denom; uint8_t max_bits_per_min_cu_denom; @@ -188,10 +205,9 @@ typedef struct StdVideoH265SequenceParameterSetVui { typedef struct StdVideoH265PredictorPaletteEntries { - uint16_t PredictorPaletteEntries[3][128]; + uint16_t PredictorPaletteEntries[STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE][STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE]; } StdVideoH265PredictorPaletteEntries; - typedef struct StdVideoH265SpsFlags { uint32_t sps_temporal_id_nesting_flag : 1; uint32_t separate_colour_plane_flag : 1; @@ -208,7 +224,7 @@ typedef struct StdVideoH265SpsFlags { uint32_t sps_extension_present_flag : 1; uint32_t sps_range_extension_flag : 1; - // extension SPS flags, valid when std_video_h265_profile_idc_format_range_extensions is set + // extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set uint32_t transform_skip_rotation_enabled_flag : 1; uint32_t transform_skip_context_enabled_flag : 1; uint32_t implicit_rdpcm_enabled_flag : 1; @@ -219,7 +235,7 @@ typedef struct StdVideoH265SpsFlags { uint32_t persistent_rice_adaptation_enabled_flag : 1; uint32_t cabac_bypass_alignment_enabled_flag : 1; - // extension SPS flags, valid when std_video_h265_profile_idc_scc_extensions is set + // extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set uint32_t sps_curr_pic_ref_enabled_flag : 1; uint32_t palette_mode_enabled_flag : 1; uint32_t sps_palette_predictor_initializer_present_flag : 1; @@ -261,7 +277,7 @@ typedef struct StdVideoH265SequenceParameterSet StdVideoH265ScalingLists* pScalingLists; // Must be a valid pointer if sps_scaling_list_data_present_flag is set StdVideoH265SequenceParameterSetVui* pSequenceParameterSetVui; // Must be a valid pointer if StdVideoH265SpsFlags:vui_parameters_present_flag is set palette_max_size; - // extension SPS flags, valid when std_video_h265_profile_idc_scc_extensions is set + // extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set uint8_t palette_max_size; uint8_t delta_palette_max_predictor_size; uint8_t motion_vector_resolution_control_idc; @@ -295,11 +311,11 @@ typedef struct StdVideoH265PpsFlags { uint32_t slice_segment_header_extension_present_flag : 1; uint32_t pps_extension_present_flag : 1; - // extension PPS flags, valid when std_video_h265_profile_idc_format_range_extensions is set + // extension PPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set uint32_t cross_component_prediction_enabled_flag : 1; uint32_t chroma_qp_offset_list_enabled_flag : 1; - // extension PPS flags, valid when std_video_h265_profile_idc_scc_extensions is set + // extension PPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set uint32_t pps_curr_pic_ref_enabled_flag : 1; uint32_t residual_adaptive_colour_transform_enabled_flag : 1; uint32_t pps_slice_act_qp_offsets_present_flag : 1; @@ -321,24 +337,24 @@ typedef struct StdVideoH265PictureParameterSet int8_t pps_cr_qp_offset; uint8_t num_tile_columns_minus1; uint8_t num_tile_rows_minus1; - uint16_t column_width_minus1[19]; - uint16_t row_height_minus1[21]; + uint16_t column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE]; + uint16_t row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE]; int8_t pps_beta_offset_div2; int8_t pps_tc_offset_div2; uint8_t log2_parallel_merge_level_minus2; StdVideoH265PpsFlags flags; StdVideoH265ScalingLists* pScalingLists; // Must be a valid pointer if pps_scaling_list_data_present_flag is set - // extension PPS, valid when std_video_h265_profile_idc_format_range_extensions is set + // extension PPS, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set uint8_t log2_max_transform_skip_block_size_minus2; uint8_t diff_cu_chroma_qp_offset_depth; uint8_t chroma_qp_offset_list_len_minus1; - int8_t cb_qp_offset_list[6]; - int8_t cr_qp_offset_list[6]; + int8_t cb_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]; + int8_t cr_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]; uint8_t log2_sao_offset_scale_luma; uint8_t log2_sao_offset_scale_chroma; - // extension PPS, valid when std_video_h265_profile_idc_scc_extensions is set + // extension PPS, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set int8_t pps_act_y_qp_offset_plus5; int8_t pps_act_cb_qp_offset_plus5; int8_t pps_act_cr_qp_offset_plus5; diff --git a/include/vk_video/vulkan_video_codec_h265std_decode.h b/include/vk_video/vulkan_video_codec_h265std_decode.h index 4be8b5f..a1efa05 100644 --- a/include/vk_video/vulkan_video_codec_h265std_decode.h +++ b/include/vk_video/vulkan_video_codec_h265std_decode.h @@ -17,6 +17,8 @@ extern "C" { // Video h265 Decode related parameters: // ************************************************* +#define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8 + typedef struct StdVideoDecodeH265PictureInfoFlags { uint32_t IrapPicFlag : 1; uint32_t IdrPicFlag : 1; @@ -33,11 +35,14 @@ typedef struct StdVideoDecodeH265PictureInfo { uint16_t NumBitsForSTRefPicSetInSlice; // number of bits used in st_ref_pic_set() //when short_term_ref_pic_set_sps_flag is 0; otherwise set to 0. uint8_t NumDeltaPocsOfRefRpsIdx; // NumDeltaPocs[ RefRpsIdx ] when short_term_ref_pic_set_sps_flag = 1, otherwise 0 - uint8_t RefPicSetStCurrBefore[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing + uint8_t RefPicSetStCurrBefore[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; // slotIndex as used in + // VkVideoReferenceSlotKHR structures representing //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex - uint8_t RefPicSetStCurrAfter[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing + uint8_t RefPicSetStCurrAfter[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; // slotIndex as used in + // VkVideoReferenceSlotKHR structures representing //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex - uint8_t RefPicSetLtCurr[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing + uint8_t RefPicSetLtCurr[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; // slotIndex as used in + // VkVideoReferenceSlotKHR structures representing //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex StdVideoDecodeH265PictureInfoFlags flags; } StdVideoDecodeH265PictureInfo; diff --git a/include/vk_video/vulkan_video_codec_h265std_encode.h b/include/vk_video/vulkan_video_codec_h265std_encode.h index e560b1e..ffffef2 100644 --- a/include/vk_video/vulkan_video_codec_h265std_encode.h +++ b/include/vk_video/vulkan_video_codec_h265std_encode.h @@ -17,6 +17,10 @@ extern "C" { // Video h265 Encode related parameters: // ************************************************* +#define STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE 15 +#define STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE 15 +#define STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM 2 + typedef struct StdVideoEncodeH265SliceHeaderFlags { uint32_t first_slice_segment_in_pic_flag : 1; uint32_t no_output_of_prior_pics_flag : 1; @@ -32,6 +36,7 @@ typedef struct StdVideoEncodeH265SliceHeaderFlags { uint32_t collocated_from_l0_flag : 1; uint32_t slice_loop_filter_across_slices_enabled_flag : 1; uint32_t bLastSliceInPic : 1; + uint32_t reservedBits : 18; uint16_t luma_weight_l0_flag; // bit 0 - num_ref_idx_l0_active_minus1 uint16_t chroma_weight_l0_flag; // bit 0 - num_ref_idx_l0_active_minus1 uint16_t luma_weight_l1_flag; // bit 0 - num_ref_idx_l1_active_minus1 @@ -51,14 +56,14 @@ typedef struct StdVideoEncodeH265SliceHeader { uint8_t num_ref_idx_l1_active_minus1; // [0, 14] uint8_t luma_log2_weight_denom; // [0, 7] int8_t delta_chroma_log2_weight_denom; - int8_t delta_luma_weight_l0[15]; - int8_t luma_offset_l0[15]; - int8_t delta_chroma_weight_l0[15][2]; - int8_t delta_chroma_offset_l0[15][2]; - int8_t delta_luma_weight_l1[15]; - int8_t luma_offset_l1[15]; - int8_t delta_chroma_weight_l1[15][2]; - int8_t delta_chroma_offset_l1[15][2]; + int8_t delta_luma_weight_l0[STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE]; + int8_t luma_offset_l0[STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE]; + int8_t delta_chroma_weight_l0[STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE][STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM]; + int8_t delta_chroma_offset_l0[STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE][STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM]; + int8_t delta_luma_weight_l1[STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE]; + int8_t luma_offset_l1[STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE]; + int8_t delta_chroma_weight_l1[STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE][STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM]; + int8_t delta_chroma_offset_l1[STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE][STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM]; uint8_t MaxNumMergeCand; int8_t slice_qp_delta; int8_t slice_cb_qp_offset; // [-12, 12] diff --git a/include/vulkan/vulkan.hpp b/include/vulkan/vulkan.hpp index ee5e7d6..2688e79 100644 --- a/include/vulkan/vulkan.hpp +++ b/include/vulkan/vulkan.hpp @@ -119,7 +119,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h # include <span> #endif -static_assert( VK_HEADER_VERSION == 196, "Wrong VK_HEADER_VERSION!" ); +static_assert( VK_HEADER_VERSION == 197, "Wrong VK_HEADER_VERSION!" ); // 32-bit vulkan is not typesafe for handles, so don't allow copy constructors on this platform by default. // To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION @@ -3413,6 +3413,19 @@ namespace VULKAN_HPP_NAMESPACE return ::vkGetShaderInfoAMD( device, pipeline, shaderStage, infoType, pInfoSize, pInfo ); } + //=== VK_KHR_dynamic_rendering === + + void vkCmdBeginRenderingKHR( VkCommandBuffer commandBuffer, + const VkRenderingInfoKHR * pRenderingInfo ) const VULKAN_HPP_NOEXCEPT + { + return ::vkCmdBeginRenderingKHR( commandBuffer, pRenderingInfo ); + } + + void vkCmdEndRenderingKHR( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT + { + return ::vkCmdEndRenderingKHR( commandBuffer ); + } + # if defined( VK_USE_PLATFORM_GGP ) //=== VK_GGP_stream_descriptor_surface === @@ -6297,42 +6310,45 @@ namespace VULKAN_HPP_NAMESPACE }; # endif /*VK_USE_PLATFORM_WIN32_KHR*/ - [[noreturn]] static void throwResultException( Result result, char const * message ) - { - switch ( result ) - { - case Result::eErrorOutOfHostMemory: throw OutOfHostMemoryError( message ); - case Result::eErrorOutOfDeviceMemory: throw OutOfDeviceMemoryError( message ); - case Result::eErrorInitializationFailed: throw InitializationFailedError( message ); - case Result::eErrorDeviceLost: throw DeviceLostError( message ); - case Result::eErrorMemoryMapFailed: throw MemoryMapFailedError( message ); - case Result::eErrorLayerNotPresent: throw LayerNotPresentError( message ); - case Result::eErrorExtensionNotPresent: throw ExtensionNotPresentError( message ); - case Result::eErrorFeatureNotPresent: throw FeatureNotPresentError( message ); - case Result::eErrorIncompatibleDriver: throw IncompatibleDriverError( message ); - case Result::eErrorTooManyObjects: throw TooManyObjectsError( message ); - case Result::eErrorFormatNotSupported: throw FormatNotSupportedError( message ); - case Result::eErrorFragmentedPool: throw FragmentedPoolError( message ); - case Result::eErrorUnknown: throw UnknownError( message ); - case Result::eErrorOutOfPoolMemory: throw OutOfPoolMemoryError( message ); - case Result::eErrorInvalidExternalHandle: throw InvalidExternalHandleError( message ); - case Result::eErrorFragmentation: throw FragmentationError( message ); - case Result::eErrorInvalidOpaqueCaptureAddress: throw InvalidOpaqueCaptureAddressError( message ); - case Result::eErrorSurfaceLostKHR: throw SurfaceLostKHRError( message ); - case Result::eErrorNativeWindowInUseKHR: throw NativeWindowInUseKHRError( message ); - case Result::eErrorOutOfDateKHR: throw OutOfDateKHRError( message ); - case Result::eErrorIncompatibleDisplayKHR: throw IncompatibleDisplayKHRError( message ); - case Result::eErrorValidationFailedEXT: throw ValidationFailedEXTError( message ); - case Result::eErrorInvalidShaderNV: throw InvalidShaderNVError( message ); - case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT: - throw InvalidDrmFormatModifierPlaneLayoutEXTError( message ); - case Result::eErrorNotPermittedEXT: throw NotPermittedEXTError( message ); + namespace + { + [[noreturn]] void throwResultException( Result result, char const * message ) + { + switch ( result ) + { + case Result::eErrorOutOfHostMemory: throw OutOfHostMemoryError( message ); + case Result::eErrorOutOfDeviceMemory: throw OutOfDeviceMemoryError( message ); + case Result::eErrorInitializationFailed: throw InitializationFailedError( message ); + case Result::eErrorDeviceLost: throw DeviceLostError( message ); + case Result::eErrorMemoryMapFailed: throw MemoryMapFailedError( message ); + case Result::eErrorLayerNotPresent: throw LayerNotPresentError( message ); + case Result::eErrorExtensionNotPresent: throw ExtensionNotPresentError( message ); + case Result::eErrorFeatureNotPresent: throw FeatureNotPresentError( message ); + case Result::eErrorIncompatibleDriver: throw IncompatibleDriverError( message ); + case Result::eErrorTooManyObjects: throw TooManyObjectsError( message ); + case Result::eErrorFormatNotSupported: throw FormatNotSupportedError( message ); + case Result::eErrorFragmentedPool: throw FragmentedPoolError( message ); + case Result::eErrorUnknown: throw UnknownError( message ); + case Result::eErrorOutOfPoolMemory: throw OutOfPoolMemoryError( message ); + case Result::eErrorInvalidExternalHandle: throw InvalidExternalHandleError( message ); + case Result::eErrorFragmentation: throw FragmentationError( message ); + case Result::eErrorInvalidOpaqueCaptureAddress: throw InvalidOpaqueCaptureAddressError( message ); + case Result::eErrorSurfaceLostKHR: throw SurfaceLostKHRError( message ); + case Result::eErrorNativeWindowInUseKHR: throw NativeWindowInUseKHRError( message ); + case Result::eErrorOutOfDateKHR: throw OutOfDateKHRError( message ); + case Result::eErrorIncompatibleDisplayKHR: throw IncompatibleDisplayKHRError( message ); + case Result::eErrorValidationFailedEXT: throw ValidationFailedEXTError( message ); + case Result::eErrorInvalidShaderNV: throw InvalidShaderNVError( message ); + case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT: + throw InvalidDrmFormatModifierPlaneLayoutEXTError( message ); + case Result::eErrorNotPermittedEXT: throw NotPermittedEXTError( message ); # if defined( VK_USE_PLATFORM_WIN32_KHR ) - case Result::eErrorFullScreenExclusiveModeLostEXT: throw FullScreenExclusiveModeLostEXTError( message ); + case Result::eErrorFullScreenExclusiveModeLostEXT: throw FullScreenExclusiveModeLostEXTError( message ); # endif /*VK_USE_PLATFORM_WIN32_KHR*/ - default: throw SystemError( make_error_code( result ) ); + default: throw SystemError( make_error_code( result ) ); + } } - } + } // namespace #endif template <typename T> @@ -6698,6 +6714,14 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> + struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderingInfoKHR> + { + enum + { + value = true + }; + }; + template <> struct StructExtends<DeviceGroupCommandBufferBeginInfo, CommandBufferBeginInfo> { enum @@ -7742,6 +7766,46 @@ namespace VULKAN_HPP_NAMESPACE value = true }; }; + template <> + struct StructExtends<VideoEncodeH264ProfileEXT, QueryPoolCreateInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<VideoEncodeH264ProfileEXT, FormatProperties2> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<VideoEncodeH264ProfileEXT, ImageCreateInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<VideoEncodeH264ProfileEXT, ImageViewCreateInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<VideoEncodeH264ProfileEXT, BufferCreateInfo> + { + enum + { + value = true + }; + }; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ #if defined( VK_ENABLE_BETA_EXTENSIONS ) @@ -7802,6 +7866,46 @@ namespace VULKAN_HPP_NAMESPACE value = true }; }; + template <> + struct StructExtends<VideoEncodeH265ProfileEXT, QueryPoolCreateInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<VideoEncodeH265ProfileEXT, FormatProperties2> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<VideoEncodeH265ProfileEXT, ImageCreateInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<VideoEncodeH265ProfileEXT, ImageViewCreateInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<VideoEncodeH265ProfileEXT, BufferCreateInfo> + { + enum + { + value = true + }; + }; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ #if defined( VK_ENABLE_BETA_EXTENSIONS ) @@ -7815,6 +7919,46 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> + struct StructExtends<VideoDecodeH264ProfileEXT, QueryPoolCreateInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<VideoDecodeH264ProfileEXT, FormatProperties2> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<VideoDecodeH264ProfileEXT, ImageCreateInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<VideoDecodeH264ProfileEXT, ImageViewCreateInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<VideoDecodeH264ProfileEXT, BufferCreateInfo> + { + enum + { + value = true + }; + }; + template <> struct StructExtends<VideoDecodeH264CapabilitiesEXT, VideoCapabilitiesKHR> { enum @@ -7882,6 +8026,96 @@ namespace VULKAN_HPP_NAMESPACE }; }; + //=== VK_KHR_dynamic_rendering === + template <> + struct StructExtends<PipelineRenderingCreateInfoKHR, GraphicsPipelineCreateInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<PhysicalDeviceDynamicRenderingFeaturesKHR, PhysicalDeviceFeatures2> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<PhysicalDeviceDynamicRenderingFeaturesKHR, DeviceCreateInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<CommandBufferInheritanceRenderingInfoKHR, CommandBufferInheritanceInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<RenderingFragmentShadingRateAttachmentInfoKHR, RenderingInfoKHR> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<RenderingFragmentDensityMapAttachmentInfoEXT, RenderingInfoKHR> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<AttachmentSampleCountInfoAMD, CommandBufferInheritanceInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<AttachmentSampleCountInfoAMD, GraphicsPipelineCreateInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<MultiviewPerViewAttributesInfoNVX, CommandBufferInheritanceInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<MultiviewPerViewAttributesInfoNVX, GraphicsPipelineCreateInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<MultiviewPerViewAttributesInfoNVX, RenderingInfoKHR> + { + enum + { + value = true + }; + }; + //=== VK_NV_corner_sampled_image === template <> struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, PhysicalDeviceFeatures2> @@ -8841,6 +9075,46 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> + struct StructExtends<VideoDecodeH265ProfileEXT, QueryPoolCreateInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<VideoDecodeH265ProfileEXT, FormatProperties2> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<VideoDecodeH265ProfileEXT, ImageCreateInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<VideoDecodeH265ProfileEXT, ImageViewCreateInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<VideoDecodeH265ProfileEXT, BufferCreateInfo> + { + enum + { + value = true + }; + }; + template <> struct StructExtends<VideoDecodeH265CapabilitiesEXT, VideoCapabilitiesKHR> { enum @@ -11207,6 +11481,10 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_AMD_shader_info === PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD = 0; + //=== VK_KHR_dynamic_rendering === + PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR = 0; + PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR = 0; + #if defined( VK_USE_PLATFORM_GGP ) //=== VK_GGP_stream_descriptor_surface === PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP = 0; @@ -11861,10 +12139,9 @@ namespace VULKAN_HPP_NAMESPACE vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties" ) ); vkGetPhysicalDeviceMemoryProperties = PFN_vkGetPhysicalDeviceMemoryProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties" ) ); - vkGetInstanceProcAddr = PFN_vkGetInstanceProcAddr( vkGetInstanceProcAddr( instance, "vkGetInstanceProcAddr" ) ); - vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr( vkGetInstanceProcAddr( instance, "vkGetDeviceProcAddr" ) ); - vkCreateDevice = PFN_vkCreateDevice( vkGetInstanceProcAddr( instance, "vkCreateDevice" ) ); - vkDestroyDevice = PFN_vkDestroyDevice( vkGetInstanceProcAddr( instance, "vkDestroyDevice" ) ); + vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr( vkGetInstanceProcAddr( instance, "vkGetDeviceProcAddr" ) ); + vkCreateDevice = PFN_vkCreateDevice( vkGetInstanceProcAddr( instance, "vkCreateDevice" ) ); + vkDestroyDevice = PFN_vkDestroyDevice( vkGetInstanceProcAddr( instance, "vkDestroyDevice" ) ); vkEnumerateDeviceExtensionProperties = PFN_vkEnumerateDeviceExtensionProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceExtensionProperties" ) ); vkEnumerateDeviceLayerProperties = @@ -12273,6 +12550,11 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_AMD_shader_info === vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetInstanceProcAddr( instance, "vkGetShaderInfoAMD" ) ); + //=== VK_KHR_dynamic_rendering === + vkCmdBeginRenderingKHR = + PFN_vkCmdBeginRenderingKHR( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderingKHR" ) ); + vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetInstanceProcAddr( instance, "vkCmdEndRenderingKHR" ) ); + #if defined( VK_USE_PLATFORM_GGP ) //=== VK_GGP_stream_descriptor_surface === vkCreateStreamDescriptorSurfaceGGP = PFN_vkCreateStreamDescriptorSurfaceGGP( @@ -13353,6 +13635,10 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_AMD_shader_info === vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetDeviceProcAddr( device, "vkGetShaderInfoAMD" ) ); + //=== VK_KHR_dynamic_rendering === + vkCmdBeginRenderingKHR = PFN_vkCmdBeginRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderingKHR" ) ); + vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderingKHR" ) ); + #if defined( VK_USE_PLATFORM_WIN32_KHR ) //=== VK_NV_external_memory_win32 === vkGetMemoryWin32HandleNV = diff --git a/include/vulkan/vulkan_beta.h b/include/vulkan/vulkan_beta.h index 655b0eb..d2f34d1 100644 --- a/include/vulkan/vulkan_beta.h +++ b/include/vulkan/vulkan_beta.h @@ -572,19 +572,6 @@ typedef struct VkVideoEncodeH264ProfileEXT { #include "vk_video/vulkan_video_codec_h265std_encode.h" #define VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION 2 #define VK_EXT_VIDEO_ENCODE_H265_EXTENSION_NAME "VK_EXT_video_encode_h265" - -typedef enum VkVideoEncodeH265CapabilityFlagBitsEXT { - VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT = 0x00000001, - VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_8X8_BIT_EXT = 0x00000002, - VK_VIDEO_ENCODE_H265_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT = 0x00000004, - VK_VIDEO_ENCODE_H265_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT = 0x00000008, - VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT = 0x00000010, - VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT = 0x00000020, - VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT = 0x00000040, - VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT = 0x00000080, - VK_VIDEO_ENCODE_H265_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT = 0x00000100, - VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF -} VkVideoEncodeH265CapabilityFlagBitsEXT; typedef VkFlags VkVideoEncodeH265CapabilityFlagsEXT; typedef enum VkVideoEncodeH265InputModeFlagBitsEXT { diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h index 056deb6..a2f4e77 100644 --- a/include/vulkan/vulkan_core.h +++ b/include/vulkan/vulkan_core.h @@ -72,7 +72,7 @@ extern "C" { #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 196 +#define VK_HEADER_VERSION 197 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) @@ -514,6 +514,15 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007, #endif VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000, + VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = 1000044000, + VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = 1000044001, + VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = 1000044002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = 1000044003, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = 1000044004, + VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006, + VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007, + VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008, + VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009, VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000, VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000, @@ -900,6 +909,7 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, + VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD, VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, @@ -1768,8 +1778,9 @@ typedef enum VkAttachmentLoadOp { typedef enum VkAttachmentStoreOp { VK_ATTACHMENT_STORE_OP_STORE = 0, VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, - VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000, - VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE_EXT, + VK_ATTACHMENT_STORE_OP_NONE_KHR = 1000301000, + VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE_KHR, + VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE_KHR, VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF } VkAttachmentStoreOp; @@ -2203,6 +2214,8 @@ typedef enum VkPipelineCreateFlagBits { VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008, VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010, + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000, + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000, VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000, VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000, VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000, @@ -6486,6 +6499,116 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR( #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge" +#define VK_KHR_dynamic_rendering 1 +#define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1 +#define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering" + +typedef enum VkRenderingFlagBitsKHR { + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 0x00000001, + VK_RENDERING_SUSPENDING_BIT_KHR = 0x00000002, + VK_RENDERING_RESUMING_BIT_KHR = 0x00000004, + VK_RENDERING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF +} VkRenderingFlagBitsKHR; +typedef VkFlags VkRenderingFlagsKHR; +typedef struct VkRenderingAttachmentInfoKHR { + VkStructureType sType; + const void* pNext; + VkImageView imageView; + VkImageLayout imageLayout; + VkResolveModeFlagBits resolveMode; + VkImageView resolveImageView; + VkImageLayout resolveImageLayout; + VkAttachmentLoadOp loadOp; + VkAttachmentStoreOp storeOp; + VkClearValue clearValue; +} VkRenderingAttachmentInfoKHR; + +typedef struct VkRenderingInfoKHR { + VkStructureType sType; + const void* pNext; + VkRenderingFlagsKHR flags; + VkRect2D renderArea; + uint32_t layerCount; + uint32_t viewMask; + uint32_t colorAttachmentCount; + const VkRenderingAttachmentInfoKHR* pColorAttachments; + const VkRenderingAttachmentInfoKHR* pDepthAttachment; + const VkRenderingAttachmentInfoKHR* pStencilAttachment; +} VkRenderingInfoKHR; + +typedef struct VkPipelineRenderingCreateInfoKHR { + VkStructureType sType; + const void* pNext; + uint32_t viewMask; + uint32_t colorAttachmentCount; + const VkFormat* pColorAttachmentFormats; + VkFormat depthAttachmentFormat; + VkFormat stencilAttachmentFormat; +} VkPipelineRenderingCreateInfoKHR; + +typedef struct VkPhysicalDeviceDynamicRenderingFeaturesKHR { + VkStructureType sType; + void* pNext; + VkBool32 dynamicRendering; +} VkPhysicalDeviceDynamicRenderingFeaturesKHR; + +typedef struct VkCommandBufferInheritanceRenderingInfoKHR { + VkStructureType sType; + const void* pNext; + VkRenderingFlagsKHR flags; + uint32_t viewMask; + uint32_t colorAttachmentCount; + const VkFormat* pColorAttachmentFormats; + VkFormat depthAttachmentFormat; + VkFormat stencilAttachmentFormat; + VkSampleCountFlagBits rasterizationSamples; +} VkCommandBufferInheritanceRenderingInfoKHR; + +typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR { + VkStructureType sType; + const void* pNext; + VkImageView imageView; + VkImageLayout imageLayout; + VkExtent2D shadingRateAttachmentTexelSize; +} VkRenderingFragmentShadingRateAttachmentInfoKHR; + +typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT { + VkStructureType sType; + const void* pNext; + VkImageView imageView; + VkImageLayout imageLayout; +} VkRenderingFragmentDensityMapAttachmentInfoEXT; + +typedef struct VkAttachmentSampleCountInfoAMD { + VkStructureType sType; + const void* pNext; + uint32_t colorAttachmentCount; + const VkSampleCountFlagBits* pColorAttachmentSamples; + VkSampleCountFlagBits depthStencilAttachmentSamples; +} VkAttachmentSampleCountInfoAMD; + +typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV; + +typedef struct VkMultiviewPerViewAttributesInfoNVX { + VkStructureType sType; + const void* pNext; + VkBool32 perViewAttributes; + VkBool32 perViewAttributesPositionXOnly; +} VkMultiviewPerViewAttributesInfoNVX; + +typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo); +typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer); + +#ifndef VK_NO_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR( + VkCommandBuffer commandBuffer, + const VkRenderingInfoKHR* pRenderingInfo); + +VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR( + VkCommandBuffer commandBuffer); +#endif + + #define VK_KHR_multiview 1 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview" diff --git a/include/vulkan/vulkan_enums.hpp b/include/vulkan/vulkan_enums.hpp index 14cc263..c1ae1ba 100644 --- a/include/vulkan/vulkan_enums.hpp +++ b/include/vulkan/vulkan_enums.hpp @@ -398,7 +398,18 @@ namespace VULKAN_HPP_NAMESPACE eVideoDecodeH264SessionParametersAddInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT, eVideoDecodeH264DpbSlotInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT, #endif /*VK_ENABLE_BETA_EXTENSIONS*/ - eTextureLodGatherFormatPropertiesAMD = VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD, + eTextureLodGatherFormatPropertiesAMD = VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD, + eRenderingInfoKHR = VK_STRUCTURE_TYPE_RENDERING_INFO_KHR, + eRenderingAttachmentInfoKHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR, + ePipelineRenderingCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR, + ePhysicalDeviceDynamicRenderingFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR, + eCommandBufferInheritanceRenderingInfoKHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR, + eRenderingFragmentShadingRateAttachmentInfoKHR = + VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR, + eRenderingFragmentDensityMapAttachmentInfoEXT = + VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT, + eAttachmentSampleCountInfoAMD = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD, + eMultiviewPerViewAttributesInfoNVX = VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX, #if defined( VK_USE_PLATFORM_GGP ) eStreamDescriptorSurfaceCreateInfoGGP = VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP, #endif /*VK_USE_PLATFORM_GGP*/ @@ -882,6 +893,7 @@ namespace VULKAN_HPP_NAMESPACE eAttachmentDescriptionStencilLayoutKHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR, eAttachmentReference2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR, eAttachmentReferenceStencilLayoutKHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR, + eAttachmentSampleCountInfoNV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV, eBindBufferMemoryDeviceGroupInfoKHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR, eBindBufferMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR, eBindImageMemoryDeviceGroupInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR, @@ -1294,6 +1306,18 @@ namespace VULKAN_HPP_NAMESPACE case StructureType::eVideoDecodeH264DpbSlotInfoEXT: return "VideoDecodeH264DpbSlotInfoEXT"; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ case StructureType::eTextureLodGatherFormatPropertiesAMD: return "TextureLodGatherFormatPropertiesAMD"; + case StructureType::eRenderingInfoKHR: return "RenderingInfoKHR"; + case StructureType::eRenderingAttachmentInfoKHR: return "RenderingAttachmentInfoKHR"; + case StructureType::ePipelineRenderingCreateInfoKHR: return "PipelineRenderingCreateInfoKHR"; + case StructureType::ePhysicalDeviceDynamicRenderingFeaturesKHR: + return "PhysicalDeviceDynamicRenderingFeaturesKHR"; + case StructureType::eCommandBufferInheritanceRenderingInfoKHR: return "CommandBufferInheritanceRenderingInfoKHR"; + case StructureType::eRenderingFragmentShadingRateAttachmentInfoKHR: + return "RenderingFragmentShadingRateAttachmentInfoKHR"; + case StructureType::eRenderingFragmentDensityMapAttachmentInfoEXT: + return "RenderingFragmentDensityMapAttachmentInfoEXT"; + case StructureType::eAttachmentSampleCountInfoAMD: return "AttachmentSampleCountInfoAMD"; + case StructureType::eMultiviewPerViewAttributesInfoNVX: return "MultiviewPerViewAttributesInfoNVX"; #if defined( VK_USE_PLATFORM_GGP ) case StructureType::eStreamDescriptorSurfaceCreateInfoGGP: return "StreamDescriptorSurfaceCreateInfoGGP"; #endif /*VK_USE_PLATFORM_GGP*/ @@ -3891,11 +3915,15 @@ namespace VULKAN_HPP_NAMESPACE enum class PipelineCreateFlagBits : VkPipelineCreateFlags { - eDisableOptimization = VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT, - eAllowDerivatives = VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT, - eDerivative = VK_PIPELINE_CREATE_DERIVATIVE_BIT, - eViewIndexFromDeviceIndex = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, - eDispatchBase = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, + eDisableOptimization = VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT, + eAllowDerivatives = VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT, + eDerivative = VK_PIPELINE_CREATE_DERIVATIVE_BIT, + eViewIndexFromDeviceIndex = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, + eDispatchBase = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, + eVkPipelineRasterizationStateCreateFragmentShadingRateAttachmentKHR = + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, + eVkPipelineRasterizationStateCreateFragmentDensityMapAttachmentEXT = + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, eRayTracingNoNullAnyHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR, eRayTracingNoNullClosestHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR, eRayTracingNoNullMissShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR, @@ -3925,6 +3953,10 @@ namespace VULKAN_HPP_NAMESPACE case PipelineCreateFlagBits::eDerivative: return "Derivative"; case PipelineCreateFlagBits::eViewIndexFromDeviceIndex: return "ViewIndexFromDeviceIndex"; case PipelineCreateFlagBits::eDispatchBase: return "DispatchBase"; + case PipelineCreateFlagBits::eVkPipelineRasterizationStateCreateFragmentShadingRateAttachmentKHR: + return "VkPipelineRasterizationStateCreateFragmentShadingRateAttachmentKHR"; + case PipelineCreateFlagBits::eVkPipelineRasterizationStateCreateFragmentDensityMapAttachmentEXT: + return "VkPipelineRasterizationStateCreateFragmentDensityMapAttachmentEXT"; case PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR: return "RayTracingNoNullAnyHitShadersKHR"; case PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR: return "RayTracingNoNullClosestHitShadersKHR"; case PipelineCreateFlagBits::eRayTracingNoNullMissShadersKHR: return "RayTracingNoNullMissShadersKHR"; @@ -4504,6 +4536,7 @@ namespace VULKAN_HPP_NAMESPACE { eStore = VK_ATTACHMENT_STORE_OP_STORE, eDontCare = VK_ATTACHMENT_STORE_OP_DONT_CARE, + eNoneKHR = VK_ATTACHMENT_STORE_OP_NONE_KHR, eNoneEXT = VK_ATTACHMENT_STORE_OP_NONE_EXT, eNoneQCOM = VK_ATTACHMENT_STORE_OP_NONE_QCOM }; @@ -4514,7 +4547,7 @@ namespace VULKAN_HPP_NAMESPACE { case AttachmentStoreOp::eStore: return "Store"; case AttachmentStoreOp::eDontCare: return "DontCare"; - case AttachmentStoreOp::eNoneEXT: return "NoneEXT"; + case AttachmentStoreOp::eNoneKHR: return "NoneKHR"; default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )"; } } @@ -6026,36 +6059,6 @@ namespace VULKAN_HPP_NAMESPACE #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_EXT_video_encode_h265 === - enum class VideoEncodeH265CapabilityFlagBitsEXT : VkVideoEncodeH265CapabilityFlagsEXT - { - eWeightedBiPredImplicit = VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT, - eTransform8X8 = VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_8X8_BIT_EXT, - eChromaQpOffset = VK_VIDEO_ENCODE_H265_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT, - eSecondChromaQpOffset = VK_VIDEO_ENCODE_H265_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT, - eDeblockingFilterDisabled = VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT, - eDeblockingFilterEnabled = VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT, - eDeblockingFilterPartial = VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT, - eMultipleSlicePerFrame = VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT, - eEvenlyDistributedSliceSize = VK_VIDEO_ENCODE_H265_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT - }; - - VULKAN_HPP_INLINE std::string to_string( VideoEncodeH265CapabilityFlagBitsEXT value ) - { - switch ( value ) - { - case VideoEncodeH265CapabilityFlagBitsEXT::eWeightedBiPredImplicit: return "WeightedBiPredImplicit"; - case VideoEncodeH265CapabilityFlagBitsEXT::eTransform8X8: return "Transform8X8"; - case VideoEncodeH265CapabilityFlagBitsEXT::eChromaQpOffset: return "ChromaQpOffset"; - case VideoEncodeH265CapabilityFlagBitsEXT::eSecondChromaQpOffset: return "SecondChromaQpOffset"; - case VideoEncodeH265CapabilityFlagBitsEXT::eDeblockingFilterDisabled: return "DeblockingFilterDisabled"; - case VideoEncodeH265CapabilityFlagBitsEXT::eDeblockingFilterEnabled: return "DeblockingFilterEnabled"; - case VideoEncodeH265CapabilityFlagBitsEXT::eDeblockingFilterPartial: return "DeblockingFilterPartial"; - case VideoEncodeH265CapabilityFlagBitsEXT::eMultipleSlicePerFrame: return "MultipleSlicePerFrame"; - case VideoEncodeH265CapabilityFlagBitsEXT::eEvenlyDistributedSliceSize: return "EvenlyDistributedSliceSize"; - default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )"; - } - } - enum class VideoEncodeH265InputModeFlagBitsEXT : VkVideoEncodeH265InputModeFlagsEXT { eFrame = VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT, @@ -6112,6 +6115,15 @@ namespace VULKAN_HPP_NAMESPACE } } + enum class VideoEncodeH265CapabilityFlagBitsEXT : VkVideoEncodeH265CapabilityFlagsEXT + { + }; + + VULKAN_HPP_INLINE std::string to_string( VideoEncodeH265CapabilityFlagBitsEXT ) + { + return "(void)"; + } + enum class VideoEncodeH265CreateFlagBitsEXT : VkVideoEncodeH265CreateFlagsEXT { }; @@ -6173,6 +6185,26 @@ namespace VULKAN_HPP_NAMESPACE } } + //=== VK_KHR_dynamic_rendering === + + enum class RenderingFlagBitsKHR : VkRenderingFlagsKHR + { + eContentsSecondaryCommandBuffers = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR, + eSuspending = VK_RENDERING_SUSPENDING_BIT_KHR, + eResuming = VK_RENDERING_RESUMING_BIT_KHR + }; + + VULKAN_HPP_INLINE std::string to_string( RenderingFlagBitsKHR value ) + { + switch ( value ) + { + case RenderingFlagBitsKHR::eContentsSecondaryCommandBuffers: return "ContentsSecondaryCommandBuffers"; + case RenderingFlagBitsKHR::eSuspending: return "Suspending"; + case RenderingFlagBitsKHR::eResuming: return "Resuming"; + default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )"; + } + } + #if defined( VK_USE_PLATFORM_GGP ) //=== VK_GGP_stream_descriptor_surface === @@ -9793,6 +9825,8 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( PipelineCreateFlagBits::eDisableOptimization ) | VkFlags( PipelineCreateFlagBits::eAllowDerivatives ) | VkFlags( PipelineCreateFlagBits::eDerivative ) | VkFlags( PipelineCreateFlagBits::eViewIndexFromDeviceIndex ) | VkFlags( PipelineCreateFlagBits::eDispatchBase ) | + VkFlags( PipelineCreateFlagBits::eVkPipelineRasterizationStateCreateFragmentShadingRateAttachmentKHR ) | + VkFlags( PipelineCreateFlagBits::eVkPipelineRasterizationStateCreateFragmentDensityMapAttachmentEXT ) | VkFlags( PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR ) | VkFlags( PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR ) | VkFlags( PipelineCreateFlagBits::eRayTracingNoNullMissShadersKHR ) | @@ -9849,6 +9883,10 @@ namespace VULKAN_HPP_NAMESPACE result += "ViewIndexFromDeviceIndex | "; if ( value & PipelineCreateFlagBits::eDispatchBase ) result += "DispatchBase | "; + if ( value & PipelineCreateFlagBits::eVkPipelineRasterizationStateCreateFragmentShadingRateAttachmentKHR ) + result += "VkPipelineRasterizationStateCreateFragmentShadingRateAttachmentKHR | "; + if ( value & PipelineCreateFlagBits::eVkPipelineRasterizationStateCreateFragmentDensityMapAttachmentEXT ) + result += "VkPipelineRasterizationStateCreateFragmentDensityMapAttachmentEXT | "; if ( value & PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR ) result += "RayTracingNoNullAnyHitShadersKHR | "; if ( value & PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR ) @@ -12846,73 +12884,9 @@ namespace VULKAN_HPP_NAMESPACE using VideoEncodeH265CapabilityFlagsEXT = Flags<VideoEncodeH265CapabilityFlagBitsEXT>; - template <> - struct FlagTraits<VideoEncodeH265CapabilityFlagBitsEXT> - { - enum : VkFlags - { - allFlags = VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eWeightedBiPredImplicit ) | - VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eTransform8X8 ) | - VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eChromaQpOffset ) | - VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eSecondChromaQpOffset ) | - VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eDeblockingFilterDisabled ) | - VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eDeblockingFilterEnabled ) | - VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eDeblockingFilterPartial ) | - VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eMultipleSlicePerFrame ) | - VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eEvenlyDistributedSliceSize ) - }; - }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265CapabilityFlagsEXT operator|( - VideoEncodeH265CapabilityFlagBitsEXT bit0, VideoEncodeH265CapabilityFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH265CapabilityFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265CapabilityFlagsEXT operator&( - VideoEncodeH265CapabilityFlagBitsEXT bit0, VideoEncodeH265CapabilityFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH265CapabilityFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265CapabilityFlagsEXT operator^( - VideoEncodeH265CapabilityFlagBitsEXT bit0, VideoEncodeH265CapabilityFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH265CapabilityFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265CapabilityFlagsEXT - operator~( VideoEncodeH265CapabilityFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT + VULKAN_HPP_INLINE std::string to_string( VideoEncodeH265CapabilityFlagsEXT ) { - return ~( VideoEncodeH265CapabilityFlagsEXT( bits ) ); - } - - VULKAN_HPP_INLINE std::string to_string( VideoEncodeH265CapabilityFlagsEXT value ) - { - if ( !value ) - return "{}"; - - std::string result; - if ( value & VideoEncodeH265CapabilityFlagBitsEXT::eWeightedBiPredImplicit ) - result += "WeightedBiPredImplicit | "; - if ( value & VideoEncodeH265CapabilityFlagBitsEXT::eTransform8X8 ) - result += "Transform8X8 | "; - if ( value & VideoEncodeH265CapabilityFlagBitsEXT::eChromaQpOffset ) - result += "ChromaQpOffset | "; - if ( value & VideoEncodeH265CapabilityFlagBitsEXT::eSecondChromaQpOffset ) - result += "SecondChromaQpOffset | "; - if ( value & VideoEncodeH265CapabilityFlagBitsEXT::eDeblockingFilterDisabled ) - result += "DeblockingFilterDisabled | "; - if ( value & VideoEncodeH265CapabilityFlagBitsEXT::eDeblockingFilterEnabled ) - result += "DeblockingFilterEnabled | "; - if ( value & VideoEncodeH265CapabilityFlagBitsEXT::eDeblockingFilterPartial ) - result += "DeblockingFilterPartial | "; - if ( value & VideoEncodeH265CapabilityFlagBitsEXT::eMultipleSlicePerFrame ) - result += "MultipleSlicePerFrame | "; - if ( value & VideoEncodeH265CapabilityFlagBitsEXT::eEvenlyDistributedSliceSize ) - result += "EvenlyDistributedSliceSize | "; - - return "{ " + result.substr( 0, result.size() - 3 ) + " }"; + return "{}"; } using VideoEncodeH265InputModeFlagsEXT = Flags<VideoEncodeH265InputModeFlagBitsEXT>; @@ -13145,6 +13119,59 @@ namespace VULKAN_HPP_NAMESPACE } #endif /*VK_ENABLE_BETA_EXTENSIONS*/ + //=== VK_KHR_dynamic_rendering === + + using RenderingFlagsKHR = Flags<RenderingFlagBitsKHR>; + + template <> + struct FlagTraits<RenderingFlagBitsKHR> + { + enum : VkFlags + { + allFlags = VkFlags( RenderingFlagBitsKHR::eContentsSecondaryCommandBuffers ) | + VkFlags( RenderingFlagBitsKHR::eSuspending ) | VkFlags( RenderingFlagBitsKHR::eResuming ) + }; + }; + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderingFlagsKHR operator|( RenderingFlagBitsKHR bit0, + RenderingFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT + { + return RenderingFlagsKHR( bit0 ) | bit1; + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderingFlagsKHR operator&( RenderingFlagBitsKHR bit0, + RenderingFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT + { + return RenderingFlagsKHR( bit0 ) & bit1; + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderingFlagsKHR operator^( RenderingFlagBitsKHR bit0, + RenderingFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT + { + return RenderingFlagsKHR( bit0 ) ^ bit1; + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderingFlagsKHR operator~( RenderingFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT + { + return ~( RenderingFlagsKHR( bits ) ); + } + + VULKAN_HPP_INLINE std::string to_string( RenderingFlagsKHR value ) + { + if ( !value ) + return "{}"; + + std::string result; + if ( value & RenderingFlagBitsKHR::eContentsSecondaryCommandBuffers ) + result += "ContentsSecondaryCommandBuffers | "; + if ( value & RenderingFlagBitsKHR::eSuspending ) + result += "Suspending | "; + if ( value & RenderingFlagBitsKHR::eResuming ) + result += "Resuming | "; + + return "{ " + result.substr( 0, result.size() - 3 ) + " }"; + } + #if defined( VK_USE_PLATFORM_GGP ) //=== VK_GGP_stream_descriptor_surface === diff --git a/include/vulkan/vulkan_funcs.hpp b/include/vulkan/vulkan_funcs.hpp index 1b81aef..fde5888 100644 --- a/include/vulkan/vulkan_funcs.hpp +++ b/include/vulkan/vulkan_funcs.hpp @@ -10098,6 +10098,34 @@ namespace VULKAN_HPP_NAMESPACE } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + //=== VK_KHR_dynamic_rendering === + + template <typename Dispatch> + VULKAN_HPP_INLINE void + CommandBuffer::beginRenderingKHR( const VULKAN_HPP_NAMESPACE::RenderingInfoKHR * pRenderingInfo, + Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + d.vkCmdBeginRenderingKHR( m_commandBuffer, reinterpret_cast<const VkRenderingInfoKHR *>( pRenderingInfo ) ); + } + +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + template <typename Dispatch> + VULKAN_HPP_INLINE void CommandBuffer::beginRenderingKHR( const VULKAN_HPP_NAMESPACE::RenderingInfoKHR & renderingInfo, + Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + d.vkCmdBeginRenderingKHR( m_commandBuffer, reinterpret_cast<const VkRenderingInfoKHR *>( &renderingInfo ) ); + } +#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + + template <typename Dispatch> + VULKAN_HPP_INLINE void CommandBuffer::endRenderingKHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + d.vkCmdEndRenderingKHR( m_commandBuffer ); + } + #if defined( VK_USE_PLATFORM_GGP ) //=== VK_GGP_stream_descriptor_surface === diff --git a/include/vulkan/vulkan_handles.hpp b/include/vulkan/vulkan_handles.hpp index c046ce1..e9cb8b6 100644 --- a/include/vulkan/vulkan_handles.hpp +++ b/include/vulkan/vulkan_handles.hpp @@ -515,6 +515,18 @@ namespace VULKAN_HPP_NAMESPACE struct ShaderResourceUsageAMD; struct ShaderStatisticsInfoAMD; + //=== VK_KHR_dynamic_rendering === + struct RenderingInfoKHR; + struct RenderingAttachmentInfoKHR; + struct PipelineRenderingCreateInfoKHR; + struct PhysicalDeviceDynamicRenderingFeaturesKHR; + struct CommandBufferInheritanceRenderingInfoKHR; + struct RenderingFragmentShadingRateAttachmentInfoKHR; + struct RenderingFragmentDensityMapAttachmentInfoEXT; + struct AttachmentSampleCountInfoAMD; + using AttachmentSampleCountInfoNV = AttachmentSampleCountInfoAMD; + struct MultiviewPerViewAttributesInfoNVX; + #if defined( VK_USE_PLATFORM_GGP ) //=== VK_GGP_stream_descriptor_surface === struct StreamDescriptorSurfaceCreateInfoGGP; @@ -3933,6 +3945,20 @@ namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; + //=== VK_KHR_dynamic_rendering === + + template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + void beginRenderingKHR( const VULKAN_HPP_NAMESPACE::RenderingInfoKHR * pRenderingInfo, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + void beginRenderingKHR( const VULKAN_HPP_NAMESPACE::RenderingInfoKHR & renderingInfo, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + + template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + void endRenderingKHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; + //=== VK_KHR_device_group === template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> diff --git a/include/vulkan/vulkan_raii.hpp b/include/vulkan/vulkan_raii.hpp index 4839b09..3edea17 100644 --- a/include/vulkan/vulkan_raii.hpp +++ b/include/vulkan/vulkan_raii.hpp @@ -1288,6 +1288,10 @@ namespace VULKAN_HPP_NAMESPACE if ( !vkCmdDrawIndexedIndirectCount ) vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR; + //=== VK_KHR_dynamic_rendering === + vkCmdBeginRenderingKHR = PFN_vkCmdBeginRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderingKHR" ) ); + vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderingKHR" ) ); + //=== VK_KHR_external_fence_fd === vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetDeviceProcAddr( device, "vkImportFenceFdKHR" ) ); vkGetFenceFdKHR = PFN_vkGetFenceFdKHR( vkGetDeviceProcAddr( device, "vkGetFenceFdKHR" ) ); @@ -1997,6 +2001,10 @@ namespace VULKAN_HPP_NAMESPACE PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR = 0; PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR = 0; + //=== VK_KHR_dynamic_rendering === + PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR = 0; + PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR = 0; + //=== VK_KHR_external_fence_fd === PFN_vkImportFenceFdKHR vkImportFenceFdKHR = 0; PFN_vkGetFenceFdKHR vkGetFenceFdKHR = 0; @@ -2214,6 +2222,93 @@ namespace VULKAN_HPP_NAMESPACE PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV = 0; }; + //======================================== + //=== RAII HANDLE forward declarations === + //======================================== + + //=== VK_VERSION_1_0 === + class Instance; + class PhysicalDevice; + class Device; + class Queue; + class DeviceMemory; + class Fence; + class Semaphore; + class Event; + class QueryPool; + class Buffer; + class BufferView; + class Image; + class ImageView; + class ShaderModule; + class PipelineCache; + class Pipeline; + class PipelineLayout; + class Sampler; + class DescriptorPool; + class DescriptorSet; + class DescriptorSetLayout; + class Framebuffer; + class RenderPass; + class CommandPool; + class CommandBuffer; + + //=== VK_VERSION_1_1 === + class SamplerYcbcrConversion; + class DescriptorUpdateTemplate; + + //=== VK_KHR_surface === + class SurfaceKHR; + + //=== VK_KHR_swapchain === + class SwapchainKHR; + + //=== VK_KHR_display === + class DisplayKHR; + class DisplayModeKHR; + + //=== VK_EXT_debug_report === + class DebugReportCallbackEXT; + +# if defined( VK_ENABLE_BETA_EXTENSIONS ) + //=== VK_KHR_video_queue === + class VideoSessionKHR; + class VideoSessionParametersKHR; +# endif /*VK_ENABLE_BETA_EXTENSIONS*/ + + //=== VK_NVX_binary_import === + class CuModuleNVX; + class CuFunctionNVX; + + //=== VK_EXT_debug_utils === + class DebugUtilsMessengerEXT; + + //=== VK_KHR_acceleration_structure === + class AccelerationStructureKHR; + + //=== VK_EXT_validation_cache === + class ValidationCacheEXT; + + //=== VK_NV_ray_tracing === + class AccelerationStructureNV; + + //=== VK_INTEL_performance_query === + class PerformanceConfigurationINTEL; + + //=== VK_KHR_deferred_host_operations === + class DeferredOperationKHR; + + //=== VK_NV_device_generated_commands === + class IndirectCommandsLayoutNV; + + //=== VK_EXT_private_data === + class PrivateDataSlotEXT; + +# if defined( VK_USE_PLATFORM_FUCHSIA ) + //=== VK_FUCHSIA_buffer_collection === + class BufferCollectionFUCHSIA; +# endif /*VK_USE_PLATFORM_FUCHSIA*/ + //==================== //=== RAII HANDLES === //==================== @@ -2244,6 +2339,10 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_0 === + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Instance createInstance( + VULKAN_HPP_NAMESPACE::InstanceCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties> enumerateInstanceExtensionProperties( Optional<const std::string> layerName VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT ) const; @@ -2278,7 +2377,8 @@ namespace VULKAN_HPP_NAMESPACE Instance( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Context const & context, VULKAN_HPP_NAMESPACE::InstanceCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( + : m_context( &context ) + , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( context.getDispatcher()->vkGetInstanceProcAddr ) { @@ -2296,7 +2396,8 @@ namespace VULKAN_HPP_NAMESPACE Instance( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Context const & context, VkInstance instance, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_instance( instance ) + : m_context( &context ) + , m_instance( instance ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( context.getDispatcher()->vkGetInstanceProcAddr ) @@ -2317,7 +2418,8 @@ namespace VULKAN_HPP_NAMESPACE Instance() = delete; Instance( Instance const & ) = delete; Instance( Instance && rhs ) VULKAN_HPP_NOEXCEPT - : m_instance( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_instance, {} ) ) + : m_context( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_context, nullptr ) ) + , m_instance( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_instance, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -2330,6 +2432,7 @@ namespace VULKAN_HPP_NAMESPACE { getDispatcher()->vkDestroyInstance( static_cast<VkInstance>( m_instance ), m_allocator ); } + m_context = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_context, nullptr ); m_instance = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_instance, {} ); m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; @@ -2342,6 +2445,11 @@ namespace VULKAN_HPP_NAMESPACE return m_instance; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Context const * getContext() const VULKAN_HPP_NOEXCEPT + { + return m_context; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2350,6 +2458,8 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_0 === + VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice> enumeratePhysicalDevices() const; + VULKAN_HPP_NODISCARD PFN_vkVoidFunction getProcAddr( const std::string & name ) const VULKAN_HPP_NOEXCEPT; //=== VK_VERSION_1_1 === @@ -2357,8 +2467,58 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties> enumeratePhysicalDeviceGroups() const; + //=== VK_KHR_display === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR createDisplayPlaneSurfaceKHR( + VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + +# if defined( VK_USE_PLATFORM_XLIB_KHR ) + //=== VK_KHR_xlib_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR createXlibSurfaceKHR( + VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; +# endif /*VK_USE_PLATFORM_XLIB_KHR*/ + +# if defined( VK_USE_PLATFORM_XCB_KHR ) + //=== VK_KHR_xcb_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR createXcbSurfaceKHR( + VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; +# endif /*VK_USE_PLATFORM_XCB_KHR*/ + +# if defined( VK_USE_PLATFORM_WAYLAND_KHR ) + //=== VK_KHR_wayland_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR createWaylandSurfaceKHR( + VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; +# endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ + +# if defined( VK_USE_PLATFORM_ANDROID_KHR ) + //=== VK_KHR_android_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR createAndroidSurfaceKHR( + VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; +# endif /*VK_USE_PLATFORM_ANDROID_KHR*/ + +# if defined( VK_USE_PLATFORM_WIN32_KHR ) + //=== VK_KHR_win32_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR createWin32SurfaceKHR( + VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; +# endif /*VK_USE_PLATFORM_WIN32_KHR*/ + //=== VK_EXT_debug_report === + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DebugReportCallbackEXT createDebugReportCallbackEXT( + VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + void debugReportMessageEXT( VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_, uint64_t object, @@ -2367,19 +2527,94 @@ namespace VULKAN_HPP_NAMESPACE const std::string & layerPrefix, const std::string & message ) const VULKAN_HPP_NOEXCEPT; +# if defined( VK_USE_PLATFORM_GGP ) + //=== VK_GGP_stream_descriptor_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR createStreamDescriptorSurfaceGGP( + VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; +# endif /*VK_USE_PLATFORM_GGP*/ + +# if defined( VK_USE_PLATFORM_VI_NN ) + //=== VK_NN_vi_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR createViSurfaceNN( + VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; +# endif /*VK_USE_PLATFORM_VI_NN*/ + //=== VK_KHR_device_group_creation === VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties> enumeratePhysicalDeviceGroupsKHR() const; +# if defined( VK_USE_PLATFORM_IOS_MVK ) + //=== VK_MVK_ios_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR createIOSSurfaceMVK( + VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; +# endif /*VK_USE_PLATFORM_IOS_MVK*/ + +# if defined( VK_USE_PLATFORM_MACOS_MVK ) + //=== VK_MVK_macos_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR createMacOSSurfaceMVK( + VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; +# endif /*VK_USE_PLATFORM_MACOS_MVK*/ + //=== VK_EXT_debug_utils === + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DebugUtilsMessengerEXT createDebugUtilsMessengerEXT( + VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + void submitDebugUtilsMessageEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageTypes, const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT & callbackData ) const VULKAN_HPP_NOEXCEPT; +# if defined( VK_USE_PLATFORM_FUCHSIA ) + //=== VK_FUCHSIA_imagepipe_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR createImagePipeSurfaceFUCHSIA( + VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; +# endif /*VK_USE_PLATFORM_FUCHSIA*/ + +# if defined( VK_USE_PLATFORM_METAL_EXT ) + //=== VK_EXT_metal_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR createMetalSurfaceEXT( + VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; +# endif /*VK_USE_PLATFORM_METAL_EXT*/ + + //=== VK_EXT_headless_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR createHeadlessSurfaceEXT( + VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + +# if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) + //=== VK_EXT_directfb_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR createDirectFBSurfaceEXT( + VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; +# endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ + +# if defined( VK_USE_PLATFORM_SCREEN_QNX ) + //=== VK_QNX_screen_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR createScreenSurfaceQNX( + VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; +# endif /*VK_USE_PLATFORM_SCREEN_QNX*/ + private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Context const * m_context = nullptr; VULKAN_HPP_NAMESPACE::Instance m_instance; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher m_dispatcher = nullptr; @@ -2398,19 +2633,16 @@ namespace VULKAN_HPP_NAMESPACE public: PhysicalDevice( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VkPhysicalDevice physicalDevice ) - : m_physicalDevice( physicalDevice ), m_dispatcher( instance.getDispatcher() ) + : m_instance( &instance ), m_physicalDevice( physicalDevice ), m_dispatcher( instance.getDispatcher() ) {} - PhysicalDevice( VkPhysicalDevice physicalDevice, - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * dispatcher ) - : m_physicalDevice( physicalDevice ), m_dispatcher( dispatcher ) - {} PhysicalDevice( std::nullptr_t ) {} PhysicalDevice() = delete; PhysicalDevice( PhysicalDevice const & ) = delete; PhysicalDevice( PhysicalDevice && rhs ) VULKAN_HPP_NOEXCEPT - : m_physicalDevice( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_physicalDevice, {} ) ) + : m_instance( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_instance, nullptr ) ) + , m_physicalDevice( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_physicalDevice, {} ) ) , m_dispatcher( rhs.m_dispatcher ) {} PhysicalDevice & operator=( PhysicalDevice const & ) = delete; @@ -2418,6 +2650,7 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + m_instance = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_instance, nullptr ); m_physicalDevice = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_physicalDevice, {} ); m_dispatcher = rhs.m_dispatcher; } @@ -2429,6 +2662,11 @@ namespace VULKAN_HPP_NAMESPACE return m_physicalDevice; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const * getInstance() const VULKAN_HPP_NOEXCEPT + { + return m_instance; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2457,6 +2695,10 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties getMemoryProperties() const VULKAN_HPP_NOEXCEPT; + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Device createDevice( + VULKAN_HPP_NAMESPACE::DeviceCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties> enumerateDeviceExtensionProperties( Optional<const std::string> layerName VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT ) const; @@ -2547,6 +2789,9 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR> getDisplayPlanePropertiesKHR() const; + VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::DisplayKHR> + getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex ) const; + # if defined( VK_USE_PLATFORM_XLIB_KHR ) //=== VK_KHR_xlib_surface === @@ -2659,6 +2904,9 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_acquire_xlib_display === void acquireXlibDisplayEXT( Display & dpy, VULKAN_HPP_NAMESPACE::DisplayKHR display ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DisplayKHR getRandROutputDisplayEXT( Display & dpy, + RROutput rrOutput ) const; # endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/ //=== VK_EXT_display_surface_counter === @@ -2742,6 +2990,15 @@ namespace VULKAN_HPP_NAMESPACE void acquireDrmDisplayEXT( int32_t drmFd, VULKAN_HPP_NAMESPACE::DisplayKHR display ) const; + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DisplayKHR getDrmDisplayEXT( int32_t drmFd, + uint32_t connectorId ) const; + +# if defined( VK_USE_PLATFORM_WIN32_KHR ) + //=== VK_NV_acquire_winrt_display === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DisplayKHR getWinrtDisplayNV( uint32_t deviceRelativeId ) const; +# endif /*VK_USE_PLATFORM_WIN32_KHR*/ + # if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) //=== VK_EXT_directfb_surface === @@ -2758,6 +3015,7 @@ namespace VULKAN_HPP_NAMESPACE # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const * m_instance = nullptr; VULKAN_HPP_NAMESPACE::PhysicalDevice m_physicalDevice; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * m_dispatcher = nullptr; }; @@ -2789,7 +3047,7 @@ namespace VULKAN_HPP_NAMESPACE this->reserve( physicalDeviceCount ); for ( auto const & physicalDevice : physicalDevices ) { - this->emplace_back( physicalDevice, dispatcher ); + this->emplace_back( instance, physicalDevice ); } } else @@ -2819,7 +3077,8 @@ namespace VULKAN_HPP_NAMESPACE Device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice, VULKAN_HPP_NAMESPACE::DeviceCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( + : m_physicalDevice( &physicalDevice ) + , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( physicalDevice.getDispatcher()->vkGetDeviceProcAddr ) { @@ -2838,7 +3097,8 @@ namespace VULKAN_HPP_NAMESPACE Device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice, VkDevice device, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( device ) + : m_physicalDevice( &physicalDevice ) + , m_device( device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( physicalDevice.getDispatcher()->vkGetDeviceProcAddr ) @@ -2859,7 +3119,8 @@ namespace VULKAN_HPP_NAMESPACE Device() = delete; Device( Device const & ) = delete; Device( Device && rhs ) VULKAN_HPP_NOEXCEPT - : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ) ) + : m_physicalDevice( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_physicalDevice, nullptr ) ) + , m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -2872,9 +3133,10 @@ namespace VULKAN_HPP_NAMESPACE { getDispatcher()->vkDestroyDevice( static_cast<VkDevice>( m_device ), m_allocator ); } - m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); - m_allocator = rhs.m_allocator; - m_dispatcher = rhs.m_dispatcher; + m_physicalDevice = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_physicalDevice, nullptr ); + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); + m_allocator = rhs.m_allocator; + m_dispatcher = rhs.m_dispatcher; } return *this; } @@ -2884,6 +3146,12 @@ namespace VULKAN_HPP_NAMESPACE return m_device; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const * + getPhysicalDevice() const VULKAN_HPP_NOEXCEPT + { + return m_physicalDevice; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2894,14 +3162,25 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD PFN_vkVoidFunction getProcAddr( const std::string & name ) const VULKAN_HPP_NOEXCEPT; + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Queue getQueue( uint32_t queueFamilyIndex, + uint32_t queueIndex ) const; + void waitIdle() const; + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DeviceMemory allocateMemory( + VULKAN_HPP_NAMESPACE::MemoryAllocateInfo const & allocateInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + void flushMappedMemoryRanges( ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges ) const; void invalidateMappedMemoryRanges( ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges ) const; + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Fence createFence( + VULKAN_HPP_NAMESPACE::FenceCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + void resetFences( ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences ) const; VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result @@ -2909,10 +3188,104 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Bool32 waitAll, uint64_t timeout ) const; + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Semaphore createSemaphore( + VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Event createEvent( + VULKAN_HPP_NAMESPACE::EventCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::QueryPool createQueryPool( + VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Buffer createBuffer( + VULKAN_HPP_NAMESPACE::BufferCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::BufferView createBufferView( + VULKAN_HPP_NAMESPACE::BufferViewCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Image createImage( + VULKAN_HPP_NAMESPACE::ImageCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::ImageView createImageView( + VULKAN_HPP_NAMESPACE::ImageViewCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::ShaderModule createShaderModule( + VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::PipelineCache createPipelineCache( + VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::Pipeline> createGraphicsPipelines( + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & + pipelineCache, + VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Pipeline createGraphicsPipeline( + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & + pipelineCache, + VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::Pipeline> createComputePipelines( + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & + pipelineCache, + VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Pipeline createComputePipeline( + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & + pipelineCache, + VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::PipelineLayout createPipelineLayout( + VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Sampler createSampler( + VULKAN_HPP_NAMESPACE::SamplerCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DescriptorSetLayout createDescriptorSetLayout( + VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DescriptorPool createDescriptorPool( + VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::DescriptorSet> + allocateDescriptorSets( VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo const & allocateInfo ) const; + void updateDescriptorSets( ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites, ArrayProxy<const VULKAN_HPP_NAMESPACE::CopyDescriptorSet> const & descriptorCopies ) const VULKAN_HPP_NOEXCEPT; + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Framebuffer createFramebuffer( + VULKAN_HPP_NAMESPACE::FramebufferCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::RenderPass createRenderPass( + VULKAN_HPP_NAMESPACE::RenderPassCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::CommandPool createCommandPool( + VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::CommandBuffer> + allocateCommandBuffers( VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo const & allocateInfo ) const; + //=== VK_VERSION_1_1 === void bindBufferMemory2( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos ) const; @@ -2940,6 +3313,17 @@ namespace VULKAN_HPP_NAMESPACE getImageSparseMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT; + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Queue + getQueue2( VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 const & queueInfo ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SamplerYcbcrConversion createSamplerYcbcrConversion( + VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DescriptorUpdateTemplate createDescriptorUpdateTemplate( + VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport getDescriptorSetLayoutSupport( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo ) const VULKAN_HPP_NOEXCEPT; @@ -2949,6 +3333,10 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_2 === + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::RenderPass createRenderPass2( + VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result waitSemaphores( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo & waitInfo, uint64_t timeout ) const; @@ -2965,6 +3353,10 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_swapchain === + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SwapchainKHR createSwapchainKHR( + VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR getGroupPresentCapabilitiesKHR() const; @@ -2974,12 +3366,44 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD std::pair<VULKAN_HPP_NAMESPACE::Result, uint32_t> acquireNextImage2KHR( const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR & acquireInfo ) const; + //=== VK_KHR_display_swapchain === + + VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::SwapchainKHR> createSharedSwapchainsKHR( + VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SwapchainKHR createSharedSwapchainKHR( + VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + //=== VK_EXT_debug_marker === void debugMarkerSetObjectTagEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT & tagInfo ) const; void debugMarkerSetObjectNameEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT & nameInfo ) const; +# if defined( VK_ENABLE_BETA_EXTENSIONS ) + //=== VK_KHR_video_queue === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::VideoSessionKHR createVideoSessionKHR( + VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::VideoSessionParametersKHR createVideoSessionParametersKHR( + VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; +# endif /*VK_ENABLE_BETA_EXTENSIONS*/ + + //=== VK_NVX_binary_import === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::CuModuleNVX createCuModuleNVX( + VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::CuFunctionNVX createCuFunctionNVX( + VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + //=== VK_NVX_image_view_handle === VULKAN_HPP_NODISCARD uint32_t @@ -3026,6 +3450,10 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_descriptor_update_template === + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DescriptorUpdateTemplate createDescriptorUpdateTemplateKHR( + VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + void destroyDescriptorUpdateTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT, Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator @@ -3036,12 +3464,27 @@ namespace VULKAN_HPP_NAMESPACE void displayPowerControlEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display, const VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT & displayPowerInfo ) const; + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Fence registerEventEXT( + VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT const & deviceEventInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Fence registerDisplayEventEXT( + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayKHR const & display, + VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT const & displayEventInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + //=== VK_EXT_hdr_metadata === void setHdrMetadataEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainKHR> const & swapchains, ArrayProxy<const VULKAN_HPP_NAMESPACE::HdrMetadataEXT> const & metadata ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; + //=== VK_KHR_create_renderpass2 === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::RenderPass createRenderPass2KHR( + VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + # if defined( VK_USE_PLATFORM_WIN32_KHR ) //=== VK_KHR_external_fence_win32 === @@ -3106,6 +3549,10 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_acceleration_structure === + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::AccelerationStructureKHR createAccelerationStructureKHR( + VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result buildAccelerationStructuresKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos, @@ -3153,6 +3600,10 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_sampler_ycbcr_conversion === + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SamplerYcbcrConversion createSamplerYcbcrConversionKHR( + VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + void destroySamplerYcbcrConversionKHR( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT, Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator @@ -3164,8 +3615,18 @@ namespace VULKAN_HPP_NAMESPACE void bindImageMemory2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos ) const; + //=== VK_EXT_validation_cache === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::ValidationCacheEXT createValidationCacheEXT( + VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + //=== VK_NV_ray_tracing === + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::AccelerationStructureNV createAccelerationStructureNV( + VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR getAccelerationStructureMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV & info ) const VULKAN_HPP_NOEXCEPT; @@ -3176,6 +3637,18 @@ namespace VULKAN_HPP_NAMESPACE void bindAccelerationStructureMemoryNV( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV> const & bindInfos ) const; + VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::Pipeline> createRayTracingPipelinesNV( + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & + pipelineCache, + VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Pipeline createRayTracingPipelineNV( + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & + pipelineCache, + VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + //=== VK_KHR_maintenance3 === VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport getDescriptorSetLayoutSupportKHR( @@ -3213,6 +3686,10 @@ namespace VULKAN_HPP_NAMESPACE void uninitializePerformanceApiINTEL() const VULKAN_HPP_NOEXCEPT; + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::PerformanceConfigurationINTEL + acquirePerformanceConfigurationINTEL( + VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL const & acquireInfo ) const; + VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PerformanceValueINTEL getPerformanceParameterINTEL( VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter ) const; @@ -3239,6 +3716,11 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD uint64_t getMemoryOpaqueCaptureAddressKHR( const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo & info ) const VULKAN_HPP_NOEXCEPT; + //=== VK_KHR_deferred_host_operations === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR createDeferredOperationKHR( + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + //=== VK_KHR_pipeline_executable_properties === VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR> @@ -3261,8 +3743,16 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getGeneratedCommandsMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV & info ) const VULKAN_HPP_NOEXCEPT; + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::IndirectCommandsLayoutNV createIndirectCommandsLayoutNV( + VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + //=== VK_EXT_private_data === + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::PrivateDataSlotEXT createPrivateDataSlotEXT( + VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfoEXT const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + void setPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType objectType_, uint64_t objectHandle, VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot, @@ -3273,6 +3763,24 @@ namespace VULKAN_HPP_NAMESPACE uint64_t objectHandle, VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot ) const VULKAN_HPP_NOEXCEPT; + //=== VK_KHR_ray_tracing_pipeline === + + VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::Pipeline> createRayTracingPipelinesKHR( + VULKAN_HPP_NAMESPACE::Optional< + const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR> const & deferredOperation, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & + pipelineCache, + VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Pipeline createRayTracingPipelineKHR( + VULKAN_HPP_NAMESPACE::Optional< + const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR> const & deferredOperation, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & + pipelineCache, + VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + # if defined( VK_USE_PLATFORM_FUCHSIA ) //=== VK_FUCHSIA_external_memory === @@ -3294,6 +3802,14 @@ namespace VULKAN_HPP_NAMESPACE const VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA & getZirconHandleInfo ) const; # endif /*VK_USE_PLATFORM_FUCHSIA*/ +# if defined( VK_USE_PLATFORM_FUCHSIA ) + //=== VK_FUCHSIA_buffer_collection === + + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::BufferCollectionFUCHSIA createBufferCollectionFUCHSIA( + VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; +# endif /*VK_USE_PLATFORM_FUCHSIA*/ + //=== VK_NV_external_memory_rdma === VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::RemoteAddressNV getMemoryRemoteAddressNV( @@ -3320,9 +3836,10 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NOEXCEPT; private: - VULKAN_HPP_NAMESPACE::Device m_device; - const VkAllocationCallbacks * m_allocator = nullptr; - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher m_dispatcher = nullptr; + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const * m_physicalDevice = nullptr; + VULKAN_HPP_NAMESPACE::Device m_device; + const VkAllocationCallbacks * m_allocator = nullptr; + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher m_dispatcher = nullptr; }; class AccelerationStructureKHR @@ -3340,13 +3857,13 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateAccelerationStructureKHR( + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkCreateAccelerationStructureKHR( static_cast<VkDevice>( *device ), reinterpret_cast<const VkAccelerationStructureCreateInfoKHR *>( &createInfo ), m_allocator, @@ -3361,8 +3878,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkAccelerationStructureKHR accelerationStructureKHR, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_accelerationStructureKHR( accelerationStructureKHR ) - , m_device( *device ) + : m_device( &device ) + , m_accelerationStructureKHR( accelerationStructureKHR ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -3375,16 +3892,18 @@ namespace VULKAN_HPP_NAMESPACE if ( m_accelerationStructureKHR ) { getDispatcher()->vkDestroyAccelerationStructureKHR( - m_device, static_cast<VkAccelerationStructureKHR>( m_accelerationStructureKHR ), m_allocator ); + static_cast<VkDevice>( **m_device ), + static_cast<VkAccelerationStructureKHR>( m_accelerationStructureKHR ), + m_allocator ); } } AccelerationStructureKHR() = delete; AccelerationStructureKHR( AccelerationStructureKHR const & ) = delete; AccelerationStructureKHR( AccelerationStructureKHR && rhs ) VULKAN_HPP_NOEXCEPT - : m_accelerationStructureKHR( + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_accelerationStructureKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_accelerationStructureKHR, {} ) ) - , m_device( rhs.m_device ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -3396,11 +3915,13 @@ namespace VULKAN_HPP_NAMESPACE if ( m_accelerationStructureKHR ) { getDispatcher()->vkDestroyAccelerationStructureKHR( - m_device, static_cast<VkAccelerationStructureKHR>( m_accelerationStructureKHR ), m_allocator ); + static_cast<VkDevice>( **m_device ), + static_cast<VkAccelerationStructureKHR>( m_accelerationStructureKHR ), + m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_accelerationStructureKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_accelerationStructureKHR, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -3412,6 +3933,11 @@ namespace VULKAN_HPP_NAMESPACE return m_accelerationStructureKHR; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3419,8 +3945,8 @@ namespace VULKAN_HPP_NAMESPACE } private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::AccelerationStructureKHR m_accelerationStructureKHR; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -3440,13 +3966,13 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateAccelerationStructureNV( + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkCreateAccelerationStructureNV( static_cast<VkDevice>( *device ), reinterpret_cast<const VkAccelerationStructureCreateInfoNV *>( &createInfo ), m_allocator, @@ -3461,8 +3987,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkAccelerationStructureNV accelerationStructureNV, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_accelerationStructureNV( accelerationStructureNV ) - , m_device( *device ) + : m_device( &device ) + , m_accelerationStructureNV( accelerationStructureNV ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -3475,16 +4001,18 @@ namespace VULKAN_HPP_NAMESPACE if ( m_accelerationStructureNV ) { getDispatcher()->vkDestroyAccelerationStructureNV( - m_device, static_cast<VkAccelerationStructureNV>( m_accelerationStructureNV ), m_allocator ); + static_cast<VkDevice>( **m_device ), + static_cast<VkAccelerationStructureNV>( m_accelerationStructureNV ), + m_allocator ); } } AccelerationStructureNV() = delete; AccelerationStructureNV( AccelerationStructureNV const & ) = delete; AccelerationStructureNV( AccelerationStructureNV && rhs ) VULKAN_HPP_NOEXCEPT - : m_accelerationStructureNV( + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_accelerationStructureNV( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_accelerationStructureNV, {} ) ) - , m_device( rhs.m_device ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -3496,11 +4024,13 @@ namespace VULKAN_HPP_NAMESPACE if ( m_accelerationStructureNV ) { getDispatcher()->vkDestroyAccelerationStructureNV( - m_device, static_cast<VkAccelerationStructureNV>( m_accelerationStructureNV ), m_allocator ); + static_cast<VkDevice>( **m_device ), + static_cast<VkAccelerationStructureNV>( m_accelerationStructureNV ), + m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_accelerationStructureNV = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_accelerationStructureNV, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -3512,6 +4042,11 @@ namespace VULKAN_HPP_NAMESPACE return m_accelerationStructureNV; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3527,8 +4062,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD T getHandle() const; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::AccelerationStructureNV m_accelerationStructureNV; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -3547,16 +4082,16 @@ namespace VULKAN_HPP_NAMESPACE Buffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::BufferCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateBuffer( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkBufferCreateInfo *>( &createInfo ), - m_allocator, - reinterpret_cast<VkBuffer *>( &m_buffer ) ) ); + device.getDispatcher()->vkCreateBuffer( static_cast<VkDevice>( *device ), + reinterpret_cast<const VkBufferCreateInfo *>( &createInfo ), + m_allocator, + reinterpret_cast<VkBuffer *>( &m_buffer ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateBuffer" ); @@ -3566,8 +4101,8 @@ namespace VULKAN_HPP_NAMESPACE Buffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkBuffer buffer, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_buffer( buffer ) - , m_device( *device ) + : m_device( &device ) + , m_buffer( buffer ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -3579,15 +4114,16 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_buffer ) { - getDispatcher()->vkDestroyBuffer( m_device, static_cast<VkBuffer>( m_buffer ), m_allocator ); + getDispatcher()->vkDestroyBuffer( + static_cast<VkDevice>( **m_device ), static_cast<VkBuffer>( m_buffer ), m_allocator ); } } Buffer() = delete; Buffer( Buffer const & ) = delete; Buffer( Buffer && rhs ) VULKAN_HPP_NOEXCEPT - : m_buffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_buffer, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_buffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_buffer, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -3598,10 +4134,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_buffer ) { - getDispatcher()->vkDestroyBuffer( m_device, static_cast<VkBuffer>( m_buffer ), m_allocator ); + getDispatcher()->vkDestroyBuffer( + static_cast<VkDevice>( **m_device ), static_cast<VkBuffer>( m_buffer ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_buffer = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_buffer, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -3613,6 +4150,11 @@ namespace VULKAN_HPP_NAMESPACE return m_buffer; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3626,8 +4168,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements getMemoryRequirements() const VULKAN_HPP_NOEXCEPT; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::Buffer m_buffer; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -3648,13 +4190,13 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateBufferCollectionFUCHSIA( + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkCreateBufferCollectionFUCHSIA( static_cast<VkDevice>( *device ), reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIA *>( &createInfo ), m_allocator, @@ -3669,8 +4211,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkBufferCollectionFUCHSIA bufferCollectionFUCHSIA, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_bufferCollectionFUCHSIA( bufferCollectionFUCHSIA ) - , m_device( *device ) + : m_device( &device ) + , m_bufferCollectionFUCHSIA( bufferCollectionFUCHSIA ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -3683,16 +4225,18 @@ namespace VULKAN_HPP_NAMESPACE if ( m_bufferCollectionFUCHSIA ) { getDispatcher()->vkDestroyBufferCollectionFUCHSIA( - m_device, static_cast<VkBufferCollectionFUCHSIA>( m_bufferCollectionFUCHSIA ), m_allocator ); + static_cast<VkDevice>( **m_device ), + static_cast<VkBufferCollectionFUCHSIA>( m_bufferCollectionFUCHSIA ), + m_allocator ); } } BufferCollectionFUCHSIA() = delete; BufferCollectionFUCHSIA( BufferCollectionFUCHSIA const & ) = delete; BufferCollectionFUCHSIA( BufferCollectionFUCHSIA && rhs ) VULKAN_HPP_NOEXCEPT - : m_bufferCollectionFUCHSIA( + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_bufferCollectionFUCHSIA( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_bufferCollectionFUCHSIA, {} ) ) - , m_device( rhs.m_device ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -3704,11 +4248,13 @@ namespace VULKAN_HPP_NAMESPACE if ( m_bufferCollectionFUCHSIA ) { getDispatcher()->vkDestroyBufferCollectionFUCHSIA( - m_device, static_cast<VkBufferCollectionFUCHSIA>( m_bufferCollectionFUCHSIA ), m_allocator ); + static_cast<VkDevice>( **m_device ), + static_cast<VkBufferCollectionFUCHSIA>( m_bufferCollectionFUCHSIA ), + m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_bufferCollectionFUCHSIA = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_bufferCollectionFUCHSIA, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -3720,6 +4266,11 @@ namespace VULKAN_HPP_NAMESPACE return m_bufferCollectionFUCHSIA; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3736,8 +4287,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA getProperties() const; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA m_bufferCollectionFUCHSIA; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -3757,16 +4308,16 @@ namespace VULKAN_HPP_NAMESPACE BufferView( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::BufferViewCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateBufferView( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkBufferViewCreateInfo *>( &createInfo ), - m_allocator, - reinterpret_cast<VkBufferView *>( &m_bufferView ) ) ); + device.getDispatcher()->vkCreateBufferView( static_cast<VkDevice>( *device ), + reinterpret_cast<const VkBufferViewCreateInfo *>( &createInfo ), + m_allocator, + reinterpret_cast<VkBufferView *>( &m_bufferView ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateBufferView" ); @@ -3776,8 +4327,8 @@ namespace VULKAN_HPP_NAMESPACE BufferView( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkBufferView bufferView, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_bufferView( bufferView ) - , m_device( *device ) + : m_device( &device ) + , m_bufferView( bufferView ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -3789,15 +4340,16 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_bufferView ) { - getDispatcher()->vkDestroyBufferView( m_device, static_cast<VkBufferView>( m_bufferView ), m_allocator ); + getDispatcher()->vkDestroyBufferView( + static_cast<VkDevice>( **m_device ), static_cast<VkBufferView>( m_bufferView ), m_allocator ); } } BufferView() = delete; BufferView( BufferView const & ) = delete; BufferView( BufferView && rhs ) VULKAN_HPP_NOEXCEPT - : m_bufferView( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_bufferView, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_bufferView( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_bufferView, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -3808,10 +4360,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_bufferView ) { - getDispatcher()->vkDestroyBufferView( m_device, static_cast<VkBufferView>( m_bufferView ), m_allocator ); + getDispatcher()->vkDestroyBufferView( + static_cast<VkDevice>( **m_device ), static_cast<VkBufferView>( m_bufferView ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_bufferView = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_bufferView, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -3823,6 +4376,11 @@ namespace VULKAN_HPP_NAMESPACE return m_bufferView; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3830,8 +4388,8 @@ namespace VULKAN_HPP_NAMESPACE } private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::BufferView m_bufferView; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -3850,16 +4408,16 @@ namespace VULKAN_HPP_NAMESPACE CommandPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateCommandPool( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkCommandPoolCreateInfo *>( &createInfo ), - m_allocator, - reinterpret_cast<VkCommandPool *>( &m_commandPool ) ) ); + device.getDispatcher()->vkCreateCommandPool( static_cast<VkDevice>( *device ), + reinterpret_cast<const VkCommandPoolCreateInfo *>( &createInfo ), + m_allocator, + reinterpret_cast<VkCommandPool *>( &m_commandPool ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateCommandPool" ); @@ -3869,8 +4427,8 @@ namespace VULKAN_HPP_NAMESPACE CommandPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkCommandPool commandPool, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_commandPool( commandPool ) - , m_device( *device ) + : m_device( &device ) + , m_commandPool( commandPool ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -3882,15 +4440,16 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_commandPool ) { - getDispatcher()->vkDestroyCommandPool( m_device, static_cast<VkCommandPool>( m_commandPool ), m_allocator ); + getDispatcher()->vkDestroyCommandPool( + static_cast<VkDevice>( **m_device ), static_cast<VkCommandPool>( m_commandPool ), m_allocator ); } } CommandPool() = delete; CommandPool( CommandPool const & ) = delete; CommandPool( CommandPool && rhs ) VULKAN_HPP_NOEXCEPT - : m_commandPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_commandPool, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_commandPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_commandPool, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -3901,10 +4460,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_commandPool ) { - getDispatcher()->vkDestroyCommandPool( m_device, static_cast<VkCommandPool>( m_commandPool ), m_allocator ); + getDispatcher()->vkDestroyCommandPool( + static_cast<VkDevice>( **m_device ), static_cast<VkCommandPool>( m_commandPool ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_commandPool = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_commandPool, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -3916,6 +4476,11 @@ namespace VULKAN_HPP_NAMESPACE return m_commandPool; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3937,8 +4502,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NOEXCEPT; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::CommandPool m_commandPool; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -3954,37 +4519,33 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCommandBuffer; public: - CommandBuffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, - VkCommandBuffer commandBuffer, - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::CommandPool const & commandPool ) - : m_commandBuffer( commandBuffer ) - , m_device( *device ) - , m_commandPool( *commandPool ) + CommandBuffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, + VkCommandBuffer commandBuffer, + VkCommandPool commandPool ) + : m_device( &device ) + , m_commandBuffer( commandBuffer ) + , m_commandPool( commandPool ) , m_dispatcher( device.getDispatcher() ) {} - CommandBuffer( VkCommandBuffer commandBuffer, - VkDevice device, - VkCommandPool commandPool, - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher ) - : m_commandBuffer( commandBuffer ), m_device( device ), m_commandPool( commandPool ), m_dispatcher( dispatcher ) - {} CommandBuffer( std::nullptr_t ) {} ~CommandBuffer() { if ( m_commandBuffer ) { - getDispatcher()->vkFreeCommandBuffers( - m_device, m_commandPool, 1, reinterpret_cast<VkCommandBuffer const *>( &m_commandBuffer ) ); + getDispatcher()->vkFreeCommandBuffers( static_cast<VkDevice>( **m_device ), + m_commandPool, + 1, + reinterpret_cast<VkCommandBuffer const *>( &m_commandBuffer ) ); } } CommandBuffer() = delete; CommandBuffer( CommandBuffer const & ) = delete; CommandBuffer( CommandBuffer && rhs ) VULKAN_HPP_NOEXCEPT - : m_commandBuffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_commandBuffer, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_commandBuffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_commandBuffer, {} ) ) , m_commandPool( rhs.m_commandPool ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -3995,11 +4556,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_commandBuffer ) { - getDispatcher()->vkFreeCommandBuffers( - m_device, m_commandPool, 1, reinterpret_cast<VkCommandBuffer const *>( &m_commandBuffer ) ); + getDispatcher()->vkFreeCommandBuffers( static_cast<VkDevice>( **m_device ), + m_commandPool, + 1, + reinterpret_cast<VkCommandBuffer const *>( &m_commandBuffer ) ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_commandBuffer = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_commandBuffer, {} ); - m_device = rhs.m_device; m_commandPool = rhs.m_commandPool; m_dispatcher = rhs.m_dispatcher; } @@ -4011,6 +4574,11 @@ namespace VULKAN_HPP_NAMESPACE return m_commandBuffer; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -4342,6 +4910,12 @@ namespace VULKAN_HPP_NAMESPACE uint32_t maxDrawCount, uint32_t stride ) const VULKAN_HPP_NOEXCEPT; + //=== VK_KHR_dynamic_rendering === + + void beginRenderingKHR( const VULKAN_HPP_NAMESPACE::RenderingInfoKHR & renderingInfo ) const VULKAN_HPP_NOEXCEPT; + + void endRenderingKHR() const VULKAN_HPP_NOEXCEPT; + //=== VK_KHR_device_group === void setDeviceMaskKHR( uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT; @@ -4731,8 +5305,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::CommandBuffer m_commandBuffer; - VkDevice m_device; VkCommandPool m_commandPool; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -4754,10 +5328,7 @@ namespace VULKAN_HPP_NAMESPACE this->reserve( allocateInfo.commandBufferCount ); for ( auto const & commandBuffer : commandBuffers ) { - this->emplace_back( commandBuffer, - static_cast<VkDevice>( *device ), - static_cast<VkCommandPool>( allocateInfo.commandPool ), - dispatcher ); + this->emplace_back( device, commandBuffer, static_cast<VkCommandPool>( allocateInfo.commandPool ) ); } } else @@ -4788,16 +5359,17 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateCuFunctionNVX( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkCuFunctionCreateInfoNVX *>( &createInfo ), - m_allocator, - reinterpret_cast<VkCuFunctionNVX *>( &m_cuFunctionNVX ) ) ); + VULKAN_HPP_NAMESPACE::Result result = + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkCreateCuFunctionNVX( + static_cast<VkDevice>( *device ), + reinterpret_cast<const VkCuFunctionCreateInfoNVX *>( &createInfo ), + m_allocator, + reinterpret_cast<VkCuFunctionNVX *>( &m_cuFunctionNVX ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateCuFunctionNVX" ); @@ -4808,8 +5380,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkCuFunctionNVX cuFunctionNVX, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_cuFunctionNVX( cuFunctionNVX ) - , m_device( *device ) + : m_device( &device ) + , m_cuFunctionNVX( cuFunctionNVX ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -4822,15 +5394,15 @@ namespace VULKAN_HPP_NAMESPACE if ( m_cuFunctionNVX ) { getDispatcher()->vkDestroyCuFunctionNVX( - m_device, static_cast<VkCuFunctionNVX>( m_cuFunctionNVX ), m_allocator ); + static_cast<VkDevice>( **m_device ), static_cast<VkCuFunctionNVX>( m_cuFunctionNVX ), m_allocator ); } } CuFunctionNVX() = delete; CuFunctionNVX( CuFunctionNVX const & ) = delete; CuFunctionNVX( CuFunctionNVX && rhs ) VULKAN_HPP_NOEXCEPT - : m_cuFunctionNVX( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_cuFunctionNVX, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_cuFunctionNVX( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_cuFunctionNVX, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -4842,10 +5414,10 @@ namespace VULKAN_HPP_NAMESPACE if ( m_cuFunctionNVX ) { getDispatcher()->vkDestroyCuFunctionNVX( - m_device, static_cast<VkCuFunctionNVX>( m_cuFunctionNVX ), m_allocator ); + static_cast<VkDevice>( **m_device ), static_cast<VkCuFunctionNVX>( m_cuFunctionNVX ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_cuFunctionNVX = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_cuFunctionNVX, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -4857,6 +5429,11 @@ namespace VULKAN_HPP_NAMESPACE return m_cuFunctionNVX; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -4864,8 +5441,8 @@ namespace VULKAN_HPP_NAMESPACE } private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::CuFunctionNVX m_cuFunctionNVX; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -4884,16 +5461,16 @@ namespace VULKAN_HPP_NAMESPACE CuModuleNVX( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateCuModuleNVX( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkCuModuleCreateInfoNVX *>( &createInfo ), - m_allocator, - reinterpret_cast<VkCuModuleNVX *>( &m_cuModuleNVX ) ) ); + device.getDispatcher()->vkCreateCuModuleNVX( static_cast<VkDevice>( *device ), + reinterpret_cast<const VkCuModuleCreateInfoNVX *>( &createInfo ), + m_allocator, + reinterpret_cast<VkCuModuleNVX *>( &m_cuModuleNVX ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateCuModuleNVX" ); @@ -4903,8 +5480,8 @@ namespace VULKAN_HPP_NAMESPACE CuModuleNVX( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkCuModuleNVX cuModuleNVX, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_cuModuleNVX( cuModuleNVX ) - , m_device( *device ) + : m_device( &device ) + , m_cuModuleNVX( cuModuleNVX ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -4916,15 +5493,16 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_cuModuleNVX ) { - getDispatcher()->vkDestroyCuModuleNVX( m_device, static_cast<VkCuModuleNVX>( m_cuModuleNVX ), m_allocator ); + getDispatcher()->vkDestroyCuModuleNVX( + static_cast<VkDevice>( **m_device ), static_cast<VkCuModuleNVX>( m_cuModuleNVX ), m_allocator ); } } CuModuleNVX() = delete; CuModuleNVX( CuModuleNVX const & ) = delete; CuModuleNVX( CuModuleNVX && rhs ) VULKAN_HPP_NOEXCEPT - : m_cuModuleNVX( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_cuModuleNVX, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_cuModuleNVX( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_cuModuleNVX, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -4935,10 +5513,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_cuModuleNVX ) { - getDispatcher()->vkDestroyCuModuleNVX( m_device, static_cast<VkCuModuleNVX>( m_cuModuleNVX ), m_allocator ); + getDispatcher()->vkDestroyCuModuleNVX( + static_cast<VkDevice>( **m_device ), static_cast<VkCuModuleNVX>( m_cuModuleNVX ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_cuModuleNVX = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_cuModuleNVX, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -4950,6 +5529,11 @@ namespace VULKAN_HPP_NAMESPACE return m_cuModuleNVX; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -4957,8 +5541,8 @@ namespace VULKAN_HPP_NAMESPACE } private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::CuModuleNVX m_cuModuleNVX; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -4978,13 +5562,13 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_instance( *instance ) + : m_instance( &instance ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateDebugReportCallbackEXT( + static_cast<VULKAN_HPP_NAMESPACE::Result>( instance.getDispatcher()->vkCreateDebugReportCallbackEXT( static_cast<VkInstance>( *instance ), reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>( &createInfo ), m_allocator, @@ -4999,8 +5583,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VkDebugReportCallbackEXT debugReportCallbackEXT, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_debugReportCallbackEXT( debugReportCallbackEXT ) - , m_instance( *instance ) + : m_instance( &instance ) + , m_debugReportCallbackEXT( debugReportCallbackEXT ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) @@ -5013,16 +5597,18 @@ namespace VULKAN_HPP_NAMESPACE if ( m_debugReportCallbackEXT ) { getDispatcher()->vkDestroyDebugReportCallbackEXT( - m_instance, static_cast<VkDebugReportCallbackEXT>( m_debugReportCallbackEXT ), m_allocator ); + static_cast<VkInstance>( **m_instance ), + static_cast<VkDebugReportCallbackEXT>( m_debugReportCallbackEXT ), + m_allocator ); } } DebugReportCallbackEXT() = delete; DebugReportCallbackEXT( DebugReportCallbackEXT const & ) = delete; DebugReportCallbackEXT( DebugReportCallbackEXT && rhs ) VULKAN_HPP_NOEXCEPT - : m_debugReportCallbackEXT( + : m_instance( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_instance, nullptr ) ) + , m_debugReportCallbackEXT( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_debugReportCallbackEXT, {} ) ) - , m_instance( rhs.m_instance ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -5034,11 +5620,13 @@ namespace VULKAN_HPP_NAMESPACE if ( m_debugReportCallbackEXT ) { getDispatcher()->vkDestroyDebugReportCallbackEXT( - m_instance, static_cast<VkDebugReportCallbackEXT>( m_debugReportCallbackEXT ), m_allocator ); + static_cast<VkInstance>( **m_instance ), + static_cast<VkDebugReportCallbackEXT>( m_debugReportCallbackEXT ), + m_allocator ); } + m_instance = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_instance, nullptr ); m_debugReportCallbackEXT = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_debugReportCallbackEXT, {} ); - m_instance = rhs.m_instance; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -5050,6 +5638,11 @@ namespace VULKAN_HPP_NAMESPACE return m_debugReportCallbackEXT; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const * getInstance() const VULKAN_HPP_NOEXCEPT + { + return m_instance; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5057,8 +5650,8 @@ namespace VULKAN_HPP_NAMESPACE } private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const * m_instance = nullptr; VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT m_debugReportCallbackEXT; - VkInstance m_instance; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * m_dispatcher = nullptr; }; @@ -5078,13 +5671,13 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_instance( *instance ) + : m_instance( &instance ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateDebugUtilsMessengerEXT( + static_cast<VULKAN_HPP_NAMESPACE::Result>( instance.getDispatcher()->vkCreateDebugUtilsMessengerEXT( static_cast<VkInstance>( *instance ), reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>( &createInfo ), m_allocator, @@ -5099,8 +5692,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VkDebugUtilsMessengerEXT debugUtilsMessengerEXT, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_debugUtilsMessengerEXT( debugUtilsMessengerEXT ) - , m_instance( *instance ) + : m_instance( &instance ) + , m_debugUtilsMessengerEXT( debugUtilsMessengerEXT ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) @@ -5113,16 +5706,18 @@ namespace VULKAN_HPP_NAMESPACE if ( m_debugUtilsMessengerEXT ) { getDispatcher()->vkDestroyDebugUtilsMessengerEXT( - m_instance, static_cast<VkDebugUtilsMessengerEXT>( m_debugUtilsMessengerEXT ), m_allocator ); + static_cast<VkInstance>( **m_instance ), + static_cast<VkDebugUtilsMessengerEXT>( m_debugUtilsMessengerEXT ), + m_allocator ); } } DebugUtilsMessengerEXT() = delete; DebugUtilsMessengerEXT( DebugUtilsMessengerEXT const & ) = delete; DebugUtilsMessengerEXT( DebugUtilsMessengerEXT && rhs ) VULKAN_HPP_NOEXCEPT - : m_debugUtilsMessengerEXT( + : m_instance( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_instance, nullptr ) ) + , m_debugUtilsMessengerEXT( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_debugUtilsMessengerEXT, {} ) ) - , m_instance( rhs.m_instance ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -5134,11 +5729,13 @@ namespace VULKAN_HPP_NAMESPACE if ( m_debugUtilsMessengerEXT ) { getDispatcher()->vkDestroyDebugUtilsMessengerEXT( - m_instance, static_cast<VkDebugUtilsMessengerEXT>( m_debugUtilsMessengerEXT ), m_allocator ); + static_cast<VkInstance>( **m_instance ), + static_cast<VkDebugUtilsMessengerEXT>( m_debugUtilsMessengerEXT ), + m_allocator ); } + m_instance = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_instance, nullptr ); m_debugUtilsMessengerEXT = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_debugUtilsMessengerEXT, {} ); - m_instance = rhs.m_instance; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -5150,6 +5747,11 @@ namespace VULKAN_HPP_NAMESPACE return m_debugUtilsMessengerEXT; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const * getInstance() const VULKAN_HPP_NOEXCEPT + { + return m_instance; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5157,8 +5759,8 @@ namespace VULKAN_HPP_NAMESPACE } private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const * m_instance = nullptr; VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT m_debugUtilsMessengerEXT; - VkInstance m_instance; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * m_dispatcher = nullptr; }; @@ -5177,13 +5779,13 @@ namespace VULKAN_HPP_NAMESPACE DeferredOperationKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateDeferredOperationKHR( + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkCreateDeferredOperationKHR( static_cast<VkDevice>( *device ), m_allocator, reinterpret_cast<VkDeferredOperationKHR *>( &m_deferredOperationKHR ) ) ); @@ -5197,8 +5799,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkDeferredOperationKHR deferredOperationKHR, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_deferredOperationKHR( deferredOperationKHR ) - , m_device( *device ) + : m_device( &device ) + , m_deferredOperationKHR( deferredOperationKHR ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -5210,17 +5812,18 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_deferredOperationKHR ) { - getDispatcher()->vkDestroyDeferredOperationKHR( - m_device, static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ), m_allocator ); + getDispatcher()->vkDestroyDeferredOperationKHR( static_cast<VkDevice>( **m_device ), + static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ), + m_allocator ); } } DeferredOperationKHR() = delete; DeferredOperationKHR( DeferredOperationKHR const & ) = delete; DeferredOperationKHR( DeferredOperationKHR && rhs ) VULKAN_HPP_NOEXCEPT - : m_deferredOperationKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_deferredOperationKHR, + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_deferredOperationKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_deferredOperationKHR, {} ) ) - , m_device( rhs.m_device ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -5232,11 +5835,13 @@ namespace VULKAN_HPP_NAMESPACE if ( m_deferredOperationKHR ) { getDispatcher()->vkDestroyDeferredOperationKHR( - m_device, static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ), m_allocator ); + static_cast<VkDevice>( **m_device ), + static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ), + m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_deferredOperationKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_deferredOperationKHR, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -5248,6 +5853,11 @@ namespace VULKAN_HPP_NAMESPACE return m_deferredOperationKHR; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5263,8 +5873,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result join() const; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::DeferredOperationKHR m_deferredOperationKHR; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -5284,16 +5894,17 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateDescriptorPool( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkDescriptorPoolCreateInfo *>( &createInfo ), - m_allocator, - reinterpret_cast<VkDescriptorPool *>( &m_descriptorPool ) ) ); + VULKAN_HPP_NAMESPACE::Result result = + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkCreateDescriptorPool( + static_cast<VkDevice>( *device ), + reinterpret_cast<const VkDescriptorPoolCreateInfo *>( &createInfo ), + m_allocator, + reinterpret_cast<VkDescriptorPool *>( &m_descriptorPool ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateDescriptorPool" ); @@ -5304,8 +5915,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkDescriptorPool descriptorPool, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_descriptorPool( descriptorPool ) - , m_device( *device ) + : m_device( &device ) + , m_descriptorPool( descriptorPool ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -5318,15 +5929,15 @@ namespace VULKAN_HPP_NAMESPACE if ( m_descriptorPool ) { getDispatcher()->vkDestroyDescriptorPool( - m_device, static_cast<VkDescriptorPool>( m_descriptorPool ), m_allocator ); + static_cast<VkDevice>( **m_device ), static_cast<VkDescriptorPool>( m_descriptorPool ), m_allocator ); } } DescriptorPool() = delete; DescriptorPool( DescriptorPool const & ) = delete; DescriptorPool( DescriptorPool && rhs ) VULKAN_HPP_NOEXCEPT - : m_descriptorPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorPool, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_descriptorPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorPool, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -5338,10 +5949,10 @@ namespace VULKAN_HPP_NAMESPACE if ( m_descriptorPool ) { getDispatcher()->vkDestroyDescriptorPool( - m_device, static_cast<VkDescriptorPool>( m_descriptorPool ), m_allocator ); + static_cast<VkDevice>( **m_device ), static_cast<VkDescriptorPool>( m_descriptorPool ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_descriptorPool = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorPool, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -5353,6 +5964,11 @@ namespace VULKAN_HPP_NAMESPACE return m_descriptorPool; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5365,8 +5981,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NOEXCEPT; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::DescriptorPool m_descriptorPool; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -5382,40 +5998,33 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorSet; public: - DescriptorSet( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, - VkDescriptorSet descriptorSet, - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DescriptorPool const & descriptorPool ) - : m_descriptorSet( descriptorSet ) - , m_device( *device ) - , m_descriptorPool( *descriptorPool ) + DescriptorSet( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, + VkDescriptorSet descriptorSet, + VkDescriptorPool descriptorPool ) + : m_device( &device ) + , m_descriptorSet( descriptorSet ) + , m_descriptorPool( descriptorPool ) , m_dispatcher( device.getDispatcher() ) {} - DescriptorSet( VkDescriptorSet descriptorSet, - VkDevice device, - VkDescriptorPool descriptorPool, - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher ) - : m_descriptorSet( descriptorSet ) - , m_device( device ) - , m_descriptorPool( descriptorPool ) - , m_dispatcher( dispatcher ) - {} DescriptorSet( std::nullptr_t ) {} ~DescriptorSet() { if ( m_descriptorSet ) { - getDispatcher()->vkFreeDescriptorSets( - m_device, m_descriptorPool, 1, reinterpret_cast<VkDescriptorSet const *>( &m_descriptorSet ) ); + getDispatcher()->vkFreeDescriptorSets( static_cast<VkDevice>( **m_device ), + m_descriptorPool, + 1, + reinterpret_cast<VkDescriptorSet const *>( &m_descriptorSet ) ); } } DescriptorSet() = delete; DescriptorSet( DescriptorSet const & ) = delete; DescriptorSet( DescriptorSet && rhs ) VULKAN_HPP_NOEXCEPT - : m_descriptorSet( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorSet, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_descriptorSet( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorSet, {} ) ) , m_descriptorPool( rhs.m_descriptorPool ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -5426,11 +6035,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_descriptorSet ) { - getDispatcher()->vkFreeDescriptorSets( - m_device, m_descriptorPool, 1, reinterpret_cast<VkDescriptorSet const *>( &m_descriptorSet ) ); + getDispatcher()->vkFreeDescriptorSets( static_cast<VkDevice>( **m_device ), + m_descriptorPool, + 1, + reinterpret_cast<VkDescriptorSet const *>( &m_descriptorSet ) ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_descriptorSet = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorSet, {} ); - m_device = rhs.m_device; m_descriptorPool = rhs.m_descriptorPool; m_dispatcher = rhs.m_dispatcher; } @@ -5442,6 +6053,11 @@ namespace VULKAN_HPP_NAMESPACE return m_descriptorSet; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5459,8 +6075,8 @@ namespace VULKAN_HPP_NAMESPACE const void * pData ) const VULKAN_HPP_NOEXCEPT; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::DescriptorSet m_descriptorSet; - VkDevice m_device; VkDescriptorPool m_descriptorPool; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -5482,10 +6098,7 @@ namespace VULKAN_HPP_NAMESPACE this->reserve( allocateInfo.descriptorSetCount ); for ( auto const & descriptorSet : descriptorSets ) { - this->emplace_back( descriptorSet, - static_cast<VkDevice>( *device ), - static_cast<VkDescriptorPool>( allocateInfo.descriptorPool ), - dispatcher ); + this->emplace_back( device, descriptorSet, static_cast<VkDescriptorPool>( allocateInfo.descriptorPool ) ); } } else @@ -5516,13 +6129,13 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateDescriptorSetLayout( + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkCreateDescriptorSetLayout( static_cast<VkDevice>( *device ), reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ), m_allocator, @@ -5537,8 +6150,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkDescriptorSetLayout descriptorSetLayout, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_descriptorSetLayout( descriptorSetLayout ) - , m_device( *device ) + : m_device( &device ) + , m_descriptorSetLayout( descriptorSetLayout ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -5550,17 +6163,18 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_descriptorSetLayout ) { - getDispatcher()->vkDestroyDescriptorSetLayout( - m_device, static_cast<VkDescriptorSetLayout>( m_descriptorSetLayout ), m_allocator ); + getDispatcher()->vkDestroyDescriptorSetLayout( static_cast<VkDevice>( **m_device ), + static_cast<VkDescriptorSetLayout>( m_descriptorSetLayout ), + m_allocator ); } } DescriptorSetLayout() = delete; DescriptorSetLayout( DescriptorSetLayout const & ) = delete; DescriptorSetLayout( DescriptorSetLayout && rhs ) VULKAN_HPP_NOEXCEPT - : m_descriptorSetLayout( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorSetLayout, + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_descriptorSetLayout( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorSetLayout, {} ) ) - , m_device( rhs.m_device ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -5571,12 +6185,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_descriptorSetLayout ) { - getDispatcher()->vkDestroyDescriptorSetLayout( - m_device, static_cast<VkDescriptorSetLayout>( m_descriptorSetLayout ), m_allocator ); + getDispatcher()->vkDestroyDescriptorSetLayout( static_cast<VkDevice>( **m_device ), + static_cast<VkDescriptorSetLayout>( m_descriptorSetLayout ), + m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_descriptorSetLayout = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorSetLayout, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -5588,6 +6203,11 @@ namespace VULKAN_HPP_NAMESPACE return m_descriptorSetLayout; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5595,8 +6215,8 @@ namespace VULKAN_HPP_NAMESPACE } private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::DescriptorSetLayout m_descriptorSetLayout; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -5616,13 +6236,13 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateDescriptorUpdateTemplate( + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkCreateDescriptorUpdateTemplate( static_cast<VkDevice>( *device ), reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( &createInfo ), m_allocator, @@ -5637,8 +6257,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_descriptorUpdateTemplate( descriptorUpdateTemplate ) - , m_device( *device ) + : m_device( &device ) + , m_descriptorUpdateTemplate( descriptorUpdateTemplate ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -5651,16 +6271,18 @@ namespace VULKAN_HPP_NAMESPACE if ( m_descriptorUpdateTemplate ) { getDispatcher()->vkDestroyDescriptorUpdateTemplate( - m_device, static_cast<VkDescriptorUpdateTemplate>( m_descriptorUpdateTemplate ), m_allocator ); + static_cast<VkDevice>( **m_device ), + static_cast<VkDescriptorUpdateTemplate>( m_descriptorUpdateTemplate ), + m_allocator ); } } DescriptorUpdateTemplate() = delete; DescriptorUpdateTemplate( DescriptorUpdateTemplate const & ) = delete; DescriptorUpdateTemplate( DescriptorUpdateTemplate && rhs ) VULKAN_HPP_NOEXCEPT - : m_descriptorUpdateTemplate( + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_descriptorUpdateTemplate( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorUpdateTemplate, {} ) ) - , m_device( rhs.m_device ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -5672,11 +6294,13 @@ namespace VULKAN_HPP_NAMESPACE if ( m_descriptorUpdateTemplate ) { getDispatcher()->vkDestroyDescriptorUpdateTemplate( - m_device, static_cast<VkDescriptorUpdateTemplate>( m_descriptorUpdateTemplate ), m_allocator ); + static_cast<VkDevice>( **m_device ), + static_cast<VkDescriptorUpdateTemplate>( m_descriptorUpdateTemplate ), + m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_descriptorUpdateTemplate = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorUpdateTemplate, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -5688,6 +6312,11 @@ namespace VULKAN_HPP_NAMESPACE return m_descriptorUpdateTemplate; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5695,8 +6324,8 @@ namespace VULKAN_HPP_NAMESPACE } private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate m_descriptorUpdateTemplate; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -5716,16 +6345,16 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::MemoryAllocateInfo const & allocateInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkAllocateMemory( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkMemoryAllocateInfo *>( &allocateInfo ), - m_allocator, - reinterpret_cast<VkDeviceMemory *>( &m_deviceMemory ) ) ); + device.getDispatcher()->vkAllocateMemory( static_cast<VkDevice>( *device ), + reinterpret_cast<const VkMemoryAllocateInfo *>( &allocateInfo ), + m_allocator, + reinterpret_cast<VkDeviceMemory *>( &m_deviceMemory ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkAllocateMemory" ); @@ -5736,8 +6365,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkDeviceMemory deviceMemory, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_deviceMemory( deviceMemory ) - , m_device( *device ) + : m_device( &device ) + , m_deviceMemory( deviceMemory ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -5749,15 +6378,16 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_deviceMemory ) { - getDispatcher()->vkFreeMemory( m_device, static_cast<VkDeviceMemory>( m_deviceMemory ), m_allocator ); + getDispatcher()->vkFreeMemory( + static_cast<VkDevice>( **m_device ), static_cast<VkDeviceMemory>( m_deviceMemory ), m_allocator ); } } DeviceMemory() = delete; DeviceMemory( DeviceMemory const & ) = delete; DeviceMemory( DeviceMemory && rhs ) VULKAN_HPP_NOEXCEPT - : m_deviceMemory( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_deviceMemory, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_deviceMemory( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_deviceMemory, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -5768,10 +6398,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_deviceMemory ) { - getDispatcher()->vkFreeMemory( m_device, static_cast<VkDeviceMemory>( m_deviceMemory ), m_allocator ); + getDispatcher()->vkFreeMemory( + static_cast<VkDevice>( **m_device ), static_cast<VkDeviceMemory>( m_deviceMemory ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_deviceMemory = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_deviceMemory, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -5783,6 +6414,11 @@ namespace VULKAN_HPP_NAMESPACE return m_deviceMemory; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5812,8 +6448,8 @@ namespace VULKAN_HPP_NAMESPACE void setPriorityEXT( float priority ) const VULKAN_HPP_NOEXCEPT; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::DeviceMemory m_deviceMemory; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -5832,13 +6468,13 @@ namespace VULKAN_HPP_NAMESPACE DisplayKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice, int32_t drmFd, uint32_t connectorId ) - : m_physicalDevice( *physicalDevice ), m_dispatcher( physicalDevice.getDispatcher() ) + : m_physicalDevice( &physicalDevice ), m_dispatcher( physicalDevice.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkGetDrmDisplayEXT( static_cast<VkPhysicalDevice>( *physicalDevice ), - drmFd, - connectorId, - reinterpret_cast<VkDisplayKHR *>( &m_displayKHR ) ) ); + physicalDevice.getDispatcher()->vkGetDrmDisplayEXT( static_cast<VkPhysicalDevice>( *physicalDevice ), + drmFd, + connectorId, + reinterpret_cast<VkDisplayKHR *>( &m_displayKHR ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkGetDrmDisplayEXT" ); @@ -5849,13 +6485,14 @@ namespace VULKAN_HPP_NAMESPACE DisplayKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice, Display & dpy, RROutput rrOutput ) - : m_physicalDevice( *physicalDevice ), m_dispatcher( physicalDevice.getDispatcher() ) + : m_physicalDevice( &physicalDevice ), m_dispatcher( physicalDevice.getDispatcher() ) { - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkGetRandROutputDisplayEXT( static_cast<VkPhysicalDevice>( *physicalDevice ), - &dpy, - rrOutput, - reinterpret_cast<VkDisplayKHR *>( &m_displayKHR ) ) ); + VULKAN_HPP_NAMESPACE::Result result = + static_cast<VULKAN_HPP_NAMESPACE::Result>( physicalDevice.getDispatcher()->vkGetRandROutputDisplayEXT( + static_cast<VkPhysicalDevice>( *physicalDevice ), + &dpy, + rrOutput, + reinterpret_cast<VkDisplayKHR *>( &m_displayKHR ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkGetRandROutputDisplayEXT" ); @@ -5866,12 +6503,12 @@ namespace VULKAN_HPP_NAMESPACE # if defined( VK_USE_PLATFORM_WIN32_KHR ) DisplayKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice, uint32_t deviceRelativeId ) - : m_physicalDevice( *physicalDevice ), m_dispatcher( physicalDevice.getDispatcher() ) + : m_physicalDevice( &physicalDevice ), m_dispatcher( physicalDevice.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkGetWinrtDisplayNV( static_cast<VkPhysicalDevice>( *physicalDevice ), - deviceRelativeId, - reinterpret_cast<VkDisplayKHR *>( &m_displayKHR ) ) ); + physicalDevice.getDispatcher()->vkGetWinrtDisplayNV( static_cast<VkPhysicalDevice>( *physicalDevice ), + deviceRelativeId, + reinterpret_cast<VkDisplayKHR *>( &m_displayKHR ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkGetWinrtDisplayNV" ); @@ -5881,31 +6518,27 @@ namespace VULKAN_HPP_NAMESPACE DisplayKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice, VkDisplayKHR displayKHR ) - : m_displayKHR( displayKHR ) - , m_physicalDevice( *physicalDevice ) + : m_physicalDevice( &physicalDevice ) + , m_displayKHR( displayKHR ) , m_dispatcher( physicalDevice.getDispatcher() ) {} - DisplayKHR( VkDisplayKHR displayKHR, - VkPhysicalDevice physicalDevice, - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * dispatcher ) - : m_displayKHR( displayKHR ), m_physicalDevice( physicalDevice ), m_dispatcher( dispatcher ) - {} DisplayKHR( std::nullptr_t ) {} ~DisplayKHR() { if ( m_displayKHR ) { - getDispatcher()->vkReleaseDisplayEXT( m_physicalDevice, static_cast<VkDisplayKHR>( m_displayKHR ) ); + getDispatcher()->vkReleaseDisplayEXT( static_cast<VkPhysicalDevice>( **m_physicalDevice ), + static_cast<VkDisplayKHR>( m_displayKHR ) ); } } DisplayKHR() = delete; DisplayKHR( DisplayKHR const & ) = delete; DisplayKHR( DisplayKHR && rhs ) VULKAN_HPP_NOEXCEPT - : m_displayKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_displayKHR, {} ) ) - , m_physicalDevice( rhs.m_physicalDevice ) + : m_physicalDevice( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_physicalDevice, nullptr ) ) + , m_displayKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_displayKHR, {} ) ) , m_dispatcher( rhs.m_dispatcher ) {} DisplayKHR & operator=( DisplayKHR const & ) = delete; @@ -5915,10 +6548,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_displayKHR ) { - getDispatcher()->vkReleaseDisplayEXT( m_physicalDevice, static_cast<VkDisplayKHR>( m_displayKHR ) ); + getDispatcher()->vkReleaseDisplayEXT( static_cast<VkPhysicalDevice>( **m_physicalDevice ), + static_cast<VkDisplayKHR>( m_displayKHR ) ); } + m_physicalDevice = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_physicalDevice, nullptr ); m_displayKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_displayKHR, {} ); - m_physicalDevice = rhs.m_physicalDevice; m_dispatcher = rhs.m_dispatcher; } return *this; @@ -5929,6 +6563,12 @@ namespace VULKAN_HPP_NAMESPACE return m_displayKHR; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const * + getPhysicalDevice() const VULKAN_HPP_NOEXCEPT + { + return m_physicalDevice; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5939,6 +6579,10 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR> getModeProperties() const; + VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DisplayModeKHR createMode( + VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const; + //=== VK_KHR_get_display_properties2 === VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR> getModeProperties2() const; @@ -5950,8 +6594,8 @@ namespace VULKAN_HPP_NAMESPACE # endif /*VK_USE_PLATFORM_WIN32_KHR*/ private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const * m_physicalDevice = nullptr; VULKAN_HPP_NAMESPACE::DisplayKHR m_displayKHR; - VkPhysicalDevice m_physicalDevice; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * m_dispatcher = nullptr; }; @@ -5983,7 +6627,7 @@ namespace VULKAN_HPP_NAMESPACE this->reserve( displayCount ); for ( auto const & displayKHR : displays ) { - this->emplace_back( displayKHR, static_cast<VkPhysicalDevice>( *physicalDevice ), dispatcher ); + this->emplace_back( physicalDevice, displayKHR ); } } else @@ -6011,15 +6655,14 @@ namespace VULKAN_HPP_NAMESPACE public: DisplayModeKHR( - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice, VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayKHR const & display, VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_physicalDevice( *physicalDevice ), m_dispatcher( physicalDevice.getDispatcher() ) + : m_display( &display ), m_dispatcher( display.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateDisplayModeKHR( - static_cast<VkPhysicalDevice>( *physicalDevice ), + static_cast<VULKAN_HPP_NAMESPACE::Result>( display.getDispatcher()->vkCreateDisplayModeKHR( + static_cast<VkPhysicalDevice>( **display.getPhysicalDevice() ), static_cast<VkDisplayKHR>( *display ), reinterpret_cast<const VkDisplayModeCreateInfoKHR *>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks *>( @@ -6031,11 +6674,9 @@ namespace VULKAN_HPP_NAMESPACE } } - DisplayModeKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const & physicalDevice, - VkDisplayModeKHR displayModeKHR ) - : m_displayModeKHR( displayModeKHR ) - , m_physicalDevice( *physicalDevice ) - , m_dispatcher( physicalDevice.getDispatcher() ) + DisplayModeKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayKHR const & display, + VkDisplayModeKHR displayModeKHR ) + : m_display( &display ), m_displayModeKHR( displayModeKHR ), m_dispatcher( display.getDispatcher() ) {} DisplayModeKHR( std::nullptr_t ) {} @@ -6043,7 +6684,8 @@ namespace VULKAN_HPP_NAMESPACE DisplayModeKHR() = delete; DisplayModeKHR( DisplayModeKHR const & ) = delete; DisplayModeKHR( DisplayModeKHR && rhs ) VULKAN_HPP_NOEXCEPT - : m_displayModeKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_displayModeKHR, {} ) ) + : m_display( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_display, nullptr ) ) + , m_displayModeKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_displayModeKHR, {} ) ) , m_dispatcher( rhs.m_dispatcher ) {} DisplayModeKHR & operator=( DisplayModeKHR const & ) = delete; @@ -6051,6 +6693,7 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + m_display = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_display, nullptr ); m_displayModeKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_displayModeKHR, {} ); m_dispatcher = rhs.m_dispatcher; } @@ -6062,6 +6705,11 @@ namespace VULKAN_HPP_NAMESPACE return m_displayModeKHR; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayKHR const * getDisplayKHR() const VULKAN_HPP_NOEXCEPT + { + return m_display; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6074,8 +6722,8 @@ namespace VULKAN_HPP_NAMESPACE getDisplayPlaneCapabilities( uint32_t planeIndex ) const; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayKHR const * m_display = nullptr; VULKAN_HPP_NAMESPACE::DisplayModeKHR m_displayModeKHR; - VULKAN_HPP_NAMESPACE::PhysicalDevice m_physicalDevice; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * m_dispatcher = nullptr; }; @@ -6093,16 +6741,16 @@ namespace VULKAN_HPP_NAMESPACE Event( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::EventCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateEvent( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkEventCreateInfo *>( &createInfo ), - m_allocator, - reinterpret_cast<VkEvent *>( &m_event ) ) ); + device.getDispatcher()->vkCreateEvent( static_cast<VkDevice>( *device ), + reinterpret_cast<const VkEventCreateInfo *>( &createInfo ), + m_allocator, + reinterpret_cast<VkEvent *>( &m_event ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateEvent" ); @@ -6112,8 +6760,8 @@ namespace VULKAN_HPP_NAMESPACE Event( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkEvent event, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_event( event ) - , m_device( *device ) + : m_device( &device ) + , m_event( event ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -6125,15 +6773,16 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_event ) { - getDispatcher()->vkDestroyEvent( m_device, static_cast<VkEvent>( m_event ), m_allocator ); + getDispatcher()->vkDestroyEvent( + static_cast<VkDevice>( **m_device ), static_cast<VkEvent>( m_event ), m_allocator ); } } Event() = delete; Event( Event const & ) = delete; Event( Event && rhs ) VULKAN_HPP_NOEXCEPT - : m_event( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_event, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_event( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_event, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -6144,10 +6793,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_event ) { - getDispatcher()->vkDestroyEvent( m_device, static_cast<VkEvent>( m_event ), m_allocator ); + getDispatcher()->vkDestroyEvent( + static_cast<VkDevice>( **m_device ), static_cast<VkEvent>( m_event ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_event = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_event, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -6159,6 +6809,11 @@ namespace VULKAN_HPP_NAMESPACE return m_event; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6174,8 +6829,8 @@ namespace VULKAN_HPP_NAMESPACE void reset() const; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::Event m_event; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -6194,16 +6849,16 @@ namespace VULKAN_HPP_NAMESPACE Fence( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::FenceCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateFence( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkFenceCreateInfo *>( &createInfo ), - m_allocator, - reinterpret_cast<VkFence *>( &m_fence ) ) ); + device.getDispatcher()->vkCreateFence( static_cast<VkDevice>( *device ), + reinterpret_cast<const VkFenceCreateInfo *>( &createInfo ), + m_allocator, + reinterpret_cast<VkFence *>( &m_fence ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateFence" ); @@ -6213,16 +6868,17 @@ namespace VULKAN_HPP_NAMESPACE Fence( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT const & deviceEventInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkRegisterDeviceEventEXT( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkDeviceEventInfoEXT *>( &deviceEventInfo ), - m_allocator, - reinterpret_cast<VkFence *>( &m_fence ) ) ); + VULKAN_HPP_NAMESPACE::Result result = + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkRegisterDeviceEventEXT( + static_cast<VkDevice>( *device ), + reinterpret_cast<const VkDeviceEventInfoEXT *>( &deviceEventInfo ), + m_allocator, + reinterpret_cast<VkFence *>( &m_fence ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkRegisterDeviceEventEXT" ); @@ -6233,13 +6889,13 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayKHR const & display, VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT const & displayEventInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkRegisterDisplayEventEXT( + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkRegisterDisplayEventEXT( static_cast<VkDevice>( *device ), static_cast<VkDisplayKHR>( *display ), reinterpret_cast<const VkDisplayEventInfoEXT *>( &displayEventInfo ), @@ -6254,8 +6910,8 @@ namespace VULKAN_HPP_NAMESPACE Fence( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkFence fence, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_fence( fence ) - , m_device( *device ) + : m_device( &device ) + , m_fence( fence ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -6267,15 +6923,16 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_fence ) { - getDispatcher()->vkDestroyFence( m_device, static_cast<VkFence>( m_fence ), m_allocator ); + getDispatcher()->vkDestroyFence( + static_cast<VkDevice>( **m_device ), static_cast<VkFence>( m_fence ), m_allocator ); } } Fence() = delete; Fence( Fence const & ) = delete; Fence( Fence && rhs ) VULKAN_HPP_NOEXCEPT - : m_fence( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_fence, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_fence( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_fence, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -6286,10 +6943,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_fence ) { - getDispatcher()->vkDestroyFence( m_device, static_cast<VkFence>( m_fence ), m_allocator ); + getDispatcher()->vkDestroyFence( + static_cast<VkDevice>( **m_device ), static_cast<VkFence>( m_fence ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_fence = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_fence, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -6301,6 +6959,11 @@ namespace VULKAN_HPP_NAMESPACE return m_fence; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6312,8 +6975,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result getStatus() const; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::Fence m_fence; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -6332,16 +6995,16 @@ namespace VULKAN_HPP_NAMESPACE Framebuffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::FramebufferCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateFramebuffer( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkFramebufferCreateInfo *>( &createInfo ), - m_allocator, - reinterpret_cast<VkFramebuffer *>( &m_framebuffer ) ) ); + device.getDispatcher()->vkCreateFramebuffer( static_cast<VkDevice>( *device ), + reinterpret_cast<const VkFramebufferCreateInfo *>( &createInfo ), + m_allocator, + reinterpret_cast<VkFramebuffer *>( &m_framebuffer ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateFramebuffer" ); @@ -6351,8 +7014,8 @@ namespace VULKAN_HPP_NAMESPACE Framebuffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkFramebuffer framebuffer, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_framebuffer( framebuffer ) - , m_device( *device ) + : m_device( &device ) + , m_framebuffer( framebuffer ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -6364,15 +7027,16 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_framebuffer ) { - getDispatcher()->vkDestroyFramebuffer( m_device, static_cast<VkFramebuffer>( m_framebuffer ), m_allocator ); + getDispatcher()->vkDestroyFramebuffer( + static_cast<VkDevice>( **m_device ), static_cast<VkFramebuffer>( m_framebuffer ), m_allocator ); } } Framebuffer() = delete; Framebuffer( Framebuffer const & ) = delete; Framebuffer( Framebuffer && rhs ) VULKAN_HPP_NOEXCEPT - : m_framebuffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_framebuffer, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_framebuffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_framebuffer, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -6383,10 +7047,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_framebuffer ) { - getDispatcher()->vkDestroyFramebuffer( m_device, static_cast<VkFramebuffer>( m_framebuffer ), m_allocator ); + getDispatcher()->vkDestroyFramebuffer( + static_cast<VkDevice>( **m_device ), static_cast<VkFramebuffer>( m_framebuffer ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_framebuffer = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_framebuffer, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -6398,6 +7063,11 @@ namespace VULKAN_HPP_NAMESPACE return m_framebuffer; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6405,8 +7075,8 @@ namespace VULKAN_HPP_NAMESPACE } private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::Framebuffer m_framebuffer; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -6425,16 +7095,16 @@ namespace VULKAN_HPP_NAMESPACE Image( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::ImageCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateImage( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkImageCreateInfo *>( &createInfo ), - m_allocator, - reinterpret_cast<VkImage *>( &m_image ) ) ); + device.getDispatcher()->vkCreateImage( static_cast<VkDevice>( *device ), + reinterpret_cast<const VkImageCreateInfo *>( &createInfo ), + m_allocator, + reinterpret_cast<VkImage *>( &m_image ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateImage" ); @@ -6444,8 +7114,8 @@ namespace VULKAN_HPP_NAMESPACE Image( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkImage image, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_image( image ) - , m_device( *device ) + : m_device( &device ) + , m_image( image ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -6457,15 +7127,16 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_image ) { - getDispatcher()->vkDestroyImage( m_device, static_cast<VkImage>( m_image ), m_allocator ); + getDispatcher()->vkDestroyImage( + static_cast<VkDevice>( **m_device ), static_cast<VkImage>( m_image ), m_allocator ); } } Image() = delete; Image( Image const & ) = delete; Image( Image && rhs ) VULKAN_HPP_NOEXCEPT - : m_image( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_image, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_image( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_image, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -6476,10 +7147,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_image ) { - getDispatcher()->vkDestroyImage( m_device, static_cast<VkImage>( m_image ), m_allocator ); + getDispatcher()->vkDestroyImage( + static_cast<VkDevice>( **m_device ), static_cast<VkImage>( m_image ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_image = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_image, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -6491,6 +7163,11 @@ namespace VULKAN_HPP_NAMESPACE return m_image; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6515,8 +7192,8 @@ namespace VULKAN_HPP_NAMESPACE getDrmFormatModifierPropertiesEXT() const; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::Image m_image; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -6535,16 +7212,16 @@ namespace VULKAN_HPP_NAMESPACE ImageView( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::ImageViewCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateImageView( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkImageViewCreateInfo *>( &createInfo ), - m_allocator, - reinterpret_cast<VkImageView *>( &m_imageView ) ) ); + device.getDispatcher()->vkCreateImageView( static_cast<VkDevice>( *device ), + reinterpret_cast<const VkImageViewCreateInfo *>( &createInfo ), + m_allocator, + reinterpret_cast<VkImageView *>( &m_imageView ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateImageView" ); @@ -6554,8 +7231,8 @@ namespace VULKAN_HPP_NAMESPACE ImageView( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkImageView imageView, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_imageView( imageView ) - , m_device( *device ) + : m_device( &device ) + , m_imageView( imageView ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -6567,15 +7244,16 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_imageView ) { - getDispatcher()->vkDestroyImageView( m_device, static_cast<VkImageView>( m_imageView ), m_allocator ); + getDispatcher()->vkDestroyImageView( + static_cast<VkDevice>( **m_device ), static_cast<VkImageView>( m_imageView ), m_allocator ); } } ImageView() = delete; ImageView( ImageView const & ) = delete; ImageView( ImageView && rhs ) VULKAN_HPP_NOEXCEPT - : m_imageView( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_imageView, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_imageView( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_imageView, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -6586,10 +7264,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_imageView ) { - getDispatcher()->vkDestroyImageView( m_device, static_cast<VkImageView>( m_imageView ), m_allocator ); + getDispatcher()->vkDestroyImageView( + static_cast<VkDevice>( **m_device ), static_cast<VkImageView>( m_imageView ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_imageView = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_imageView, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -6601,6 +7280,11 @@ namespace VULKAN_HPP_NAMESPACE return m_imageView; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6612,8 +7296,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX getAddressNVX() const; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::ImageView m_imageView; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -6633,13 +7317,13 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateIndirectCommandsLayoutNV( + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkCreateIndirectCommandsLayoutNV( static_cast<VkDevice>( *device ), reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNV *>( &createInfo ), m_allocator, @@ -6654,8 +7338,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkIndirectCommandsLayoutNV indirectCommandsLayoutNV, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_indirectCommandsLayoutNV( indirectCommandsLayoutNV ) - , m_device( *device ) + : m_device( &device ) + , m_indirectCommandsLayoutNV( indirectCommandsLayoutNV ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -6668,16 +7352,18 @@ namespace VULKAN_HPP_NAMESPACE if ( m_indirectCommandsLayoutNV ) { getDispatcher()->vkDestroyIndirectCommandsLayoutNV( - m_device, static_cast<VkIndirectCommandsLayoutNV>( m_indirectCommandsLayoutNV ), m_allocator ); + static_cast<VkDevice>( **m_device ), + static_cast<VkIndirectCommandsLayoutNV>( m_indirectCommandsLayoutNV ), + m_allocator ); } } IndirectCommandsLayoutNV() = delete; IndirectCommandsLayoutNV( IndirectCommandsLayoutNV const & ) = delete; IndirectCommandsLayoutNV( IndirectCommandsLayoutNV && rhs ) VULKAN_HPP_NOEXCEPT - : m_indirectCommandsLayoutNV( + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_indirectCommandsLayoutNV( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_indirectCommandsLayoutNV, {} ) ) - , m_device( rhs.m_device ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -6689,11 +7375,13 @@ namespace VULKAN_HPP_NAMESPACE if ( m_indirectCommandsLayoutNV ) { getDispatcher()->vkDestroyIndirectCommandsLayoutNV( - m_device, static_cast<VkIndirectCommandsLayoutNV>( m_indirectCommandsLayoutNV ), m_allocator ); + static_cast<VkDevice>( **m_device ), + static_cast<VkIndirectCommandsLayoutNV>( m_indirectCommandsLayoutNV ), + m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_indirectCommandsLayoutNV = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_indirectCommandsLayoutNV, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -6705,6 +7393,11 @@ namespace VULKAN_HPP_NAMESPACE return m_indirectCommandsLayoutNV; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6712,8 +7405,8 @@ namespace VULKAN_HPP_NAMESPACE } private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV m_indirectCommandsLayoutNV; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -6732,10 +7425,10 @@ namespace VULKAN_HPP_NAMESPACE PerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL const & acquireInfo ) - : m_device( *device ), m_dispatcher( device.getDispatcher() ) + : m_device( &device ), m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkAcquirePerformanceConfigurationINTEL( + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkAcquirePerformanceConfigurationINTEL( static_cast<VkDevice>( *device ), reinterpret_cast<const VkPerformanceConfigurationAcquireInfoINTEL *>( &acquireInfo ), reinterpret_cast<VkPerformanceConfigurationINTEL *>( &m_performanceConfigurationINTEL ) ) ); @@ -6747,8 +7440,8 @@ namespace VULKAN_HPP_NAMESPACE PerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkPerformanceConfigurationINTEL performanceConfigurationINTEL ) - : m_performanceConfigurationINTEL( performanceConfigurationINTEL ) - , m_device( *device ) + : m_device( &device ) + , m_performanceConfigurationINTEL( performanceConfigurationINTEL ) , m_dispatcher( device.getDispatcher() ) {} @@ -6759,16 +7452,17 @@ namespace VULKAN_HPP_NAMESPACE if ( m_performanceConfigurationINTEL ) { getDispatcher()->vkReleasePerformanceConfigurationINTEL( - m_device, static_cast<VkPerformanceConfigurationINTEL>( m_performanceConfigurationINTEL ) ); + static_cast<VkDevice>( **m_device ), + static_cast<VkPerformanceConfigurationINTEL>( m_performanceConfigurationINTEL ) ); } } PerformanceConfigurationINTEL() = delete; PerformanceConfigurationINTEL( PerformanceConfigurationINTEL const & ) = delete; PerformanceConfigurationINTEL( PerformanceConfigurationINTEL && rhs ) VULKAN_HPP_NOEXCEPT - : m_performanceConfigurationINTEL( + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_performanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_performanceConfigurationINTEL, {} ) ) - , m_device( rhs.m_device ) , m_dispatcher( rhs.m_dispatcher ) {} PerformanceConfigurationINTEL & operator=( PerformanceConfigurationINTEL const & ) = delete; @@ -6779,11 +7473,12 @@ namespace VULKAN_HPP_NAMESPACE if ( m_performanceConfigurationINTEL ) { getDispatcher()->vkReleasePerformanceConfigurationINTEL( - m_device, static_cast<VkPerformanceConfigurationINTEL>( m_performanceConfigurationINTEL ) ); + static_cast<VkDevice>( **m_device ), + static_cast<VkPerformanceConfigurationINTEL>( m_performanceConfigurationINTEL ) ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_performanceConfigurationINTEL = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_performanceConfigurationINTEL, {} ); - m_device = rhs.m_device; m_dispatcher = rhs.m_dispatcher; } return *this; @@ -6794,6 +7489,11 @@ namespace VULKAN_HPP_NAMESPACE return m_performanceConfigurationINTEL; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6801,8 +7501,8 @@ namespace VULKAN_HPP_NAMESPACE } private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL m_performanceConfigurationINTEL; - VkDevice m_device; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -6821,16 +7521,17 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreatePipelineCache( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkPipelineCacheCreateInfo *>( &createInfo ), - m_allocator, - reinterpret_cast<VkPipelineCache *>( &m_pipelineCache ) ) ); + VULKAN_HPP_NAMESPACE::Result result = + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkCreatePipelineCache( + static_cast<VkDevice>( *device ), + reinterpret_cast<const VkPipelineCacheCreateInfo *>( &createInfo ), + m_allocator, + reinterpret_cast<VkPipelineCache *>( &m_pipelineCache ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreatePipelineCache" ); @@ -6841,8 +7542,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkPipelineCache pipelineCache, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_pipelineCache( pipelineCache ) - , m_device( *device ) + : m_device( &device ) + , m_pipelineCache( pipelineCache ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -6855,15 +7556,15 @@ namespace VULKAN_HPP_NAMESPACE if ( m_pipelineCache ) { getDispatcher()->vkDestroyPipelineCache( - m_device, static_cast<VkPipelineCache>( m_pipelineCache ), m_allocator ); + static_cast<VkDevice>( **m_device ), static_cast<VkPipelineCache>( m_pipelineCache ), m_allocator ); } } PipelineCache() = delete; PipelineCache( PipelineCache const & ) = delete; PipelineCache( PipelineCache && rhs ) VULKAN_HPP_NOEXCEPT - : m_pipelineCache( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipelineCache, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_pipelineCache( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipelineCache, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -6875,10 +7576,10 @@ namespace VULKAN_HPP_NAMESPACE if ( m_pipelineCache ) { getDispatcher()->vkDestroyPipelineCache( - m_device, static_cast<VkPipelineCache>( m_pipelineCache ), m_allocator ); + static_cast<VkDevice>( **m_device ), static_cast<VkPipelineCache>( m_pipelineCache ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_pipelineCache = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipelineCache, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -6890,6 +7591,11 @@ namespace VULKAN_HPP_NAMESPACE return m_pipelineCache; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6903,8 +7609,8 @@ namespace VULKAN_HPP_NAMESPACE void merge( ArrayProxy<const VULKAN_HPP_NAMESPACE::PipelineCache> const & srcCaches ) const; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::PipelineCache m_pipelineCache; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -6926,7 +7632,7 @@ namespace VULKAN_HPP_NAMESPACE pipelineCache, VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -6951,7 +7657,7 @@ namespace VULKAN_HPP_NAMESPACE pipelineCache, VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -6979,7 +7685,7 @@ namespace VULKAN_HPP_NAMESPACE pipelineCache, VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -7008,7 +7714,7 @@ namespace VULKAN_HPP_NAMESPACE pipelineCache, VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -7030,40 +7736,32 @@ namespace VULKAN_HPP_NAMESPACE Pipeline( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkPipeline pipeline, - VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_pipeline( pipeline ) - , m_device( *device ) + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr, + VULKAN_HPP_NAMESPACE::Result successCode = VULKAN_HPP_NAMESPACE::Result::eSuccess ) + : m_device( &device ) + , m_pipeline( pipeline ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) + , m_constructorSuccessCode( successCode ) , m_dispatcher( device.getDispatcher() ) {} - Pipeline( VkPipeline pipeline, - VkDevice device, - VkAllocationCallbacks const * allocator, - VULKAN_HPP_NAMESPACE::Result successCode, - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher ) - : m_pipeline( pipeline ) - , m_device( device ) - , m_allocator( allocator ) - , m_constructorSuccessCode( successCode ) - , m_dispatcher( dispatcher ) - {} Pipeline( std::nullptr_t ) {} ~Pipeline() { if ( m_pipeline ) { - getDispatcher()->vkDestroyPipeline( m_device, static_cast<VkPipeline>( m_pipeline ), m_allocator ); + getDispatcher()->vkDestroyPipeline( + static_cast<VkDevice>( **m_device ), static_cast<VkPipeline>( m_pipeline ), m_allocator ); } } Pipeline() = delete; Pipeline( Pipeline const & ) = delete; Pipeline( Pipeline && rhs ) VULKAN_HPP_NOEXCEPT - : m_pipeline( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipeline, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_pipeline( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipeline, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -7074,10 +7772,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_pipeline ) { - getDispatcher()->vkDestroyPipeline( m_device, static_cast<VkPipeline>( m_pipeline ), m_allocator ); + getDispatcher()->vkDestroyPipeline( + static_cast<VkDevice>( **m_device ), static_cast<VkPipeline>( m_pipeline ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_pipeline = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipeline, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -7094,6 +7793,11 @@ namespace VULKAN_HPP_NAMESPACE return m_constructorSuccessCode; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7139,8 +7843,8 @@ namespace VULKAN_HPP_NAMESPACE uint32_t group, VULKAN_HPP_NAMESPACE::ShaderGroupShaderKHR groupShader ) const VULKAN_HPP_NOEXCEPT; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::Pipeline m_pipeline; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::Result m_constructorSuccessCode; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; @@ -7173,12 +7877,7 @@ namespace VULKAN_HPP_NAMESPACE this->reserve( createInfos.size() ); for ( auto const & pipeline : pipelines ) { - this->emplace_back( pipeline, - static_cast<VkDevice>( *device ), - reinterpret_cast<const VkAllocationCallbacks *>( - static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), - result, - dispatcher ); + this->emplace_back( device, pipeline, allocator, result ); } } else @@ -7211,12 +7910,7 @@ namespace VULKAN_HPP_NAMESPACE this->reserve( createInfos.size() ); for ( auto const & pipeline : pipelines ) { - this->emplace_back( pipeline, - static_cast<VkDevice>( *device ), - reinterpret_cast<const VkAllocationCallbacks *>( - static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), - result, - dispatcher ); + this->emplace_back( device, pipeline, allocator, result ); } } else @@ -7254,12 +7948,7 @@ namespace VULKAN_HPP_NAMESPACE this->reserve( createInfos.size() ); for ( auto const & pipeline : pipelines ) { - this->emplace_back( pipeline, - static_cast<VkDevice>( *device ), - reinterpret_cast<const VkAllocationCallbacks *>( - static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), - result, - dispatcher ); + this->emplace_back( device, pipeline, allocator, result ); } } else @@ -7292,12 +7981,7 @@ namespace VULKAN_HPP_NAMESPACE this->reserve( createInfos.size() ); for ( auto const & pipeline : pipelines ) { - this->emplace_back( pipeline, - static_cast<VkDevice>( *device ), - reinterpret_cast<const VkAllocationCallbacks *>( - static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), - result, - dispatcher ); + this->emplace_back( device, pipeline, allocator, result ); } } else @@ -7328,16 +8012,17 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreatePipelineLayout( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkPipelineLayoutCreateInfo *>( &createInfo ), - m_allocator, - reinterpret_cast<VkPipelineLayout *>( &m_pipelineLayout ) ) ); + VULKAN_HPP_NAMESPACE::Result result = + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkCreatePipelineLayout( + static_cast<VkDevice>( *device ), + reinterpret_cast<const VkPipelineLayoutCreateInfo *>( &createInfo ), + m_allocator, + reinterpret_cast<VkPipelineLayout *>( &m_pipelineLayout ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreatePipelineLayout" ); @@ -7348,8 +8033,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkPipelineLayout pipelineLayout, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_pipelineLayout( pipelineLayout ) - , m_device( *device ) + : m_device( &device ) + , m_pipelineLayout( pipelineLayout ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -7362,15 +8047,15 @@ namespace VULKAN_HPP_NAMESPACE if ( m_pipelineLayout ) { getDispatcher()->vkDestroyPipelineLayout( - m_device, static_cast<VkPipelineLayout>( m_pipelineLayout ), m_allocator ); + static_cast<VkDevice>( **m_device ), static_cast<VkPipelineLayout>( m_pipelineLayout ), m_allocator ); } } PipelineLayout() = delete; PipelineLayout( PipelineLayout const & ) = delete; PipelineLayout( PipelineLayout && rhs ) VULKAN_HPP_NOEXCEPT - : m_pipelineLayout( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipelineLayout, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_pipelineLayout( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipelineLayout, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -7382,10 +8067,10 @@ namespace VULKAN_HPP_NAMESPACE if ( m_pipelineLayout ) { getDispatcher()->vkDestroyPipelineLayout( - m_device, static_cast<VkPipelineLayout>( m_pipelineLayout ), m_allocator ); + static_cast<VkDevice>( **m_device ), static_cast<VkPipelineLayout>( m_pipelineLayout ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_pipelineLayout = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipelineLayout, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -7397,6 +8082,11 @@ namespace VULKAN_HPP_NAMESPACE return m_pipelineLayout; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7404,8 +8094,8 @@ namespace VULKAN_HPP_NAMESPACE } private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::PipelineLayout m_pipelineLayout; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -7425,13 +8115,13 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfoEXT const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreatePrivateDataSlotEXT( + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkCreatePrivateDataSlotEXT( static_cast<VkDevice>( *device ), reinterpret_cast<const VkPrivateDataSlotCreateInfoEXT *>( &createInfo ), m_allocator, @@ -7446,8 +8136,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkPrivateDataSlotEXT privateDataSlotEXT, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_privateDataSlotEXT( privateDataSlotEXT ) - , m_device( *device ) + : m_device( &device ) + , m_privateDataSlotEXT( privateDataSlotEXT ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -7459,17 +8149,18 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_privateDataSlotEXT ) { - getDispatcher()->vkDestroyPrivateDataSlotEXT( - m_device, static_cast<VkPrivateDataSlotEXT>( m_privateDataSlotEXT ), m_allocator ); + getDispatcher()->vkDestroyPrivateDataSlotEXT( static_cast<VkDevice>( **m_device ), + static_cast<VkPrivateDataSlotEXT>( m_privateDataSlotEXT ), + m_allocator ); } } PrivateDataSlotEXT() = delete; PrivateDataSlotEXT( PrivateDataSlotEXT const & ) = delete; PrivateDataSlotEXT( PrivateDataSlotEXT && rhs ) VULKAN_HPP_NOEXCEPT - : m_privateDataSlotEXT( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_privateDataSlotEXT, + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_privateDataSlotEXT( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_privateDataSlotEXT, {} ) ) - , m_device( rhs.m_device ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -7480,12 +8171,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_privateDataSlotEXT ) { - getDispatcher()->vkDestroyPrivateDataSlotEXT( - m_device, static_cast<VkPrivateDataSlotEXT>( m_privateDataSlotEXT ), m_allocator ); + getDispatcher()->vkDestroyPrivateDataSlotEXT( static_cast<VkDevice>( **m_device ), + static_cast<VkPrivateDataSlotEXT>( m_privateDataSlotEXT ), + m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_privateDataSlotEXT = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_privateDataSlotEXT, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -7497,6 +8189,11 @@ namespace VULKAN_HPP_NAMESPACE return m_privateDataSlotEXT; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7504,8 +8201,8 @@ namespace VULKAN_HPP_NAMESPACE } private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT m_privateDataSlotEXT; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -7524,16 +8221,16 @@ namespace VULKAN_HPP_NAMESPACE QueryPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateQueryPool( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkQueryPoolCreateInfo *>( &createInfo ), - m_allocator, - reinterpret_cast<VkQueryPool *>( &m_queryPool ) ) ); + device.getDispatcher()->vkCreateQueryPool( static_cast<VkDevice>( *device ), + reinterpret_cast<const VkQueryPoolCreateInfo *>( &createInfo ), + m_allocator, + reinterpret_cast<VkQueryPool *>( &m_queryPool ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateQueryPool" ); @@ -7543,8 +8240,8 @@ namespace VULKAN_HPP_NAMESPACE QueryPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkQueryPool queryPool, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_queryPool( queryPool ) - , m_device( *device ) + : m_device( &device ) + , m_queryPool( queryPool ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -7556,15 +8253,16 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_queryPool ) { - getDispatcher()->vkDestroyQueryPool( m_device, static_cast<VkQueryPool>( m_queryPool ), m_allocator ); + getDispatcher()->vkDestroyQueryPool( + static_cast<VkDevice>( **m_device ), static_cast<VkQueryPool>( m_queryPool ), m_allocator ); } } QueryPool() = delete; QueryPool( QueryPool const & ) = delete; QueryPool( QueryPool && rhs ) VULKAN_HPP_NOEXCEPT - : m_queryPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_queryPool, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_queryPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_queryPool, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -7575,10 +8273,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_queryPool ) { - getDispatcher()->vkDestroyQueryPool( m_device, static_cast<VkQueryPool>( m_queryPool ), m_allocator ); + getDispatcher()->vkDestroyQueryPool( + static_cast<VkDevice>( **m_device ), static_cast<VkQueryPool>( m_queryPool ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_queryPool = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_queryPool, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -7590,6 +8289,11 @@ namespace VULKAN_HPP_NAMESPACE return m_queryPool; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7622,8 +8326,8 @@ namespace VULKAN_HPP_NAMESPACE void resetEXT( uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::QueryPool m_queryPool; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -7642,7 +8346,7 @@ namespace VULKAN_HPP_NAMESPACE Queue( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, uint32_t queueFamilyIndex, uint32_t queueIndex ) - : m_dispatcher( device.getDispatcher() ) + : m_device( &device ), m_dispatcher( device.getDispatcher() ) { getDispatcher()->vkGetDeviceQueue( static_cast<VkDevice>( *device ), queueFamilyIndex, queueIndex, reinterpret_cast<VkQueue *>( &m_queue ) ); @@ -7650,7 +8354,7 @@ namespace VULKAN_HPP_NAMESPACE Queue( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 const & queueInfo ) - : m_dispatcher( device.getDispatcher() ) + : m_device( &device ), m_dispatcher( device.getDispatcher() ) { getDispatcher()->vkGetDeviceQueue2( static_cast<VkDevice>( *device ), reinterpret_cast<const VkDeviceQueueInfo2 *>( &queueInfo ), @@ -7658,7 +8362,7 @@ namespace VULKAN_HPP_NAMESPACE } Queue( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkQueue queue ) - : m_queue( queue ), m_dispatcher( device.getDispatcher() ) + : m_device( &device ), m_queue( queue ), m_dispatcher( device.getDispatcher() ) {} Queue( std::nullptr_t ) {} @@ -7666,7 +8370,8 @@ namespace VULKAN_HPP_NAMESPACE Queue() = delete; Queue( Queue const & ) = delete; Queue( Queue && rhs ) VULKAN_HPP_NOEXCEPT - : m_queue( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_queue, {} ) ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_queue( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_queue, {} ) ) , m_dispatcher( rhs.m_dispatcher ) {} Queue & operator=( Queue const & ) = delete; @@ -7674,6 +8379,7 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_queue = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_queue, {} ); m_dispatcher = rhs.m_dispatcher; } @@ -7685,6 +8391,11 @@ namespace VULKAN_HPP_NAMESPACE return m_queue; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7734,6 +8445,7 @@ namespace VULKAN_HPP_NAMESPACE getCheckpointData2NV() const VULKAN_HPP_NOEXCEPT; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::Queue m_queue; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -7752,16 +8464,16 @@ namespace VULKAN_HPP_NAMESPACE RenderPass( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::RenderPassCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateRenderPass( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkRenderPassCreateInfo *>( &createInfo ), - m_allocator, - reinterpret_cast<VkRenderPass *>( &m_renderPass ) ) ); + device.getDispatcher()->vkCreateRenderPass( static_cast<VkDevice>( *device ), + reinterpret_cast<const VkRenderPassCreateInfo *>( &createInfo ), + m_allocator, + reinterpret_cast<VkRenderPass *>( &m_renderPass ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateRenderPass" ); @@ -7771,16 +8483,16 @@ namespace VULKAN_HPP_NAMESPACE RenderPass( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateRenderPass2( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkRenderPassCreateInfo2 *>( &createInfo ), - m_allocator, - reinterpret_cast<VkRenderPass *>( &m_renderPass ) ) ); + device.getDispatcher()->vkCreateRenderPass2( static_cast<VkDevice>( *device ), + reinterpret_cast<const VkRenderPassCreateInfo2 *>( &createInfo ), + m_allocator, + reinterpret_cast<VkRenderPass *>( &m_renderPass ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateRenderPass2" ); @@ -7790,8 +8502,8 @@ namespace VULKAN_HPP_NAMESPACE RenderPass( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkRenderPass renderPass, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_renderPass( renderPass ) - , m_device( *device ) + : m_device( &device ) + , m_renderPass( renderPass ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -7803,15 +8515,16 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_renderPass ) { - getDispatcher()->vkDestroyRenderPass( m_device, static_cast<VkRenderPass>( m_renderPass ), m_allocator ); + getDispatcher()->vkDestroyRenderPass( + static_cast<VkDevice>( **m_device ), static_cast<VkRenderPass>( m_renderPass ), m_allocator ); } } RenderPass() = delete; RenderPass( RenderPass const & ) = delete; RenderPass( RenderPass && rhs ) VULKAN_HPP_NOEXCEPT - : m_renderPass( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_renderPass, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_renderPass( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_renderPass, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -7822,10 +8535,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_renderPass ) { - getDispatcher()->vkDestroyRenderPass( m_device, static_cast<VkRenderPass>( m_renderPass ), m_allocator ); + getDispatcher()->vkDestroyRenderPass( + static_cast<VkDevice>( **m_device ), static_cast<VkRenderPass>( m_renderPass ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_renderPass = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_renderPass, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -7837,6 +8551,11 @@ namespace VULKAN_HPP_NAMESPACE return m_renderPass; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7853,8 +8572,8 @@ namespace VULKAN_HPP_NAMESPACE getSubpassShadingMaxWorkgroupSizeHUAWEI() const; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::RenderPass m_renderPass; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -7873,16 +8592,16 @@ namespace VULKAN_HPP_NAMESPACE Sampler( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::SamplerCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateSampler( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkSamplerCreateInfo *>( &createInfo ), - m_allocator, - reinterpret_cast<VkSampler *>( &m_sampler ) ) ); + device.getDispatcher()->vkCreateSampler( static_cast<VkDevice>( *device ), + reinterpret_cast<const VkSamplerCreateInfo *>( &createInfo ), + m_allocator, + reinterpret_cast<VkSampler *>( &m_sampler ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateSampler" ); @@ -7892,8 +8611,8 @@ namespace VULKAN_HPP_NAMESPACE Sampler( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkSampler sampler, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_sampler( sampler ) - , m_device( *device ) + : m_device( &device ) + , m_sampler( sampler ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -7905,15 +8624,16 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_sampler ) { - getDispatcher()->vkDestroySampler( m_device, static_cast<VkSampler>( m_sampler ), m_allocator ); + getDispatcher()->vkDestroySampler( + static_cast<VkDevice>( **m_device ), static_cast<VkSampler>( m_sampler ), m_allocator ); } } Sampler() = delete; Sampler( Sampler const & ) = delete; Sampler( Sampler && rhs ) VULKAN_HPP_NOEXCEPT - : m_sampler( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_sampler, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_sampler( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_sampler, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -7924,10 +8644,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_sampler ) { - getDispatcher()->vkDestroySampler( m_device, static_cast<VkSampler>( m_sampler ), m_allocator ); + getDispatcher()->vkDestroySampler( + static_cast<VkDevice>( **m_device ), static_cast<VkSampler>( m_sampler ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_sampler = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_sampler, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -7939,6 +8660,11 @@ namespace VULKAN_HPP_NAMESPACE return m_sampler; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7946,8 +8672,8 @@ namespace VULKAN_HPP_NAMESPACE } private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::Sampler m_sampler; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -7967,13 +8693,13 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateSamplerYcbcrConversion( + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkCreateSamplerYcbcrConversion( static_cast<VkDevice>( *device ), reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>( &createInfo ), m_allocator, @@ -7988,8 +8714,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkSamplerYcbcrConversion samplerYcbcrConversion, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_samplerYcbcrConversion( samplerYcbcrConversion ) - , m_device( *device ) + : m_device( &device ) + , m_samplerYcbcrConversion( samplerYcbcrConversion ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -8002,16 +8728,18 @@ namespace VULKAN_HPP_NAMESPACE if ( m_samplerYcbcrConversion ) { getDispatcher()->vkDestroySamplerYcbcrConversion( - m_device, static_cast<VkSamplerYcbcrConversion>( m_samplerYcbcrConversion ), m_allocator ); + static_cast<VkDevice>( **m_device ), + static_cast<VkSamplerYcbcrConversion>( m_samplerYcbcrConversion ), + m_allocator ); } } SamplerYcbcrConversion() = delete; SamplerYcbcrConversion( SamplerYcbcrConversion const & ) = delete; SamplerYcbcrConversion( SamplerYcbcrConversion && rhs ) VULKAN_HPP_NOEXCEPT - : m_samplerYcbcrConversion( + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_samplerYcbcrConversion( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_samplerYcbcrConversion, {} ) ) - , m_device( rhs.m_device ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -8023,11 +8751,13 @@ namespace VULKAN_HPP_NAMESPACE if ( m_samplerYcbcrConversion ) { getDispatcher()->vkDestroySamplerYcbcrConversion( - m_device, static_cast<VkSamplerYcbcrConversion>( m_samplerYcbcrConversion ), m_allocator ); + static_cast<VkDevice>( **m_device ), + static_cast<VkSamplerYcbcrConversion>( m_samplerYcbcrConversion ), + m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_samplerYcbcrConversion = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_samplerYcbcrConversion, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -8039,6 +8769,11 @@ namespace VULKAN_HPP_NAMESPACE return m_samplerYcbcrConversion; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8046,8 +8781,8 @@ namespace VULKAN_HPP_NAMESPACE } private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion m_samplerYcbcrConversion; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -8066,16 +8801,16 @@ namespace VULKAN_HPP_NAMESPACE Semaphore( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateSemaphore( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkSemaphoreCreateInfo *>( &createInfo ), - m_allocator, - reinterpret_cast<VkSemaphore *>( &m_semaphore ) ) ); + device.getDispatcher()->vkCreateSemaphore( static_cast<VkDevice>( *device ), + reinterpret_cast<const VkSemaphoreCreateInfo *>( &createInfo ), + m_allocator, + reinterpret_cast<VkSemaphore *>( &m_semaphore ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateSemaphore" ); @@ -8085,8 +8820,8 @@ namespace VULKAN_HPP_NAMESPACE Semaphore( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkSemaphore semaphore, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_semaphore( semaphore ) - , m_device( *device ) + : m_device( &device ) + , m_semaphore( semaphore ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -8098,15 +8833,16 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_semaphore ) { - getDispatcher()->vkDestroySemaphore( m_device, static_cast<VkSemaphore>( m_semaphore ), m_allocator ); + getDispatcher()->vkDestroySemaphore( + static_cast<VkDevice>( **m_device ), static_cast<VkSemaphore>( m_semaphore ), m_allocator ); } } Semaphore() = delete; Semaphore( Semaphore const & ) = delete; Semaphore( Semaphore && rhs ) VULKAN_HPP_NOEXCEPT - : m_semaphore( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_semaphore, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_semaphore( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_semaphore, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -8117,10 +8853,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_semaphore ) { - getDispatcher()->vkDestroySemaphore( m_device, static_cast<VkSemaphore>( m_semaphore ), m_allocator ); + getDispatcher()->vkDestroySemaphore( + static_cast<VkDevice>( **m_device ), static_cast<VkSemaphore>( m_semaphore ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_semaphore = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_semaphore, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -8132,6 +8869,11 @@ namespace VULKAN_HPP_NAMESPACE return m_semaphore; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8147,8 +8889,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD uint64_t getCounterValueKHR() const; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::Semaphore m_semaphore; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -8168,16 +8910,17 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateShaderModule( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkShaderModuleCreateInfo *>( &createInfo ), - m_allocator, - reinterpret_cast<VkShaderModule *>( &m_shaderModule ) ) ); + VULKAN_HPP_NAMESPACE::Result result = + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkCreateShaderModule( + static_cast<VkDevice>( *device ), + reinterpret_cast<const VkShaderModuleCreateInfo *>( &createInfo ), + m_allocator, + reinterpret_cast<VkShaderModule *>( &m_shaderModule ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateShaderModule" ); @@ -8188,8 +8931,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkShaderModule shaderModule, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_shaderModule( shaderModule ) - , m_device( *device ) + : m_device( &device ) + , m_shaderModule( shaderModule ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -8202,15 +8945,15 @@ namespace VULKAN_HPP_NAMESPACE if ( m_shaderModule ) { getDispatcher()->vkDestroyShaderModule( - m_device, static_cast<VkShaderModule>( m_shaderModule ), m_allocator ); + static_cast<VkDevice>( **m_device ), static_cast<VkShaderModule>( m_shaderModule ), m_allocator ); } } ShaderModule() = delete; ShaderModule( ShaderModule const & ) = delete; ShaderModule( ShaderModule && rhs ) VULKAN_HPP_NOEXCEPT - : m_shaderModule( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_shaderModule, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_shaderModule( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_shaderModule, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -8222,10 +8965,10 @@ namespace VULKAN_HPP_NAMESPACE if ( m_shaderModule ) { getDispatcher()->vkDestroyShaderModule( - m_device, static_cast<VkShaderModule>( m_shaderModule ), m_allocator ); + static_cast<VkDevice>( **m_device ), static_cast<VkShaderModule>( m_shaderModule ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_shaderModule = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_shaderModule, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -8237,6 +8980,11 @@ namespace VULKAN_HPP_NAMESPACE return m_shaderModule; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8244,8 +8992,8 @@ namespace VULKAN_HPP_NAMESPACE } private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::ShaderModule m_shaderModule; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -8265,13 +9013,13 @@ namespace VULKAN_HPP_NAMESPACE SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_instance( *instance ) + : m_instance( &instance ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateAndroidSurfaceKHR( + static_cast<VULKAN_HPP_NAMESPACE::Result>( instance.getDispatcher()->vkCreateAndroidSurfaceKHR( static_cast<VkInstance>( *instance ), reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR *>( &createInfo ), m_allocator, @@ -8287,13 +9035,13 @@ namespace VULKAN_HPP_NAMESPACE SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_instance( *instance ) + : m_instance( &instance ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateDirectFBSurfaceEXT( + static_cast<VULKAN_HPP_NAMESPACE::Result>( instance.getDispatcher()->vkCreateDirectFBSurfaceEXT( static_cast<VkInstance>( *instance ), reinterpret_cast<const VkDirectFBSurfaceCreateInfoEXT *>( &createInfo ), m_allocator, @@ -8308,13 +9056,13 @@ namespace VULKAN_HPP_NAMESPACE SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_instance( *instance ) + : m_instance( &instance ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateDisplayPlaneSurfaceKHR( + static_cast<VULKAN_HPP_NAMESPACE::Result>( instance.getDispatcher()->vkCreateDisplayPlaneSurfaceKHR( static_cast<VkInstance>( *instance ), reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR *>( &createInfo ), m_allocator, @@ -8328,13 +9076,13 @@ namespace VULKAN_HPP_NAMESPACE SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_instance( *instance ) + : m_instance( &instance ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateHeadlessSurfaceEXT( + static_cast<VULKAN_HPP_NAMESPACE::Result>( instance.getDispatcher()->vkCreateHeadlessSurfaceEXT( static_cast<VkInstance>( *instance ), reinterpret_cast<const VkHeadlessSurfaceCreateInfoEXT *>( &createInfo ), m_allocator, @@ -8349,16 +9097,17 @@ namespace VULKAN_HPP_NAMESPACE SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_instance( *instance ) + : m_instance( &instance ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) { - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateIOSSurfaceMVK( static_cast<VkInstance>( *instance ), - reinterpret_cast<const VkIOSSurfaceCreateInfoMVK *>( &createInfo ), - m_allocator, - reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); + VULKAN_HPP_NAMESPACE::Result result = + static_cast<VULKAN_HPP_NAMESPACE::Result>( instance.getDispatcher()->vkCreateIOSSurfaceMVK( + static_cast<VkInstance>( *instance ), + reinterpret_cast<const VkIOSSurfaceCreateInfoMVK *>( &createInfo ), + m_allocator, + reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateIOSSurfaceMVK" ); @@ -8370,13 +9119,13 @@ namespace VULKAN_HPP_NAMESPACE SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_instance( *instance ) + : m_instance( &instance ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateImagePipeSurfaceFUCHSIA( + static_cast<VULKAN_HPP_NAMESPACE::Result>( instance.getDispatcher()->vkCreateImagePipeSurfaceFUCHSIA( static_cast<VkInstance>( *instance ), reinterpret_cast<const VkImagePipeSurfaceCreateInfoFUCHSIA *>( &createInfo ), m_allocator, @@ -8392,13 +9141,13 @@ namespace VULKAN_HPP_NAMESPACE SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_instance( *instance ) + : m_instance( &instance ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateMacOSSurfaceMVK( + static_cast<VULKAN_HPP_NAMESPACE::Result>( instance.getDispatcher()->vkCreateMacOSSurfaceMVK( static_cast<VkInstance>( *instance ), reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK *>( &createInfo ), m_allocator, @@ -8414,13 +9163,13 @@ namespace VULKAN_HPP_NAMESPACE SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_instance( *instance ) + : m_instance( &instance ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateMetalSurfaceEXT( + static_cast<VULKAN_HPP_NAMESPACE::Result>( instance.getDispatcher()->vkCreateMetalSurfaceEXT( static_cast<VkInstance>( *instance ), reinterpret_cast<const VkMetalSurfaceCreateInfoEXT *>( &createInfo ), m_allocator, @@ -8436,13 +9185,13 @@ namespace VULKAN_HPP_NAMESPACE SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_instance( *instance ) + : m_instance( &instance ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateScreenSurfaceQNX( + static_cast<VULKAN_HPP_NAMESPACE::Result>( instance.getDispatcher()->vkCreateScreenSurfaceQNX( static_cast<VkInstance>( *instance ), reinterpret_cast<const VkScreenSurfaceCreateInfoQNX *>( &createInfo ), m_allocator, @@ -8458,13 +9207,13 @@ namespace VULKAN_HPP_NAMESPACE SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_instance( *instance ) + : m_instance( &instance ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateStreamDescriptorSurfaceGGP( + static_cast<VULKAN_HPP_NAMESPACE::Result>( instance.getDispatcher()->vkCreateStreamDescriptorSurfaceGGP( static_cast<VkInstance>( *instance ), reinterpret_cast<const VkStreamDescriptorSurfaceCreateInfoGGP *>( &createInfo ), m_allocator, @@ -8480,16 +9229,17 @@ namespace VULKAN_HPP_NAMESPACE SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_instance( *instance ) + : m_instance( &instance ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) { - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateViSurfaceNN( static_cast<VkInstance>( *instance ), - reinterpret_cast<const VkViSurfaceCreateInfoNN *>( &createInfo ), - m_allocator, - reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); + VULKAN_HPP_NAMESPACE::Result result = + static_cast<VULKAN_HPP_NAMESPACE::Result>( instance.getDispatcher()->vkCreateViSurfaceNN( + static_cast<VkInstance>( *instance ), + reinterpret_cast<const VkViSurfaceCreateInfoNN *>( &createInfo ), + m_allocator, + reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateViSurfaceNN" ); @@ -8501,13 +9251,13 @@ namespace VULKAN_HPP_NAMESPACE SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_instance( *instance ) + : m_instance( &instance ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateWaylandSurfaceKHR( + static_cast<VULKAN_HPP_NAMESPACE::Result>( instance.getDispatcher()->vkCreateWaylandSurfaceKHR( static_cast<VkInstance>( *instance ), reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR *>( &createInfo ), m_allocator, @@ -8523,13 +9273,13 @@ namespace VULKAN_HPP_NAMESPACE SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_instance( *instance ) + : m_instance( &instance ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateWin32SurfaceKHR( + static_cast<VULKAN_HPP_NAMESPACE::Result>( instance.getDispatcher()->vkCreateWin32SurfaceKHR( static_cast<VkInstance>( *instance ), reinterpret_cast<const VkWin32SurfaceCreateInfoKHR *>( &createInfo ), m_allocator, @@ -8545,16 +9295,17 @@ namespace VULKAN_HPP_NAMESPACE SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_instance( *instance ) + : m_instance( &instance ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) { - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateXcbSurfaceKHR( static_cast<VkInstance>( *instance ), - reinterpret_cast<const VkXcbSurfaceCreateInfoKHR *>( &createInfo ), - m_allocator, - reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); + VULKAN_HPP_NAMESPACE::Result result = + static_cast<VULKAN_HPP_NAMESPACE::Result>( instance.getDispatcher()->vkCreateXcbSurfaceKHR( + static_cast<VkInstance>( *instance ), + reinterpret_cast<const VkXcbSurfaceCreateInfoKHR *>( &createInfo ), + m_allocator, + reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateXcbSurfaceKHR" ); @@ -8566,16 +9317,17 @@ namespace VULKAN_HPP_NAMESPACE SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_instance( *instance ) + : m_instance( &instance ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) { - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateXlibSurfaceKHR( static_cast<VkInstance>( *instance ), - reinterpret_cast<const VkXlibSurfaceCreateInfoKHR *>( &createInfo ), - m_allocator, - reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); + VULKAN_HPP_NAMESPACE::Result result = + static_cast<VULKAN_HPP_NAMESPACE::Result>( instance.getDispatcher()->vkCreateXlibSurfaceKHR( + static_cast<VkInstance>( *instance ), + reinterpret_cast<const VkXlibSurfaceCreateInfoKHR *>( &createInfo ), + m_allocator, + reinterpret_cast<VkSurfaceKHR *>( &m_surfaceKHR ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateXlibSurfaceKHR" ); @@ -8586,8 +9338,8 @@ namespace VULKAN_HPP_NAMESPACE SurfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const & instance, VkSurfaceKHR surfaceKHR, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_surfaceKHR( surfaceKHR ) - , m_instance( *instance ) + : m_instance( &instance ) + , m_surfaceKHR( surfaceKHR ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( instance.getDispatcher() ) @@ -8599,15 +9351,16 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_surfaceKHR ) { - getDispatcher()->vkDestroySurfaceKHR( m_instance, static_cast<VkSurfaceKHR>( m_surfaceKHR ), m_allocator ); + getDispatcher()->vkDestroySurfaceKHR( + static_cast<VkInstance>( **m_instance ), static_cast<VkSurfaceKHR>( m_surfaceKHR ), m_allocator ); } } SurfaceKHR() = delete; SurfaceKHR( SurfaceKHR const & ) = delete; SurfaceKHR( SurfaceKHR && rhs ) VULKAN_HPP_NOEXCEPT - : m_surfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_surfaceKHR, {} ) ) - , m_instance( rhs.m_instance ) + : m_instance( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_instance, nullptr ) ) + , m_surfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_surfaceKHR, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -8618,10 +9371,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_surfaceKHR ) { - getDispatcher()->vkDestroySurfaceKHR( m_instance, static_cast<VkSurfaceKHR>( m_surfaceKHR ), m_allocator ); + getDispatcher()->vkDestroySurfaceKHR( + static_cast<VkInstance>( **m_instance ), static_cast<VkSurfaceKHR>( m_surfaceKHR ), m_allocator ); } + m_instance = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_instance, nullptr ); m_surfaceKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_surfaceKHR, {} ); - m_instance = rhs.m_instance; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -8633,6 +9387,11 @@ namespace VULKAN_HPP_NAMESPACE return m_surfaceKHR; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const * getInstance() const VULKAN_HPP_NOEXCEPT + { + return m_instance; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8640,8 +9399,8 @@ namespace VULKAN_HPP_NAMESPACE } private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const * m_instance = nullptr; VULKAN_HPP_NAMESPACE::SurfaceKHR m_surfaceKHR; - VkInstance m_instance; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * m_dispatcher = nullptr; }; @@ -8661,16 +9420,17 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCreateSwapchainKHR( static_cast<VkDevice>( *device ), - reinterpret_cast<const VkSwapchainCreateInfoKHR *>( &createInfo ), - m_allocator, - reinterpret_cast<VkSwapchainKHR *>( &m_swapchainKHR ) ) ); + VULKAN_HPP_NAMESPACE::Result result = + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkCreateSwapchainKHR( + static_cast<VkDevice>( *device ), + reinterpret_cast<const VkSwapchainCreateInfoKHR *>( &createInfo ), + m_allocator, + reinterpret_cast<VkSwapchainKHR *>( &m_swapchainKHR ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, "vkCreateSwapchainKHR" ); @@ -8681,19 +9441,13 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkSwapchainKHR swapchainKHR, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_swapchainKHR( swapchainKHR ) - , m_device( *device ) + : m_device( &device ) + , m_swapchainKHR( swapchainKHR ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) {} - SwapchainKHR( VkSwapchainKHR swapchainKHR, - VkDevice device, - VkAllocationCallbacks const * allocator, - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher ) - : m_swapchainKHR( swapchainKHR ), m_device( device ), m_allocator( allocator ), m_dispatcher( dispatcher ) - {} SwapchainKHR( std::nullptr_t ) {} ~SwapchainKHR() @@ -8701,15 +9455,15 @@ namespace VULKAN_HPP_NAMESPACE if ( m_swapchainKHR ) { getDispatcher()->vkDestroySwapchainKHR( - m_device, static_cast<VkSwapchainKHR>( m_swapchainKHR ), m_allocator ); + static_cast<VkDevice>( **m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), m_allocator ); } } SwapchainKHR() = delete; SwapchainKHR( SwapchainKHR const & ) = delete; SwapchainKHR( SwapchainKHR && rhs ) VULKAN_HPP_NOEXCEPT - : m_swapchainKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_swapchainKHR, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_swapchainKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_swapchainKHR, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -8721,10 +9475,10 @@ namespace VULKAN_HPP_NAMESPACE if ( m_swapchainKHR ) { getDispatcher()->vkDestroySwapchainKHR( - m_device, static_cast<VkSwapchainKHR>( m_swapchainKHR ), m_allocator ); + static_cast<VkDevice>( **m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_swapchainKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_swapchainKHR, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -8736,6 +9490,11 @@ namespace VULKAN_HPP_NAMESPACE return m_swapchainKHR; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8783,8 +9542,8 @@ namespace VULKAN_HPP_NAMESPACE # endif /*VK_USE_PLATFORM_WIN32_KHR*/ private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::SwapchainKHR m_swapchainKHR; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -8812,11 +9571,7 @@ namespace VULKAN_HPP_NAMESPACE this->reserve( createInfos.size() ); for ( auto const & swapchainKHR : swapchains ) { - this->emplace_back( swapchainKHR, - static_cast<VkDevice>( *device ), - reinterpret_cast<const VkAllocationCallbacks *>( - static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), - dispatcher ); + this->emplace_back( device, swapchainKHR, allocator ); } } else @@ -8847,13 +9602,13 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateValidationCacheEXT( + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkCreateValidationCacheEXT( static_cast<VkDevice>( *device ), reinterpret_cast<const VkValidationCacheCreateInfoEXT *>( &createInfo ), m_allocator, @@ -8868,8 +9623,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkValidationCacheEXT validationCacheEXT, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_validationCacheEXT( validationCacheEXT ) - , m_device( *device ) + : m_device( &device ) + , m_validationCacheEXT( validationCacheEXT ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -8881,17 +9636,18 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_validationCacheEXT ) { - getDispatcher()->vkDestroyValidationCacheEXT( - m_device, static_cast<VkValidationCacheEXT>( m_validationCacheEXT ), m_allocator ); + getDispatcher()->vkDestroyValidationCacheEXT( static_cast<VkDevice>( **m_device ), + static_cast<VkValidationCacheEXT>( m_validationCacheEXT ), + m_allocator ); } } ValidationCacheEXT() = delete; ValidationCacheEXT( ValidationCacheEXT const & ) = delete; ValidationCacheEXT( ValidationCacheEXT && rhs ) VULKAN_HPP_NOEXCEPT - : m_validationCacheEXT( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_validationCacheEXT, + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_validationCacheEXT( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_validationCacheEXT, {} ) ) - , m_device( rhs.m_device ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -8902,12 +9658,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( m_validationCacheEXT ) { - getDispatcher()->vkDestroyValidationCacheEXT( - m_device, static_cast<VkValidationCacheEXT>( m_validationCacheEXT ), m_allocator ); + getDispatcher()->vkDestroyValidationCacheEXT( static_cast<VkDevice>( **m_device ), + static_cast<VkValidationCacheEXT>( m_validationCacheEXT ), + m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_validationCacheEXT = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_validationCacheEXT, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -8919,6 +9676,11 @@ namespace VULKAN_HPP_NAMESPACE return m_validationCacheEXT; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8932,8 +9694,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD std::vector<uint8_t> getData() const; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::ValidationCacheEXT m_validationCacheEXT; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -8954,13 +9716,13 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateVideoSessionKHR( + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkCreateVideoSessionKHR( static_cast<VkDevice>( *device ), reinterpret_cast<const VkVideoSessionCreateInfoKHR *>( &createInfo ), m_allocator, @@ -8975,8 +9737,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkVideoSessionKHR videoSessionKHR, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_videoSessionKHR( videoSessionKHR ) - , m_device( *device ) + : m_device( &device ) + , m_videoSessionKHR( videoSessionKHR ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -8989,15 +9751,15 @@ namespace VULKAN_HPP_NAMESPACE if ( m_videoSessionKHR ) { getDispatcher()->vkDestroyVideoSessionKHR( - m_device, static_cast<VkVideoSessionKHR>( m_videoSessionKHR ), m_allocator ); + static_cast<VkDevice>( **m_device ), static_cast<VkVideoSessionKHR>( m_videoSessionKHR ), m_allocator ); } } VideoSessionKHR() = delete; VideoSessionKHR( VideoSessionKHR const & ) = delete; VideoSessionKHR( VideoSessionKHR && rhs ) VULKAN_HPP_NOEXCEPT - : m_videoSessionKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_videoSessionKHR, {} ) ) - , m_device( rhs.m_device ) + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_videoSessionKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_videoSessionKHR, {} ) ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -9009,10 +9771,10 @@ namespace VULKAN_HPP_NAMESPACE if ( m_videoSessionKHR ) { getDispatcher()->vkDestroyVideoSessionKHR( - m_device, static_cast<VkVideoSessionKHR>( m_videoSessionKHR ), m_allocator ); + static_cast<VkDevice>( **m_device ), static_cast<VkVideoSessionKHR>( m_videoSessionKHR ), m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_videoSessionKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_videoSessionKHR, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -9024,6 +9786,11 @@ namespace VULKAN_HPP_NAMESPACE return m_videoSessionKHR; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -9038,8 +9805,8 @@ namespace VULKAN_HPP_NAMESPACE bindMemory( ArrayProxy<const VULKAN_HPP_NAMESPACE::VideoBindMemoryKHR> const & videoSessionBindMemories ) const; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::VideoSessionKHR m_videoSessionKHR; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -9061,13 +9828,13 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR const & createInfo, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_device( *device ) + : m_device( &device ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) { VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCreateVideoSessionParametersKHR( + static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkCreateVideoSessionParametersKHR( static_cast<VkDevice>( *device ), reinterpret_cast<const VkVideoSessionParametersCreateInfoKHR *>( &createInfo ), m_allocator, @@ -9082,8 +9849,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device, VkVideoSessionParametersKHR videoSessionParametersKHR, VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) - : m_videoSessionParametersKHR( videoSessionParametersKHR ) - , m_device( *device ) + : m_device( &device ) + , m_videoSessionParametersKHR( videoSessionParametersKHR ) , m_allocator( reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ) , m_dispatcher( device.getDispatcher() ) @@ -9096,16 +9863,18 @@ namespace VULKAN_HPP_NAMESPACE if ( m_videoSessionParametersKHR ) { getDispatcher()->vkDestroyVideoSessionParametersKHR( - m_device, static_cast<VkVideoSessionParametersKHR>( m_videoSessionParametersKHR ), m_allocator ); + static_cast<VkDevice>( **m_device ), + static_cast<VkVideoSessionParametersKHR>( m_videoSessionParametersKHR ), + m_allocator ); } } VideoSessionParametersKHR() = delete; VideoSessionParametersKHR( VideoSessionParametersKHR const & ) = delete; VideoSessionParametersKHR( VideoSessionParametersKHR && rhs ) VULKAN_HPP_NOEXCEPT - : m_videoSessionParametersKHR( + : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ) ) + , m_videoSessionParametersKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_videoSessionParametersKHR, {} ) ) - , m_device( rhs.m_device ) , m_allocator( rhs.m_allocator ) , m_dispatcher( rhs.m_dispatcher ) {} @@ -9117,11 +9886,13 @@ namespace VULKAN_HPP_NAMESPACE if ( m_videoSessionParametersKHR ) { getDispatcher()->vkDestroyVideoSessionParametersKHR( - m_device, static_cast<VkVideoSessionParametersKHR>( m_videoSessionParametersKHR ), m_allocator ); + static_cast<VkDevice>( **m_device ), + static_cast<VkVideoSessionParametersKHR>( m_videoSessionParametersKHR ), + m_allocator ); } + m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, nullptr ); m_videoSessionParametersKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_videoSessionParametersKHR, {} ); - m_device = rhs.m_device; m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; } @@ -9133,6 +9904,11 @@ namespace VULKAN_HPP_NAMESPACE return m_videoSessionParametersKHR; } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * getDevice() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const { VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -9144,8 +9920,8 @@ namespace VULKAN_HPP_NAMESPACE void update( const VULKAN_HPP_NAMESPACE::VideoSessionParametersUpdateInfoKHR & updateInfo ) const; private: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const * m_device = nullptr; VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR m_videoSessionParametersKHR; - VkDevice m_device; const VkAllocationCallbacks * m_allocator = nullptr; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr; }; @@ -9157,6 +9933,19 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_0 === + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Instance Context::createInstance( + VULKAN_HPP_NAMESPACE::InstanceCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Instance( *this, createInfo, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice> + Instance::enumeratePhysicalDevices() const + { + return VULKAN_HPP_RAII_NAMESPACE::PhysicalDevices( *this ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures PhysicalDevice::getFeatures() const VULKAN_HPP_NOEXCEPT { @@ -9221,7 +10010,7 @@ namespace VULKAN_HPP_NAMESPACE static_cast<VkPhysicalDevice>( m_physicalDevice ), &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties *>( queueFamilyProperties.data() ) ); - VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); + VULKAN_HPP_ASSERT( queueFamilyPropertyCount == queueFamilyProperties.size() ); return queueFamilyProperties; } @@ -9247,6 +10036,13 @@ namespace VULKAN_HPP_NAMESPACE return getDispatcher()->vkGetDeviceProcAddr( static_cast<VkDevice>( m_device ), name.c_str() ); } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Device PhysicalDevice::createDevice( + VULKAN_HPP_NAMESPACE::DeviceCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Device( *this, createInfo, allocator ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties> Context::enumerateInstanceExtensionProperties( Optional<const std::string> layerName ) const { @@ -9374,6 +10170,12 @@ namespace VULKAN_HPP_NAMESPACE return properties; } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Queue + Device::getQueue( uint32_t queueFamilyIndex, uint32_t queueIndex ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Queue( *this, queueFamilyIndex, queueIndex ); + } + VULKAN_HPP_INLINE void Queue::submit( ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo> const & submits, VULKAN_HPP_NAMESPACE::Fence fence ) const { @@ -9408,6 +10210,13 @@ namespace VULKAN_HPP_NAMESPACE } } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DeviceMemory Device::allocateMemory( + VULKAN_HPP_NAMESPACE::MemoryAllocateInfo const & allocateInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::DeviceMemory( *this, allocateInfo, allocator ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE void * DeviceMemory::mapMemory( VULKAN_HPP_NAMESPACE::DeviceSize offset, VULKAN_HPP_NAMESPACE::DeviceSize size, @@ -9415,7 +10224,7 @@ namespace VULKAN_HPP_NAMESPACE { void * pData; VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkMapMemory( static_cast<VkDevice>( m_device ), + getDispatcher()->vkMapMemory( static_cast<VkDevice>( **m_device ), static_cast<VkDeviceMemory>( m_deviceMemory ), static_cast<VkDeviceSize>( offset ), static_cast<VkDeviceSize>( size ), @@ -9430,7 +10239,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_INLINE void DeviceMemory::unmapMemory() const VULKAN_HPP_NOEXCEPT { - getDispatcher()->vkUnmapMemory( static_cast<VkDevice>( m_device ), + getDispatcher()->vkUnmapMemory( static_cast<VkDevice>( **m_device ), static_cast<VkDeviceMemory>( m_deviceMemory ) ); } @@ -9466,7 +10275,7 @@ namespace VULKAN_HPP_NAMESPACE DeviceMemory::getCommitment() const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_NAMESPACE::DeviceSize committedMemoryInBytes; - getDispatcher()->vkGetDeviceMemoryCommitment( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetDeviceMemoryCommitment( static_cast<VkDevice>( **m_device ), static_cast<VkDeviceMemory>( m_deviceMemory ), reinterpret_cast<VkDeviceSize *>( &committedMemoryInBytes ) ); return committedMemoryInBytes; @@ -9476,7 +10285,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset ) const { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkBindBufferMemory( static_cast<VkDevice>( m_device ), + getDispatcher()->vkBindBufferMemory( static_cast<VkDevice>( **m_device ), static_cast<VkBuffer>( m_buffer ), static_cast<VkDeviceMemory>( memory ), static_cast<VkDeviceSize>( memoryOffset ) ) ); @@ -9490,7 +10299,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset ) const { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkBindImageMemory( static_cast<VkDevice>( m_device ), + getDispatcher()->vkBindImageMemory( static_cast<VkDevice>( **m_device ), static_cast<VkImage>( m_image ), static_cast<VkDeviceMemory>( memory ), static_cast<VkDeviceSize>( memoryOffset ) ) ); @@ -9504,7 +10313,7 @@ namespace VULKAN_HPP_NAMESPACE Buffer::getMemoryRequirements() const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_NAMESPACE::MemoryRequirements memoryRequirements; - getDispatcher()->vkGetBufferMemoryRequirements( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetBufferMemoryRequirements( static_cast<VkDevice>( **m_device ), static_cast<VkBuffer>( m_buffer ), reinterpret_cast<VkMemoryRequirements *>( &memoryRequirements ) ); return memoryRequirements; @@ -9514,7 +10323,7 @@ namespace VULKAN_HPP_NAMESPACE Image::getMemoryRequirements() const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_NAMESPACE::MemoryRequirements memoryRequirements; - getDispatcher()->vkGetImageMemoryRequirements( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetImageMemoryRequirements( static_cast<VkDevice>( **m_device ), static_cast<VkImage>( m_image ), reinterpret_cast<VkMemoryRequirements *>( &memoryRequirements ) ); return memoryRequirements; @@ -9525,15 +10334,15 @@ namespace VULKAN_HPP_NAMESPACE { uint32_t sparseMemoryRequirementCount; getDispatcher()->vkGetImageSparseMemoryRequirements( - static_cast<VkDevice>( m_device ), static_cast<VkImage>( m_image ), &sparseMemoryRequirementCount, nullptr ); + static_cast<VkDevice>( **m_device ), static_cast<VkImage>( m_image ), &sparseMemoryRequirementCount, nullptr ); std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements> sparseMemoryRequirements( sparseMemoryRequirementCount ); getDispatcher()->vkGetImageSparseMemoryRequirements( - static_cast<VkDevice>( m_device ), + static_cast<VkDevice>( **m_device ), static_cast<VkImage>( m_image ), &sparseMemoryRequirementCount, reinterpret_cast<VkSparseImageMemoryRequirements *>( sparseMemoryRequirements.data() ) ); - VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); + VULKAN_HPP_ASSERT( sparseMemoryRequirementCount == sparseMemoryRequirements.size() ); return sparseMemoryRequirements; } @@ -9565,7 +10374,7 @@ namespace VULKAN_HPP_NAMESPACE static_cast<VkImageTiling>( tiling ), &propertyCount, reinterpret_cast<VkSparseImageFormatProperties *>( properties.data() ) ); - VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); + VULKAN_HPP_ASSERT( propertyCount == properties.size() ); return properties; } @@ -9583,6 +10392,13 @@ namespace VULKAN_HPP_NAMESPACE } } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Fence Device::createFence( + VULKAN_HPP_NAMESPACE::FenceCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Fence( *this, createInfo, allocator ); + } + VULKAN_HPP_INLINE void Device::resetFences( ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences ) const { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkResetFences( @@ -9596,7 +10412,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Fence::getStatus() const { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkGetFenceStatus( static_cast<VkDevice>( m_device ), static_cast<VkFence>( m_fence ) ) ); + getDispatcher()->vkGetFenceStatus( static_cast<VkDevice>( **m_device ), static_cast<VkFence>( m_fence ) ) ); if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eNotReady ) ) { @@ -9624,10 +10440,24 @@ namespace VULKAN_HPP_NAMESPACE return result; } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Semaphore Device::createSemaphore( + VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Semaphore( *this, createInfo, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Event Device::createEvent( + VULKAN_HPP_NAMESPACE::EventCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Event( *this, createInfo, allocator ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Event::getStatus() const { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkGetEventStatus( static_cast<VkDevice>( m_device ), static_cast<VkEvent>( m_event ) ) ); + getDispatcher()->vkGetEventStatus( static_cast<VkDevice>( **m_device ), static_cast<VkEvent>( m_event ) ) ); if ( ( result != VULKAN_HPP_NAMESPACE::Result::eEventSet ) && ( result != VULKAN_HPP_NAMESPACE::Result::eEventReset ) ) { @@ -9639,7 +10469,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_INLINE void Event::set() const { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkSetEvent( static_cast<VkDevice>( m_device ), static_cast<VkEvent>( m_event ) ) ); + getDispatcher()->vkSetEvent( static_cast<VkDevice>( **m_device ), static_cast<VkEvent>( m_event ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Event::set" ); @@ -9649,13 +10479,20 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_INLINE void Event::reset() const { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkResetEvent( static_cast<VkDevice>( m_device ), static_cast<VkEvent>( m_event ) ) ); + getDispatcher()->vkResetEvent( static_cast<VkDevice>( **m_device ), static_cast<VkEvent>( m_event ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Event::reset" ); } } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::QueryPool Device::createQueryPool( + VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::QueryPool( *this, createInfo, allocator ); + } + template <typename T> VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair<VULKAN_HPP_NAMESPACE::Result, std::vector<T>> QueryPool::getResults( uint32_t firstQuery, @@ -9667,7 +10504,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( dataSize % sizeof( T ) == 0 ); std::vector<T> data( dataSize / sizeof( T ) ); Result result = - static_cast<Result>( getDispatcher()->vkGetQueryPoolResults( static_cast<VkDevice>( m_device ), + static_cast<Result>( getDispatcher()->vkGetQueryPoolResults( static_cast<VkDevice>( **m_device ), static_cast<VkQueryPool>( m_queryPool ), firstQuery, queryCount, @@ -9692,7 +10529,7 @@ namespace VULKAN_HPP_NAMESPACE { T data; Result result = - static_cast<Result>( getDispatcher()->vkGetQueryPoolResults( static_cast<VkDevice>( m_device ), + static_cast<Result>( getDispatcher()->vkGetQueryPoolResults( static_cast<VkDevice>( **m_device ), static_cast<VkQueryPool>( m_queryPool ), firstQuery, queryCount, @@ -9708,17 +10545,59 @@ namespace VULKAN_HPP_NAMESPACE return std::make_pair( result, data ); } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Buffer Device::createBuffer( + VULKAN_HPP_NAMESPACE::BufferCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Buffer( *this, createInfo, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::BufferView Device::createBufferView( + VULKAN_HPP_NAMESPACE::BufferViewCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::BufferView( *this, createInfo, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Image Device::createImage( + VULKAN_HPP_NAMESPACE::ImageCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Image( *this, createInfo, allocator ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::SubresourceLayout Image::getSubresourceLayout( const VULKAN_HPP_NAMESPACE::ImageSubresource & subresource ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_NAMESPACE::SubresourceLayout layout; - getDispatcher()->vkGetImageSubresourceLayout( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetImageSubresourceLayout( static_cast<VkDevice>( **m_device ), static_cast<VkImage>( m_image ), reinterpret_cast<const VkImageSubresource *>( &subresource ), reinterpret_cast<VkSubresourceLayout *>( &layout ) ); return layout; } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::ImageView Device::createImageView( + VULKAN_HPP_NAMESPACE::ImageViewCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::ImageView( *this, createInfo, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::ShaderModule Device::createShaderModule( + VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::ShaderModule( *this, createInfo, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::PipelineCache Device::createPipelineCache( + VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::PipelineCache( *this, createInfo, allocator ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<uint8_t> PipelineCache::getData() const { std::vector<uint8_t> data; @@ -9727,12 +10606,12 @@ namespace VULKAN_HPP_NAMESPACE do { result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPipelineCacheData( - static_cast<VkDevice>( m_device ), static_cast<VkPipelineCache>( m_pipelineCache ), &dataSize, nullptr ) ); + static_cast<VkDevice>( **m_device ), static_cast<VkPipelineCache>( m_pipelineCache ), &dataSize, nullptr ) ); if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && dataSize ) { data.resize( dataSize ); result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkGetPipelineCacheData( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetPipelineCacheData( static_cast<VkDevice>( **m_device ), static_cast<VkPipelineCache>( m_pipelineCache ), &dataSize, reinterpret_cast<void *>( data.data() ) ) ); @@ -9754,7 +10633,7 @@ namespace VULKAN_HPP_NAMESPACE PipelineCache::merge( ArrayProxy<const VULKAN_HPP_NAMESPACE::PipelineCache> const & srcCaches ) const { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkMergePipelineCaches( static_cast<VkDevice>( m_device ), + getDispatcher()->vkMergePipelineCaches( static_cast<VkDevice>( **m_device ), static_cast<VkPipelineCache>( m_pipelineCache ), srcCaches.size(), reinterpret_cast<const VkPipelineCache *>( srcCaches.data() ) ) ); @@ -9764,14 +10643,87 @@ namespace VULKAN_HPP_NAMESPACE } } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::Pipeline> + Device::createGraphicsPipelines( + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & + pipelineCache, + VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Pipelines( *this, pipelineCache, createInfos, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Pipeline Device::createGraphicsPipeline( + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & + pipelineCache, + VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Pipeline( *this, pipelineCache, createInfo, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::Pipeline> + Device::createComputePipelines( + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & + pipelineCache, + VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Pipelines( *this, pipelineCache, createInfos, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Pipeline Device::createComputePipeline( + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & + pipelineCache, + VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Pipeline( *this, pipelineCache, createInfo, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::PipelineLayout Device::createPipelineLayout( + VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::PipelineLayout( *this, createInfo, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Sampler Device::createSampler( + VULKAN_HPP_NAMESPACE::SamplerCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Sampler( *this, createInfo, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DescriptorSetLayout + Device::createDescriptorSetLayout( + VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::DescriptorSetLayout( *this, createInfo, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DescriptorPool Device::createDescriptorPool( + VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::DescriptorPool( *this, createInfo, allocator ); + } + VULKAN_HPP_INLINE void DescriptorPool::reset( VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags ) const VULKAN_HPP_NOEXCEPT { - getDispatcher()->vkResetDescriptorPool( static_cast<VkDevice>( m_device ), + getDispatcher()->vkResetDescriptorPool( static_cast<VkDevice>( **m_device ), static_cast<VkDescriptorPool>( m_descriptorPool ), static_cast<VkDescriptorPoolResetFlags>( flags ) ); } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::DescriptorSet> + Device::allocateDescriptorSets( VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo const & allocateInfo ) const + { + return VULKAN_HPP_RAII_NAMESPACE::DescriptorSets( *this, allocateInfo ); + } + VULKAN_HPP_INLINE void Device::updateDescriptorSets( ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites, ArrayProxy<const VULKAN_HPP_NAMESPACE::CopyDescriptorSet> const & descriptorCopies ) const VULKAN_HPP_NOEXCEPT @@ -9784,20 +10736,41 @@ namespace VULKAN_HPP_NAMESPACE reinterpret_cast<const VkCopyDescriptorSet *>( descriptorCopies.data() ) ); } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Framebuffer Device::createFramebuffer( + VULKAN_HPP_NAMESPACE::FramebufferCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Framebuffer( *this, createInfo, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::RenderPass Device::createRenderPass( + VULKAN_HPP_NAMESPACE::RenderPassCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::RenderPass( *this, createInfo, allocator ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Extent2D RenderPass::getRenderAreaGranularity() const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_NAMESPACE::Extent2D granularity; - getDispatcher()->vkGetRenderAreaGranularity( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetRenderAreaGranularity( static_cast<VkDevice>( **m_device ), static_cast<VkRenderPass>( m_renderPass ), reinterpret_cast<VkExtent2D *>( &granularity ) ); return granularity; } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::CommandPool Device::createCommandPool( + VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::CommandPool( *this, createInfo, allocator ); + } + VULKAN_HPP_INLINE void CommandPool::reset( VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags ) const { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkResetCommandPool( static_cast<VkDevice>( m_device ), + getDispatcher()->vkResetCommandPool( static_cast<VkDevice>( **m_device ), static_cast<VkCommandPool>( m_commandPool ), static_cast<VkCommandPoolResetFlags>( flags ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) @@ -9806,6 +10779,12 @@ namespace VULKAN_HPP_NAMESPACE } } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::CommandBuffer> + Device::allocateCommandBuffers( VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo const & allocateInfo ) const + { + return VULKAN_HPP_RAII_NAMESPACE::CommandBuffers( *this, allocateInfo ); + } + VULKAN_HPP_INLINE void CommandBuffer::begin( const VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo & beginInfo ) const { VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( @@ -10518,7 +11497,7 @@ namespace VULKAN_HPP_NAMESPACE reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), &sparseMemoryRequirementCount, reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); - VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); + VULKAN_HPP_ASSERT( sparseMemoryRequirementCount == sparseMemoryRequirements.size() ); return sparseMemoryRequirements; } @@ -10636,7 +11615,7 @@ namespace VULKAN_HPP_NAMESPACE static_cast<VkPhysicalDevice>( m_physicalDevice ), &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); - VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); + VULKAN_HPP_ASSERT( queueFamilyPropertyCount == queueFamilyProperties.size() ); return queueFamilyProperties; } @@ -10704,24 +11683,46 @@ namespace VULKAN_HPP_NAMESPACE reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), &propertyCount, reinterpret_cast<VkSparseImageFormatProperties2 *>( properties.data() ) ); - VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); + VULKAN_HPP_ASSERT( propertyCount == properties.size() ); return properties; } VULKAN_HPP_INLINE void CommandPool::trim( VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT { - getDispatcher()->vkTrimCommandPool( static_cast<VkDevice>( m_device ), + getDispatcher()->vkTrimCommandPool( static_cast<VkDevice>( **m_device ), static_cast<VkCommandPool>( m_commandPool ), static_cast<VkCommandPoolTrimFlags>( flags ) ); } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Queue + Device::getQueue2( VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 const & queueInfo ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Queue( *this, queueInfo ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SamplerYcbcrConversion + Device::createSamplerYcbcrConversion( + VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SamplerYcbcrConversion( *this, createInfo, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DescriptorUpdateTemplate + Device::createDescriptorUpdateTemplate( + VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::DescriptorUpdateTemplate( *this, createInfo, allocator ); + } + VULKAN_HPP_INLINE void DescriptorSet::updateWithTemplate( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, const void * pData ) const VULKAN_HPP_NOEXCEPT { getDispatcher()->vkUpdateDescriptorSetWithTemplate( - static_cast<VkDevice>( m_device ), + static_cast<VkDevice>( **m_device ), static_cast<VkDescriptorSet>( m_descriptorSet ), static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), pData ); @@ -10823,6 +11824,13 @@ namespace VULKAN_HPP_NAMESPACE stride ); } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::RenderPass Device::createRenderPass2( + VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::RenderPass( *this, createInfo, allocator ); + } + VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass2( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo & renderPassBegin, const VULKAN_HPP_NAMESPACE::SubpassBeginInfo & subpassBeginInfo ) const VULKAN_HPP_NOEXCEPT @@ -10851,7 +11859,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_INLINE void QueryPool::reset( uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT { getDispatcher()->vkResetQueryPool( - static_cast<VkDevice>( m_device ), static_cast<VkQueryPool>( m_queryPool ), firstQuery, queryCount ); + static_cast<VkDevice>( **m_device ), static_cast<VkQueryPool>( m_queryPool ), firstQuery, queryCount ); } VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t Semaphore::getCounterValue() const @@ -10859,7 +11867,7 @@ namespace VULKAN_HPP_NAMESPACE uint64_t value; VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetSemaphoreCounterValue( - static_cast<VkDevice>( m_device ), static_cast<VkSemaphore>( m_semaphore ), &value ) ); + static_cast<VkDevice>( **m_device ), static_cast<VkSemaphore>( m_semaphore ), &value ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Semaphore::getCounterValue" ); @@ -11034,6 +12042,13 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_swapchain === + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SwapchainKHR Device::createSwapchainKHR( + VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SwapchainKHR( *this, createInfo, allocator ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VkImage> SwapchainKHR::getImages() const { VULKAN_HPP_ASSERT( getDispatcher()->vkGetSwapchainImagesKHR && @@ -11045,7 +12060,7 @@ namespace VULKAN_HPP_NAMESPACE do { result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkGetSwapchainImagesKHR( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetSwapchainImagesKHR( static_cast<VkDevice>( **m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), &swapchainImageCount, nullptr ) ); @@ -11053,7 +12068,7 @@ namespace VULKAN_HPP_NAMESPACE { swapchainImages.resize( swapchainImageCount ); result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkGetSwapchainImagesKHR( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetSwapchainImagesKHR( static_cast<VkDevice>( **m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), &swapchainImageCount, swapchainImages.data() ) ); @@ -11081,7 +12096,7 @@ namespace VULKAN_HPP_NAMESPACE uint32_t imageIndex; VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkAcquireNextImageKHR( static_cast<VkDevice>( m_device ), + getDispatcher()->vkAcquireNextImageKHR( static_cast<VkDevice>( **m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), timeout, static_cast<VkSemaphore>( semaphore ), @@ -11287,6 +12302,12 @@ namespace VULKAN_HPP_NAMESPACE return properties; } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::DisplayKHR> + PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex ) const + { + return VULKAN_HPP_RAII_NAMESPACE::DisplayKHRs( *this, planeIndex ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR> DisplayKHR::getModeProperties() const { @@ -11299,7 +12320,7 @@ namespace VULKAN_HPP_NAMESPACE do { result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkGetDisplayModePropertiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), + getDispatcher()->vkGetDisplayModePropertiesKHR( static_cast<VkPhysicalDevice>( **m_physicalDevice ), static_cast<VkDisplayKHR>( m_displayKHR ), &propertyCount, nullptr ) ); @@ -11307,7 +12328,7 @@ namespace VULKAN_HPP_NAMESPACE { properties.resize( propertyCount ); result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetDisplayModePropertiesKHR( - static_cast<VkPhysicalDevice>( m_physicalDevice ), + static_cast<VkPhysicalDevice>( **m_physicalDevice ), static_cast<VkDisplayKHR>( m_displayKHR ), &propertyCount, reinterpret_cast<VkDisplayModePropertiesKHR *>( properties.data() ) ) ); @@ -11325,6 +12346,13 @@ namespace VULKAN_HPP_NAMESPACE return properties; } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DisplayModeKHR DisplayKHR::createMode( + VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::DisplayModeKHR( *this, createInfo, allocator ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR DisplayModeKHR::getDisplayPlaneCapabilities( uint32_t planeIndex ) const { @@ -11334,7 +12362,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR capabilities; VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetDisplayPlaneCapabilitiesKHR( - static_cast<VkPhysicalDevice>( m_physicalDevice ), + static_cast<VkPhysicalDevice>( **m_display->getPhysicalDevice() ), static_cast<VkDisplayModeKHR>( m_displayModeKHR ), planeIndex, reinterpret_cast<VkDisplayPlaneCapabilitiesKHR *>( &capabilities ) ) ); @@ -11345,9 +12373,40 @@ namespace VULKAN_HPP_NAMESPACE return capabilities; } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR Instance::createDisplayPlaneSurfaceKHR( + VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR( *this, createInfo, allocator ); + } + + //=== VK_KHR_display_swapchain === + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::SwapchainKHR> + Device::createSharedSwapchainsKHR( + VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SwapchainKHRs( *this, createInfos, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SwapchainKHR Device::createSharedSwapchainKHR( + VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SwapchainKHR( *this, createInfo, allocator ); + } + # if defined( VK_USE_PLATFORM_XLIB_KHR ) //=== VK_KHR_xlib_surface === + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR Instance::createXlibSurfaceKHR( + VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR( *this, createInfo, allocator ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 PhysicalDevice::getXlibPresentationSupportKHR( uint32_t queueFamilyIndex, Display & dpy, VisualID visualID ) const VULKAN_HPP_NOEXCEPT { @@ -11363,6 +12422,13 @@ namespace VULKAN_HPP_NAMESPACE # if defined( VK_USE_PLATFORM_XCB_KHR ) //=== VK_KHR_xcb_surface === + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR Instance::createXcbSurfaceKHR( + VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR( *this, createInfo, allocator ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 PhysicalDevice::getXcbPresentationSupportKHR( uint32_t queueFamilyIndex, xcb_connection_t & connection, xcb_visualid_t visual_id ) const VULKAN_HPP_NOEXCEPT { @@ -11378,6 +12444,13 @@ namespace VULKAN_HPP_NAMESPACE # if defined( VK_USE_PLATFORM_WAYLAND_KHR ) //=== VK_KHR_wayland_surface === + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR Instance::createWaylandSurfaceKHR( + VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR( *this, createInfo, allocator ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 PhysicalDevice::getWaylandPresentationSupportKHR( uint32_t queueFamilyIndex, struct wl_display & display ) const VULKAN_HPP_NOEXCEPT @@ -11392,9 +12465,27 @@ namespace VULKAN_HPP_NAMESPACE } # endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ +# if defined( VK_USE_PLATFORM_ANDROID_KHR ) + //=== VK_KHR_android_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR Instance::createAndroidSurfaceKHR( + VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR( *this, createInfo, allocator ); + } +# endif /*VK_USE_PLATFORM_ANDROID_KHR*/ + # if defined( VK_USE_PLATFORM_WIN32_KHR ) //=== VK_KHR_win32_surface === + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR Instance::createWin32SurfaceKHR( + VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR( *this, createInfo, allocator ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 PhysicalDevice::getWin32PresentationSupportKHR( uint32_t queueFamilyIndex ) const VULKAN_HPP_NOEXCEPT { @@ -11409,6 +12500,14 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_debug_report === + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DebugReportCallbackEXT + Instance::createDebugReportCallbackEXT( + VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::DebugReportCallbackEXT( *this, createInfo, allocator ); + } + VULKAN_HPP_INLINE void Instance::debugReportMessageEXT( VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_, uint64_t object, @@ -11575,6 +12674,13 @@ namespace VULKAN_HPP_NAMESPACE return videoFormatProperties; } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::VideoSessionKHR Device::createVideoSessionKHR( + VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::VideoSessionKHR( *this, createInfo, allocator ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::VideoGetMemoryPropertiesKHR> VideoSessionKHR::getMemoryRequirements() const { @@ -11588,7 +12694,7 @@ namespace VULKAN_HPP_NAMESPACE do { result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkGetVideoSessionMemoryRequirementsKHR( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetVideoSessionMemoryRequirementsKHR( static_cast<VkDevice>( **m_device ), static_cast<VkVideoSessionKHR>( m_videoSessionKHR ), &videoSessionMemoryRequirementsCount, nullptr ) ); @@ -11596,7 +12702,7 @@ namespace VULKAN_HPP_NAMESPACE { videoSessionMemoryRequirements.resize( videoSessionMemoryRequirementsCount ); result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetVideoSessionMemoryRequirementsKHR( - static_cast<VkDevice>( m_device ), + static_cast<VkDevice>( **m_device ), static_cast<VkVideoSessionKHR>( m_videoSessionKHR ), &videoSessionMemoryRequirementsCount, reinterpret_cast<VkVideoGetMemoryPropertiesKHR *>( videoSessionMemoryRequirements.data() ) ) ); @@ -11623,7 +12729,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkBindVideoSessionMemoryKHR( - static_cast<VkDevice>( m_device ), + static_cast<VkDevice>( **m_device ), static_cast<VkVideoSessionKHR>( m_videoSessionKHR ), videoSessionBindMemories.size(), reinterpret_cast<const VkVideoBindMemoryKHR *>( videoSessionBindMemories.data() ) ) ); @@ -11633,6 +12739,14 @@ namespace VULKAN_HPP_NAMESPACE } } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::VideoSessionParametersKHR + Device::createVideoSessionParametersKHR( + VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::VideoSessionParametersKHR( *this, createInfo, allocator ); + } + VULKAN_HPP_INLINE void VideoSessionParametersKHR::update( const VULKAN_HPP_NAMESPACE::VideoSessionParametersUpdateInfoKHR & updateInfo ) const { @@ -11641,7 +12755,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkUpdateVideoSessionParametersKHR( - static_cast<VkDevice>( m_device ), + static_cast<VkDevice>( **m_device ), static_cast<VkVideoSessionParametersKHR>( m_videoSessionParametersKHR ), reinterpret_cast<const VkVideoSessionParametersUpdateInfoKHR *>( &updateInfo ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) @@ -11839,6 +12953,20 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_NVX_binary_import === + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::CuModuleNVX Device::createCuModuleNVX( + VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::CuModuleNVX( *this, createInfo, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::CuFunctionNVX Device::createCuFunctionNVX( + VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::CuFunctionNVX( *this, createInfo, allocator ); + } + VULKAN_HPP_INLINE void CommandBuffer::cuLaunchKernelNVX( const VULKAN_HPP_NAMESPACE::CuLaunchInfoNVX & launchInfo ) const VULKAN_HPP_NOEXCEPT { @@ -11870,7 +12998,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX properties; VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetImageViewAddressNVX( - static_cast<VkDevice>( m_device ), + static_cast<VkDevice>( **m_device ), static_cast<VkImageView>( m_imageView ), reinterpret_cast<VkImageViewAddressPropertiesNVX *>( &properties ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) @@ -11937,7 +13065,7 @@ namespace VULKAN_HPP_NAMESPACE do { result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkGetShaderInfoAMD( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetShaderInfoAMD( static_cast<VkDevice>( **m_device ), static_cast<VkPipeline>( m_pipeline ), static_cast<VkShaderStageFlagBits>( shaderStage ), static_cast<VkShaderInfoTypeAMD>( infoType ), @@ -11947,7 +13075,7 @@ namespace VULKAN_HPP_NAMESPACE { info.resize( infoSize ); result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkGetShaderInfoAMD( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetShaderInfoAMD( static_cast<VkDevice>( **m_device ), static_cast<VkPipeline>( m_pipeline ), static_cast<VkShaderStageFlagBits>( shaderStage ), static_cast<VkShaderInfoTypeAMD>( infoType ), @@ -11967,6 +13095,38 @@ namespace VULKAN_HPP_NAMESPACE return info; } + //=== VK_KHR_dynamic_rendering === + + VULKAN_HPP_INLINE void CommandBuffer::beginRenderingKHR( + const VULKAN_HPP_NAMESPACE::RenderingInfoKHR & renderingInfo ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginRenderingKHR && + "Function <vkCmdBeginRenderingKHR> needs extension <VK_KHR_dynamic_rendering> enabled!" ); + + getDispatcher()->vkCmdBeginRenderingKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), + reinterpret_cast<const VkRenderingInfoKHR *>( &renderingInfo ) ); + } + + VULKAN_HPP_INLINE void CommandBuffer::endRenderingKHR() const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndRenderingKHR && + "Function <vkCmdEndRenderingKHR> needs extension <VK_KHR_dynamic_rendering> enabled!" ); + + getDispatcher()->vkCmdEndRenderingKHR( static_cast<VkCommandBuffer>( m_commandBuffer ) ); + } + +# if defined( VK_USE_PLATFORM_GGP ) + //=== VK_GGP_stream_descriptor_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR + Instance::createStreamDescriptorSurfaceGGP( + VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR( *this, createInfo, allocator ); + } +# endif /*VK_USE_PLATFORM_GGP*/ + //=== VK_NV_external_memory_capabilities === VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV @@ -12012,7 +13172,7 @@ namespace VULKAN_HPP_NAMESPACE HANDLE handle; VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkGetMemoryWin32HandleNV( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetMemoryWin32HandleNV( static_cast<VkDevice>( **m_device ), static_cast<VkDeviceMemory>( m_deviceMemory ), static_cast<VkExternalMemoryHandleTypeFlagsNV>( handleType ), &handle ) ); @@ -12174,7 +13334,7 @@ namespace VULKAN_HPP_NAMESPACE static_cast<VkPhysicalDevice>( m_physicalDevice ), &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); - VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); + VULKAN_HPP_ASSERT( queueFamilyPropertyCount == queueFamilyProperties.size() ); return queueFamilyProperties; } @@ -12259,7 +13419,7 @@ namespace VULKAN_HPP_NAMESPACE reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), &propertyCount, reinterpret_cast<VkSparseImageFormatProperties2 *>( properties.data() ) ); - VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); + VULKAN_HPP_ASSERT( propertyCount == properties.size() ); return properties; } @@ -12311,6 +13471,17 @@ namespace VULKAN_HPP_NAMESPACE groupCountZ ); } +# if defined( VK_USE_PLATFORM_VI_NN ) + //=== VK_NN_vi_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR Instance::createViSurfaceNN( + VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR( *this, createInfo, allocator ); + } +# endif /*VK_USE_PLATFORM_VI_NN*/ + //=== VK_KHR_maintenance1 === VULKAN_HPP_INLINE void @@ -12319,7 +13490,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkTrimCommandPoolKHR && "Function <vkTrimCommandPoolKHR> needs extension <VK_KHR_maintenance1> enabled!" ); - getDispatcher()->vkTrimCommandPoolKHR( static_cast<VkDevice>( m_device ), + getDispatcher()->vkTrimCommandPoolKHR( static_cast<VkDevice>( **m_device ), static_cast<VkCommandPool>( m_commandPool ), static_cast<VkCommandPoolTrimFlags>( flags ) ); } @@ -12625,6 +13796,14 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_descriptor_update_template === + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DescriptorUpdateTemplate + Device::createDescriptorUpdateTemplateKHR( + VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::DescriptorUpdateTemplate( *this, createInfo, allocator ); + } + VULKAN_HPP_INLINE void Device::destroyDescriptorUpdateTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT @@ -12649,7 +13828,7 @@ namespace VULKAN_HPP_NAMESPACE "Function <vkUpdateDescriptorSetWithTemplateKHR> needs extension <VK_KHR_descriptor_update_template> enabled!" ); getDispatcher()->vkUpdateDescriptorSetWithTemplateKHR( - static_cast<VkDevice>( m_device ), + static_cast<VkDevice>( **m_device ), static_cast<VkDescriptorSet>( m_descriptorSet ), static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), pData ); @@ -12689,6 +13868,12 @@ namespace VULKAN_HPP_NAMESPACE throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::acquireXlibDisplayEXT" ); } } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DisplayKHR + PhysicalDevice::getRandROutputDisplayEXT( Display & dpy, RROutput rrOutput ) const + { + return VULKAN_HPP_RAII_NAMESPACE::DisplayKHR( *this, dpy, rrOutput ); + } # endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/ //=== VK_EXT_display_surface_counter === @@ -12733,6 +13918,21 @@ namespace VULKAN_HPP_NAMESPACE } } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Fence Device::registerEventEXT( + VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT const & deviceEventInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Fence( *this, deviceEventInfo, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Fence Device::registerDisplayEventEXT( + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayKHR const & display, + VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT const & displayEventInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Fence( *this, display, displayEventInfo, allocator ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t SwapchainKHR::getCounterEXT( VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter ) const { @@ -12741,7 +13941,7 @@ namespace VULKAN_HPP_NAMESPACE uint64_t counterValue; VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkGetSwapchainCounterEXT( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetSwapchainCounterEXT( static_cast<VkDevice>( **m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), static_cast<VkSurfaceCounterFlagBitsEXT>( counter ), &counterValue ) ); @@ -12764,7 +13964,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE displayTimingProperties; VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetRefreshCycleDurationGOOGLE( - static_cast<VkDevice>( m_device ), + static_cast<VkDevice>( **m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), reinterpret_cast<VkRefreshCycleDurationGOOGLE *>( &displayTimingProperties ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) @@ -12787,7 +13987,7 @@ namespace VULKAN_HPP_NAMESPACE do { result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkGetPastPresentationTimingGOOGLE( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetPastPresentationTimingGOOGLE( static_cast<VkDevice>( **m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), &presentationTimingCount, nullptr ) ); @@ -12795,7 +13995,7 @@ namespace VULKAN_HPP_NAMESPACE { presentationTimings.resize( presentationTimingCount ); result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetPastPresentationTimingGOOGLE( - static_cast<VkDevice>( m_device ), + static_cast<VkDevice>( **m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), &presentationTimingCount, reinterpret_cast<VkPastPresentationTimingGOOGLE *>( presentationTimings.data() ) ) ); @@ -12858,6 +14058,13 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_create_renderpass2 === + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::RenderPass Device::createRenderPass2KHR( + VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::RenderPass( *this, createInfo, allocator ); + } + VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass2KHR( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo & renderPassBegin, const VULKAN_HPP_NAMESPACE::SubpassBeginInfo & subpassBeginInfo ) const VULKAN_HPP_NOEXCEPT @@ -12902,7 +14109,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetSwapchainStatusKHR( - static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ) ) ); + static_cast<VkDevice>( **m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ) ) ); if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR ) ) { @@ -13257,7 +14464,7 @@ namespace VULKAN_HPP_NAMESPACE do { result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkGetDisplayModeProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), + getDispatcher()->vkGetDisplayModeProperties2KHR( static_cast<VkPhysicalDevice>( **m_physicalDevice ), static_cast<VkDisplayKHR>( m_displayKHR ), &propertyCount, nullptr ) ); @@ -13265,7 +14472,7 @@ namespace VULKAN_HPP_NAMESPACE { properties.resize( propertyCount ); result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetDisplayModeProperties2KHR( - static_cast<VkPhysicalDevice>( m_physicalDevice ), + static_cast<VkPhysicalDevice>( **m_physicalDevice ), static_cast<VkDisplayKHR>( m_displayKHR ), &propertyCount, reinterpret_cast<VkDisplayModeProperties2KHR *>( properties.data() ) ) ); @@ -13304,6 +14511,28 @@ namespace VULKAN_HPP_NAMESPACE return capabilities; } +# if defined( VK_USE_PLATFORM_IOS_MVK ) + //=== VK_MVK_ios_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR Instance::createIOSSurfaceMVK( + VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR( *this, createInfo, allocator ); + } +# endif /*VK_USE_PLATFORM_IOS_MVK*/ + +# if defined( VK_USE_PLATFORM_MACOS_MVK ) + //=== VK_MVK_macos_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR Instance::createMacOSSurfaceMVK( + VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR( *this, createInfo, allocator ); + } +# endif /*VK_USE_PLATFORM_MACOS_MVK*/ + //=== VK_EXT_debug_utils === VULKAN_HPP_INLINE void @@ -13392,6 +14621,14 @@ namespace VULKAN_HPP_NAMESPACE reinterpret_cast<const VkDebugUtilsLabelEXT *>( &labelInfo ) ); } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DebugUtilsMessengerEXT + Instance::createDebugUtilsMessengerEXT( + VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::DebugUtilsMessengerEXT( *this, createInfo, allocator ); + } + VULKAN_HPP_INLINE void Instance::submitDebugUtilsMessageEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageTypes, @@ -13592,12 +14829,20 @@ namespace VULKAN_HPP_NAMESPACE reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), &sparseMemoryRequirementCount, reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); - VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); + VULKAN_HPP_ASSERT( sparseMemoryRequirementCount == sparseMemoryRequirements.size() ); return sparseMemoryRequirements; } //=== VK_KHR_acceleration_structure === + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::AccelerationStructureKHR + Device::createAccelerationStructureKHR( + VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::AccelerationStructureKHR( *this, createInfo, allocator ); + } + VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructuresKHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos, ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR * const> const & pBuildRangeInfos ) @@ -13923,6 +15168,14 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_sampler_ycbcr_conversion === + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SamplerYcbcrConversion + Device::createSamplerYcbcrConversionKHR( + VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SamplerYcbcrConversion( *this, createInfo, allocator ); + } + VULKAN_HPP_INLINE void Device::destroySamplerYcbcrConversionKHR( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion, Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const VULKAN_HPP_NOEXCEPT @@ -13985,7 +15238,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT properties; VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetImageDrmFormatModifierPropertiesEXT( - static_cast<VkDevice>( m_device ), + static_cast<VkDevice>( **m_device ), static_cast<VkImage>( m_image ), reinterpret_cast<VkImageDrmFormatModifierPropertiesEXT *>( &properties ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) @@ -13997,6 +15250,14 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_validation_cache === + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::ValidationCacheEXT + Device::createValidationCacheEXT( + VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::ValidationCacheEXT( *this, createInfo, allocator ); + } + VULKAN_HPP_INLINE void ValidationCacheEXT::merge( ArrayProxy<const VULKAN_HPP_NAMESPACE::ValidationCacheEXT> const & srcCaches ) const { @@ -14005,7 +15266,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkMergeValidationCachesEXT( - static_cast<VkDevice>( m_device ), + static_cast<VkDevice>( **m_device ), static_cast<VkValidationCacheEXT>( m_validationCacheEXT ), srcCaches.size(), reinterpret_cast<const VkValidationCacheEXT *>( srcCaches.data() ) ) ); @@ -14026,7 +15287,7 @@ namespace VULKAN_HPP_NAMESPACE do { result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkGetValidationCacheDataEXT( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetValidationCacheDataEXT( static_cast<VkDevice>( **m_device ), static_cast<VkValidationCacheEXT>( m_validationCacheEXT ), &dataSize, nullptr ) ); @@ -14034,7 +15295,7 @@ namespace VULKAN_HPP_NAMESPACE { data.resize( dataSize ); result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkGetValidationCacheDataEXT( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetValidationCacheDataEXT( static_cast<VkDevice>( **m_device ), static_cast<VkValidationCacheEXT>( m_validationCacheEXT ), &dataSize, reinterpret_cast<void *>( data.data() ) ) ); @@ -14098,6 +15359,14 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_NV_ray_tracing === + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::AccelerationStructureNV + Device::createAccelerationStructureNV( + VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::AccelerationStructureNV( *this, createInfo, allocator ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR Device::getAccelerationStructureMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV & info ) const VULKAN_HPP_NOEXCEPT @@ -14225,6 +15494,25 @@ namespace VULKAN_HPP_NAMESPACE depth ); } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::Pipeline> + Device::createRayTracingPipelinesNV( + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & + pipelineCache, + VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Pipelines( *this, pipelineCache, createInfos, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Pipeline Device::createRayTracingPipelineNV( + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & + pipelineCache, + VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Pipeline( *this, pipelineCache, createInfo, allocator ); + } + template <typename T> VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<T> Pipeline::getRayTracingShaderGroupHandlesNV( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const @@ -14236,7 +15524,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( dataSize % sizeof( T ) == 0 ); std::vector<T> data( dataSize / sizeof( T ) ); Result result = static_cast<Result>( - getDispatcher()->vkGetRayTracingShaderGroupHandlesNV( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetRayTracingShaderGroupHandlesNV( static_cast<VkDevice>( **m_device ), static_cast<VkPipeline>( m_pipeline ), firstGroup, groupCount, @@ -14254,7 +15542,7 @@ namespace VULKAN_HPP_NAMESPACE { T data; Result result = static_cast<Result>( - getDispatcher()->vkGetRayTracingShaderGroupHandlesNV( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetRayTracingShaderGroupHandlesNV( static_cast<VkDevice>( **m_device ), static_cast<VkPipeline>( m_pipeline ), firstGroup, groupCount, @@ -14276,7 +15564,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( dataSize % sizeof( T ) == 0 ); std::vector<T> data( dataSize / sizeof( T ) ); Result result = static_cast<Result>( getDispatcher()->vkGetAccelerationStructureHandleNV( - static_cast<VkDevice>( m_device ), + static_cast<VkDevice>( **m_device ), static_cast<VkAccelerationStructureNV>( m_accelerationStructureNV ), data.size() * sizeof( T ), reinterpret_cast<void *>( data.data() ) ) ); @@ -14292,7 +15580,7 @@ namespace VULKAN_HPP_NAMESPACE { T data; Result result = static_cast<Result>( getDispatcher()->vkGetAccelerationStructureHandleNV( - static_cast<VkDevice>( m_device ), + static_cast<VkDevice>( **m_device ), static_cast<VkAccelerationStructureNV>( m_accelerationStructureNV ), sizeof( T ), reinterpret_cast<void *>( &data ) ) ); @@ -14329,7 +15617,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkCompileDeferredNV( - static_cast<VkDevice>( m_device ), static_cast<VkPipeline>( m_pipeline ), shader ) ); + static_cast<VkDevice>( **m_device ), static_cast<VkPipeline>( m_pipeline ), shader ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Pipeline::compileDeferredNV" ); @@ -14630,7 +15918,7 @@ namespace VULKAN_HPP_NAMESPACE getDispatcher()->vkGetQueueCheckpointDataNV( static_cast<VkQueue>( m_queue ), &checkpointDataCount, reinterpret_cast<VkCheckpointDataNV *>( checkpointData.data() ) ); - VULKAN_HPP_ASSERT( checkpointDataCount <= checkpointData.size() ); + VULKAN_HPP_ASSERT( checkpointDataCount == checkpointData.size() ); return checkpointData; } @@ -14645,7 +15933,7 @@ namespace VULKAN_HPP_NAMESPACE uint64_t value; VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetSemaphoreCounterValueKHR( - static_cast<VkDevice>( m_device ), static_cast<VkSemaphore>( m_semaphore ), &value ) ); + static_cast<VkDevice>( **m_device ), static_cast<VkSemaphore>( m_semaphore ), &value ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Semaphore::getCounterValueKHR" ); @@ -14764,6 +16052,13 @@ namespace VULKAN_HPP_NAMESPACE } } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::PerformanceConfigurationINTEL + Device::acquirePerformanceConfigurationINTEL( + VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL const & acquireInfo ) const + { + return VULKAN_HPP_RAII_NAMESPACE::PerformanceConfigurationINTEL( *this, acquireInfo ); + } + VULKAN_HPP_INLINE void Queue::setPerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration ) const { @@ -14807,11 +16102,34 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkSetLocalDimmingAMD && "Function <vkSetLocalDimmingAMD> needs extension <VK_AMD_display_native_hdr> enabled!" ); - getDispatcher()->vkSetLocalDimmingAMD( static_cast<VkDevice>( m_device ), + getDispatcher()->vkSetLocalDimmingAMD( static_cast<VkDevice>( **m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), static_cast<VkBool32>( localDimmingEnable ) ); } +# if defined( VK_USE_PLATFORM_FUCHSIA ) + //=== VK_FUCHSIA_imagepipe_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR + Instance::createImagePipeSurfaceFUCHSIA( + VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR( *this, createInfo, allocator ); + } +# endif /*VK_USE_PLATFORM_FUCHSIA*/ + +# if defined( VK_USE_PLATFORM_METAL_EXT ) + //=== VK_EXT_metal_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR Instance::createMetalSurfaceEXT( + VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR( *this, createInfo, allocator ); + } +# endif /*VK_USE_PLATFORM_METAL_EXT*/ + //=== VK_KHR_fragment_shading_rate === VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR> @@ -14925,7 +16243,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkWaitForPresentKHR( - static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), presentId, timeout ) ); + static_cast<VkDevice>( **m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ), presentId, timeout ) ); if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eTimeout ) ) { @@ -15066,7 +16384,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkAcquireFullScreenExclusiveModeEXT( - static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ) ) ); + static_cast<VkDevice>( **m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::acquireFullScreenExclusiveModeEXT" ); @@ -15081,7 +16399,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkReleaseFullScreenExclusiveModeEXT( - static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ) ) ); + static_cast<VkDevice>( **m_device ), static_cast<VkSwapchainKHR>( m_swapchainKHR ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::releaseFullScreenExclusiveModeEXT" ); @@ -15110,6 +16428,15 @@ namespace VULKAN_HPP_NAMESPACE } # endif /*VK_USE_PLATFORM_WIN32_KHR*/ + //=== VK_EXT_headless_surface === + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR Instance::createHeadlessSurfaceEXT( + VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR( *this, createInfo, allocator ); + } + //=== VK_KHR_buffer_device_address === VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceAddress Device::getBufferAddressKHR( @@ -15165,7 +16492,7 @@ namespace VULKAN_HPP_NAMESPACE "Function <vkResetQueryPoolEXT> needs extension <VK_EXT_host_query_reset> enabled!" ); getDispatcher()->vkResetQueryPoolEXT( - static_cast<VkDevice>( m_device ), static_cast<VkQueryPool>( m_queryPool ), firstQuery, queryCount ); + static_cast<VkDevice>( **m_device ), static_cast<VkQueryPool>( m_queryPool ), firstQuery, queryCount ); } //=== VK_EXT_extended_dynamic_state === @@ -15342,6 +16669,13 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_deferred_host_operations === + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR + Device::createDeferredOperationKHR( + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR( *this, allocator ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint32_t DeferredOperationKHR::getMaxConcurrency() const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( @@ -15349,7 +16683,7 @@ namespace VULKAN_HPP_NAMESPACE "Function <vkGetDeferredOperationMaxConcurrencyKHR> needs extension <VK_KHR_deferred_host_operations> enabled!" ); return getDispatcher()->vkGetDeferredOperationMaxConcurrencyKHR( - static_cast<VkDevice>( m_device ), static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ) ); + static_cast<VkDevice>( **m_device ), static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ) ); } VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result @@ -15360,7 +16694,7 @@ namespace VULKAN_HPP_NAMESPACE "Function <vkGetDeferredOperationResultKHR> needs extension <VK_KHR_deferred_host_operations> enabled!" ); return static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetDeferredOperationResultKHR( - static_cast<VkDevice>( m_device ), static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ) ) ); + static_cast<VkDevice>( **m_device ), static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ) ) ); } VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result DeferredOperationKHR::join() const @@ -15371,7 +16705,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkDeferredOperationJoinKHR( - static_cast<VkDevice>( m_device ), static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ) ) ); + static_cast<VkDevice>( **m_device ), static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ) ) ); if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eThreadDoneKHR ) && ( result != VULKAN_HPP_NAMESPACE::Result::eThreadIdleKHR ) ) @@ -15584,6 +16918,14 @@ namespace VULKAN_HPP_NAMESPACE groupIndex ); } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::IndirectCommandsLayoutNV + Device::createIndirectCommandsLayoutNV( + VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::IndirectCommandsLayoutNV( *this, createInfo, allocator ); + } + //=== VK_EXT_acquire_drm_display === VULKAN_HPP_INLINE void PhysicalDevice::acquireDrmDisplayEXT( int32_t drmFd, @@ -15601,8 +16943,22 @@ namespace VULKAN_HPP_NAMESPACE } } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DisplayKHR + PhysicalDevice::getDrmDisplayEXT( int32_t drmFd, uint32_t connectorId ) const + { + return VULKAN_HPP_RAII_NAMESPACE::DisplayKHR( *this, drmFd, connectorId ); + } + //=== VK_EXT_private_data === + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::PrivateDataSlotEXT + Device::createPrivateDataSlotEXT( + VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfoEXT const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::PrivateDataSlotEXT( *this, createInfo, allocator ); + } + VULKAN_HPP_INLINE void Device::setPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType objectType_, uint64_t objectHandle, VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot, @@ -15771,7 +17127,7 @@ namespace VULKAN_HPP_NAMESPACE getDispatcher()->vkGetQueueCheckpointData2NV( static_cast<VkQueue>( m_queue ), &checkpointDataCount, reinterpret_cast<VkCheckpointData2NV *>( checkpointData.data() ) ); - VULKAN_HPP_ASSERT( checkpointDataCount <= checkpointData.size() ); + VULKAN_HPP_ASSERT( checkpointDataCount == checkpointData.size() ); return checkpointData; } @@ -15865,17 +17221,30 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkAcquireWinrtDisplayNV( - static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkDisplayKHR>( m_displayKHR ) ) ); + static_cast<VkPhysicalDevice>( **m_physicalDevice ), static_cast<VkDisplayKHR>( m_displayKHR ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) { throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::DisplayKHR::acquireWinrtNV" ); } } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DisplayKHR + PhysicalDevice::getWinrtDisplayNV( uint32_t deviceRelativeId ) const + { + return VULKAN_HPP_RAII_NAMESPACE::DisplayKHR( *this, deviceRelativeId ); + } # endif /*VK_USE_PLATFORM_WIN32_KHR*/ # if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) //=== VK_EXT_directfb_surface === + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR Instance::createDirectFBSurfaceEXT( + VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR( *this, createInfo, allocator ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 PhysicalDevice::getDirectFBPresentationSupportEXT( uint32_t queueFamilyIndex, IDirectFB & dfb ) const VULKAN_HPP_NOEXCEPT @@ -15915,6 +17284,29 @@ namespace VULKAN_HPP_NAMESPACE depth ); } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::Pipeline> + Device::createRayTracingPipelinesKHR( + VULKAN_HPP_NAMESPACE::Optional< + const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR> const & deferredOperation, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & + pipelineCache, + VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Pipelines( *this, deferredOperation, pipelineCache, createInfos, allocator ); + } + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Pipeline Device::createRayTracingPipelineKHR( + VULKAN_HPP_NAMESPACE::Optional< + const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR> const & deferredOperation, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const & + pipelineCache, + VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::Pipeline( *this, deferredOperation, pipelineCache, createInfo, allocator ); + } + template <typename T> VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<T> Pipeline::getRayTracingShaderGroupHandlesKHR( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const @@ -15926,7 +17318,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( dataSize % sizeof( T ) == 0 ); std::vector<T> data( dataSize / sizeof( T ) ); Result result = static_cast<Result>( - getDispatcher()->vkGetRayTracingShaderGroupHandlesKHR( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetRayTracingShaderGroupHandlesKHR( static_cast<VkDevice>( **m_device ), static_cast<VkPipeline>( m_pipeline ), firstGroup, groupCount, @@ -15944,7 +17336,7 @@ namespace VULKAN_HPP_NAMESPACE { T data; Result result = static_cast<Result>( - getDispatcher()->vkGetRayTracingShaderGroupHandlesKHR( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetRayTracingShaderGroupHandlesKHR( static_cast<VkDevice>( **m_device ), static_cast<VkPipeline>( m_pipeline ), firstGroup, groupCount, @@ -15968,7 +17360,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( dataSize % sizeof( T ) == 0 ); std::vector<T> data( dataSize / sizeof( T ) ); Result result = static_cast<Result>( - getDispatcher()->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( static_cast<VkDevice>( **m_device ), static_cast<VkPipeline>( m_pipeline ), firstGroup, groupCount, @@ -15988,7 +17380,7 @@ namespace VULKAN_HPP_NAMESPACE { T data; Result result = static_cast<Result>( - getDispatcher()->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( static_cast<VkDevice>( **m_device ), static_cast<VkPipeline>( m_pipeline ), firstGroup, groupCount, @@ -16031,7 +17423,7 @@ namespace VULKAN_HPP_NAMESPACE "Function <vkGetRayTracingShaderGroupStackSizeKHR> needs extension <VK_KHR_ray_tracing_pipeline> enabled!" ); return static_cast<VULKAN_HPP_NAMESPACE::DeviceSize>( - getDispatcher()->vkGetRayTracingShaderGroupStackSizeKHR( static_cast<VkDevice>( m_device ), + getDispatcher()->vkGetRayTracingShaderGroupStackSizeKHR( static_cast<VkDevice>( **m_device ), static_cast<VkPipeline>( m_pipeline ), group, static_cast<VkShaderGroupShaderKHR>( groupShader ) ) ); @@ -16157,6 +17549,14 @@ namespace VULKAN_HPP_NAMESPACE # if defined( VK_USE_PLATFORM_FUCHSIA ) //=== VK_FUCHSIA_buffer_collection === + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::BufferCollectionFUCHSIA + Device::createBufferCollectionFUCHSIA( + VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::BufferCollectionFUCHSIA( *this, createInfo, allocator ); + } + VULKAN_HPP_INLINE void BufferCollectionFUCHSIA::setImageConstraints( const VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA & imageConstraintsInfo ) const { @@ -16166,7 +17566,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkSetBufferCollectionImageConstraintsFUCHSIA( - static_cast<VkDevice>( m_device ), + static_cast<VkDevice>( **m_device ), static_cast<VkBufferCollectionFUCHSIA>( m_bufferCollectionFUCHSIA ), reinterpret_cast<const VkImageConstraintsInfoFUCHSIA *>( &imageConstraintsInfo ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) @@ -16184,7 +17584,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkSetBufferCollectionBufferConstraintsFUCHSIA( - static_cast<VkDevice>( m_device ), + static_cast<VkDevice>( **m_device ), static_cast<VkBufferCollectionFUCHSIA>( m_bufferCollectionFUCHSIA ), reinterpret_cast<const VkBufferConstraintsInfoFUCHSIA *>( &bufferConstraintsInfo ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) @@ -16203,7 +17603,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA properties; VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetBufferCollectionPropertiesFUCHSIA( - static_cast<VkDevice>( m_device ), + static_cast<VkDevice>( **m_device ), static_cast<VkBufferCollectionFUCHSIA>( m_bufferCollectionFUCHSIA ), reinterpret_cast<VkBufferCollectionPropertiesFUCHSIA *>( &properties ) ) ); if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) @@ -16226,7 +17626,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Extent2D maxWorkgroupSize; VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( - static_cast<VkDevice>( m_device ), + static_cast<VkDevice>( **m_device ), static_cast<VkRenderPass>( m_renderPass ), reinterpret_cast<VkExtent2D *>( &maxWorkgroupSize ) ) ); if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && @@ -16342,6 +17742,13 @@ namespace VULKAN_HPP_NAMESPACE # if defined( VK_USE_PLATFORM_SCREEN_QNX ) //=== VK_QNX_screen_surface === + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR Instance::createScreenSurfaceQNX( + VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX const & createInfo, + VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const + { + return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR( *this, createInfo, allocator ); + } + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 PhysicalDevice::getScreenPresentationSupportQNX( uint32_t queueFamilyIndex, struct _screen_window & window ) const VULKAN_HPP_NOEXCEPT @@ -16418,7 +17825,7 @@ namespace VULKAN_HPP_NAMESPACE "Function <vkSetDeviceMemoryPriorityEXT> needs extension <VK_EXT_pageable_device_local_memory> enabled!" ); getDispatcher()->vkSetDeviceMemoryPriorityEXT( - static_cast<VkDevice>( m_device ), static_cast<VkDeviceMemory>( m_deviceMemory ), priority ); + static_cast<VkDevice>( **m_device ), static_cast<VkDeviceMemory>( m_deviceMemory ), priority ); } //=== VK_KHR_maintenance4 === @@ -16512,7 +17919,7 @@ namespace VULKAN_HPP_NAMESPACE reinterpret_cast<const VkDeviceImageMemoryRequirementsKHR *>( &info ), &sparseMemoryRequirementCount, reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); - VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); + VULKAN_HPP_ASSERT( sparseMemoryRequirementCount == sparseMemoryRequirements.size() ); return sparseMemoryRequirements; } diff --git a/include/vulkan/vulkan_structs.hpp b/include/vulkan/vulkan_structs.hpp index 863e893..6a67c55 100644 --- a/include/vulkan/vulkan_structs.hpp +++ b/include/vulkan/vulkan_structs.hpp @@ -5040,6 +5040,140 @@ namespace VULKAN_HPP_NAMESPACE }; using AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout; + struct AttachmentSampleCountInfoAMD + { + using NativeType = VkAttachmentSampleCountInfoAMD; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAttachmentSampleCountInfoAMD; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR + AttachmentSampleCountInfoAMD( uint32_t colorAttachmentCount_ = {}, + const VULKAN_HPP_NAMESPACE::SampleCountFlagBits * pColorAttachmentSamples_ = {}, + VULKAN_HPP_NAMESPACE::SampleCountFlagBits depthStencilAttachmentSamples_ = + VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1 ) VULKAN_HPP_NOEXCEPT + : colorAttachmentCount( colorAttachmentCount_ ) + , pColorAttachmentSamples( pColorAttachmentSamples_ ) + , depthStencilAttachmentSamples( depthStencilAttachmentSamples_ ) + {} + + VULKAN_HPP_CONSTEXPR + AttachmentSampleCountInfoAMD( AttachmentSampleCountInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + AttachmentSampleCountInfoAMD( VkAttachmentSampleCountInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT + : AttachmentSampleCountInfoAMD( *reinterpret_cast<AttachmentSampleCountInfoAMD const *>( &rhs ) ) + {} + +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + AttachmentSampleCountInfoAMD( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< + const VULKAN_HPP_NAMESPACE::SampleCountFlagBits> const & colorAttachmentSamples_, + VULKAN_HPP_NAMESPACE::SampleCountFlagBits depthStencilAttachmentSamples_ = + VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1 ) + : colorAttachmentCount( static_cast<uint32_t>( colorAttachmentSamples_.size() ) ) + , pColorAttachmentSamples( colorAttachmentSamples_.data() ) + , depthStencilAttachmentSamples( depthStencilAttachmentSamples_ ) + {} +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + AttachmentSampleCountInfoAMD & operator=( AttachmentSampleCountInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + AttachmentSampleCountInfoAMD & operator=( VkAttachmentSampleCountInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentSampleCountInfoAMD const *>( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + AttachmentSampleCountInfoAMD & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + AttachmentSampleCountInfoAMD & setColorAttachmentCount( uint32_t colorAttachmentCount_ ) VULKAN_HPP_NOEXCEPT + { + colorAttachmentCount = colorAttachmentCount_; + return *this; + } + + AttachmentSampleCountInfoAMD & setPColorAttachmentSamples( + const VULKAN_HPP_NAMESPACE::SampleCountFlagBits * pColorAttachmentSamples_ ) VULKAN_HPP_NOEXCEPT + { + pColorAttachmentSamples = pColorAttachmentSamples_; + return *this; + } + +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + AttachmentSampleCountInfoAMD & setColorAttachmentSamples( + VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SampleCountFlagBits> const & + colorAttachmentSamples_ ) VULKAN_HPP_NOEXCEPT + { + colorAttachmentCount = static_cast<uint32_t>( colorAttachmentSamples_.size() ); + pColorAttachmentSamples = colorAttachmentSamples_.data(); + return *this; + } +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + + AttachmentSampleCountInfoAMD & setDepthStencilAttachmentSamples( + VULKAN_HPP_NAMESPACE::SampleCountFlagBits depthStencilAttachmentSamples_ ) VULKAN_HPP_NOEXCEPT + { + depthStencilAttachmentSamples = depthStencilAttachmentSamples_; + return *this; + } +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + operator VkAttachmentSampleCountInfoAMD const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<const VkAttachmentSampleCountInfoAMD *>( this ); + } + + operator VkAttachmentSampleCountInfoAMD &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<VkAttachmentSampleCountInfoAMD *>( this ); + } + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( AttachmentSampleCountInfoAMD const & ) const = default; +#else + bool operator==( AttachmentSampleCountInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( colorAttachmentCount == rhs.colorAttachmentCount ) && + ( pColorAttachmentSamples == rhs.pColorAttachmentSamples ) && + ( depthStencilAttachmentSamples == rhs.depthStencilAttachmentSamples ); + } + + bool operator!=( AttachmentSampleCountInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eAttachmentSampleCountInfoAMD; + const void * pNext = {}; + uint32_t colorAttachmentCount = {}; + const VULKAN_HPP_NAMESPACE::SampleCountFlagBits * pColorAttachmentSamples = {}; + VULKAN_HPP_NAMESPACE::SampleCountFlagBits depthStencilAttachmentSamples = + VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1; + }; + VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::AttachmentSampleCountInfoAMD ) == + sizeof( VkAttachmentSampleCountInfoAMD ), + "struct and wrapper have different size!" ); + VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::AttachmentSampleCountInfoAMD>::value, + "struct wrapper is not a standard layout!" ); + VULKAN_HPP_STATIC_ASSERT( + std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::AttachmentSampleCountInfoAMD>::value, + "AttachmentSampleCountInfoAMD is not nothrow_move_constructible!" ); + + template <> + struct CppType<StructureType, StructureType::eAttachmentSampleCountInfoAMD> + { + using Type = AttachmentSampleCountInfoAMD; + }; + using AttachmentSampleCountInfoNV = AttachmentSampleCountInfoAMD; + struct Extent2D { using NativeType = VkExtent2D; @@ -11706,6 +11840,194 @@ namespace VULKAN_HPP_NAMESPACE using Type = CommandBufferInheritanceRenderPassTransformInfoQCOM; }; + struct CommandBufferInheritanceRenderingInfoKHR + { + using NativeType = VkCommandBufferInheritanceRenderingInfoKHR; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = + StructureType::eCommandBufferInheritanceRenderingInfoKHR; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR CommandBufferInheritanceRenderingInfoKHR( + VULKAN_HPP_NAMESPACE::RenderingFlagsKHR flags_ = {}, + uint32_t viewMask_ = {}, + uint32_t colorAttachmentCount_ = {}, + const VULKAN_HPP_NAMESPACE::Format * pColorAttachmentFormats_ = {}, + VULKAN_HPP_NAMESPACE::Format depthAttachmentFormat_ = VULKAN_HPP_NAMESPACE::Format::eUndefined, + VULKAN_HPP_NAMESPACE::Format stencilAttachmentFormat_ = VULKAN_HPP_NAMESPACE::Format::eUndefined, + VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples_ = VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1 ) + VULKAN_HPP_NOEXCEPT + : flags( flags_ ) + , viewMask( viewMask_ ) + , colorAttachmentCount( colorAttachmentCount_ ) + , pColorAttachmentFormats( pColorAttachmentFormats_ ) + , depthAttachmentFormat( depthAttachmentFormat_ ) + , stencilAttachmentFormat( stencilAttachmentFormat_ ) + , rasterizationSamples( rasterizationSamples_ ) + {} + + VULKAN_HPP_CONSTEXPR CommandBufferInheritanceRenderingInfoKHR( + CommandBufferInheritanceRenderingInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + CommandBufferInheritanceRenderingInfoKHR( VkCommandBufferInheritanceRenderingInfoKHR const & rhs ) + VULKAN_HPP_NOEXCEPT + : CommandBufferInheritanceRenderingInfoKHR( + *reinterpret_cast<CommandBufferInheritanceRenderingInfoKHR const *>( &rhs ) ) + {} + +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + CommandBufferInheritanceRenderingInfoKHR( + VULKAN_HPP_NAMESPACE::RenderingFlagsKHR flags_, + uint32_t viewMask_, + VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Format> const & colorAttachmentFormats_, + VULKAN_HPP_NAMESPACE::Format depthAttachmentFormat_ = VULKAN_HPP_NAMESPACE::Format::eUndefined, + VULKAN_HPP_NAMESPACE::Format stencilAttachmentFormat_ = VULKAN_HPP_NAMESPACE::Format::eUndefined, + VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples_ = VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1 ) + : flags( flags_ ) + , viewMask( viewMask_ ) + , colorAttachmentCount( static_cast<uint32_t>( colorAttachmentFormats_.size() ) ) + , pColorAttachmentFormats( colorAttachmentFormats_.data() ) + , depthAttachmentFormat( depthAttachmentFormat_ ) + , stencilAttachmentFormat( stencilAttachmentFormat_ ) + , rasterizationSamples( rasterizationSamples_ ) + {} +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + CommandBufferInheritanceRenderingInfoKHR & + operator=( CommandBufferInheritanceRenderingInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + CommandBufferInheritanceRenderingInfoKHR & + operator=( VkCommandBufferInheritanceRenderingInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceRenderingInfoKHR const *>( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + CommandBufferInheritanceRenderingInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + CommandBufferInheritanceRenderingInfoKHR & + setFlags( VULKAN_HPP_NAMESPACE::RenderingFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT + { + flags = flags_; + return *this; + } + + CommandBufferInheritanceRenderingInfoKHR & setViewMask( uint32_t viewMask_ ) VULKAN_HPP_NOEXCEPT + { + viewMask = viewMask_; + return *this; + } + + CommandBufferInheritanceRenderingInfoKHR & + setColorAttachmentCount( uint32_t colorAttachmentCount_ ) VULKAN_HPP_NOEXCEPT + { + colorAttachmentCount = colorAttachmentCount_; + return *this; + } + + CommandBufferInheritanceRenderingInfoKHR & + setPColorAttachmentFormats( const VULKAN_HPP_NAMESPACE::Format * pColorAttachmentFormats_ ) VULKAN_HPP_NOEXCEPT + { + pColorAttachmentFormats = pColorAttachmentFormats_; + return *this; + } + +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + CommandBufferInheritanceRenderingInfoKHR & setColorAttachmentFormats( + VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Format> const & + colorAttachmentFormats_ ) VULKAN_HPP_NOEXCEPT + { + colorAttachmentCount = static_cast<uint32_t>( colorAttachmentFormats_.size() ); + pColorAttachmentFormats = colorAttachmentFormats_.data(); + return *this; + } +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + + CommandBufferInheritanceRenderingInfoKHR & + setDepthAttachmentFormat( VULKAN_HPP_NAMESPACE::Format depthAttachmentFormat_ ) VULKAN_HPP_NOEXCEPT + { + depthAttachmentFormat = depthAttachmentFormat_; + return *this; + } + + CommandBufferInheritanceRenderingInfoKHR & + setStencilAttachmentFormat( VULKAN_HPP_NAMESPACE::Format stencilAttachmentFormat_ ) VULKAN_HPP_NOEXCEPT + { + stencilAttachmentFormat = stencilAttachmentFormat_; + return *this; + } + + CommandBufferInheritanceRenderingInfoKHR & + setRasterizationSamples( VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples_ ) VULKAN_HPP_NOEXCEPT + { + rasterizationSamples = rasterizationSamples_; + return *this; + } +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + operator VkCommandBufferInheritanceRenderingInfoKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<const VkCommandBufferInheritanceRenderingInfoKHR *>( this ); + } + + operator VkCommandBufferInheritanceRenderingInfoKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<VkCommandBufferInheritanceRenderingInfoKHR *>( this ); + } + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( CommandBufferInheritanceRenderingInfoKHR const & ) const = default; +#else + bool operator==( CommandBufferInheritanceRenderingInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && + ( viewMask == rhs.viewMask ) && ( colorAttachmentCount == rhs.colorAttachmentCount ) && + ( pColorAttachmentFormats == rhs.pColorAttachmentFormats ) && + ( depthAttachmentFormat == rhs.depthAttachmentFormat ) && + ( stencilAttachmentFormat == rhs.stencilAttachmentFormat ) && + ( rasterizationSamples == rhs.rasterizationSamples ); + } + + bool operator!=( CommandBufferInheritanceRenderingInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eCommandBufferInheritanceRenderingInfoKHR; + const void * pNext = {}; + VULKAN_HPP_NAMESPACE::RenderingFlagsKHR flags = {}; + uint32_t viewMask = {}; + uint32_t colorAttachmentCount = {}; + const VULKAN_HPP_NAMESPACE::Format * pColorAttachmentFormats = {}; + VULKAN_HPP_NAMESPACE::Format depthAttachmentFormat = VULKAN_HPP_NAMESPACE::Format::eUndefined; + VULKAN_HPP_NAMESPACE::Format stencilAttachmentFormat = VULKAN_HPP_NAMESPACE::Format::eUndefined; + VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples = VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1; + }; + VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::CommandBufferInheritanceRenderingInfoKHR ) == + sizeof( VkCommandBufferInheritanceRenderingInfoKHR ), + "struct and wrapper have different size!" ); + VULKAN_HPP_STATIC_ASSERT( + std::is_standard_layout<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceRenderingInfoKHR>::value, + "struct wrapper is not a standard layout!" ); + VULKAN_HPP_STATIC_ASSERT( + std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceRenderingInfoKHR>::value, + "CommandBufferInheritanceRenderingInfoKHR is not nothrow_move_constructible!" ); + + template <> + struct CppType<StructureType, StructureType::eCommandBufferInheritanceRenderingInfoKHR> + { + using Type = CommandBufferInheritanceRenderingInfoKHR; + }; + struct Viewport { using NativeType = VkViewport; @@ -36995,6 +37317,107 @@ namespace VULKAN_HPP_NAMESPACE using Type = MultisamplePropertiesEXT; }; + struct MultiviewPerViewAttributesInfoNVX + { + using NativeType = VkMultiviewPerViewAttributesInfoNVX; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = + StructureType::eMultiviewPerViewAttributesInfoNVX; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR MultiviewPerViewAttributesInfoNVX( + VULKAN_HPP_NAMESPACE::Bool32 perViewAttributes_ = {}, + VULKAN_HPP_NAMESPACE::Bool32 perViewAttributesPositionXOnly_ = {} ) VULKAN_HPP_NOEXCEPT + : perViewAttributes( perViewAttributes_ ) + , perViewAttributesPositionXOnly( perViewAttributesPositionXOnly_ ) + {} + + VULKAN_HPP_CONSTEXPR + MultiviewPerViewAttributesInfoNVX( MultiviewPerViewAttributesInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + MultiviewPerViewAttributesInfoNVX( VkMultiviewPerViewAttributesInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT + : MultiviewPerViewAttributesInfoNVX( *reinterpret_cast<MultiviewPerViewAttributesInfoNVX const *>( &rhs ) ) + {} +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + MultiviewPerViewAttributesInfoNVX & + operator=( MultiviewPerViewAttributesInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + MultiviewPerViewAttributesInfoNVX & operator=( VkMultiviewPerViewAttributesInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MultiviewPerViewAttributesInfoNVX const *>( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + MultiviewPerViewAttributesInfoNVX & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + MultiviewPerViewAttributesInfoNVX & + setPerViewAttributes( VULKAN_HPP_NAMESPACE::Bool32 perViewAttributes_ ) VULKAN_HPP_NOEXCEPT + { + perViewAttributes = perViewAttributes_; + return *this; + } + + MultiviewPerViewAttributesInfoNVX & setPerViewAttributesPositionXOnly( + VULKAN_HPP_NAMESPACE::Bool32 perViewAttributesPositionXOnly_ ) VULKAN_HPP_NOEXCEPT + { + perViewAttributesPositionXOnly = perViewAttributesPositionXOnly_; + return *this; + } +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + operator VkMultiviewPerViewAttributesInfoNVX const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<const VkMultiviewPerViewAttributesInfoNVX *>( this ); + } + + operator VkMultiviewPerViewAttributesInfoNVX &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<VkMultiviewPerViewAttributesInfoNVX *>( this ); + } + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( MultiviewPerViewAttributesInfoNVX const & ) const = default; +#else + bool operator==( MultiviewPerViewAttributesInfoNVX const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( perViewAttributes == rhs.perViewAttributes ) && + ( perViewAttributesPositionXOnly == rhs.perViewAttributesPositionXOnly ); + } + + bool operator!=( MultiviewPerViewAttributesInfoNVX const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMultiviewPerViewAttributesInfoNVX; + const void * pNext = {}; + VULKAN_HPP_NAMESPACE::Bool32 perViewAttributes = {}; + VULKAN_HPP_NAMESPACE::Bool32 perViewAttributesPositionXOnly = {}; + }; + VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::MultiviewPerViewAttributesInfoNVX ) == + sizeof( VkMultiviewPerViewAttributesInfoNVX ), + "struct and wrapper have different size!" ); + VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::MultiviewPerViewAttributesInfoNVX>::value, + "struct wrapper is not a standard layout!" ); + VULKAN_HPP_STATIC_ASSERT( + std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::MultiviewPerViewAttributesInfoNVX>::value, + "MultiviewPerViewAttributesInfoNVX is not nothrow_move_constructible!" ); + + template <> + struct CppType<StructureType, StructureType::eMultiviewPerViewAttributesInfoNVX> + { + using Type = MultiviewPerViewAttributesInfoNVX; + }; + struct MutableDescriptorTypeListVALVE { using NativeType = VkMutableDescriptorTypeListVALVE; @@ -41867,6 +42290,99 @@ namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceDrmPropertiesEXT; }; + struct PhysicalDeviceDynamicRenderingFeaturesKHR + { + using NativeType = VkPhysicalDeviceDynamicRenderingFeaturesKHR; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = + StructureType::ePhysicalDeviceDynamicRenderingFeaturesKHR; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceDynamicRenderingFeaturesKHR( + VULKAN_HPP_NAMESPACE::Bool32 dynamicRendering_ = {} ) VULKAN_HPP_NOEXCEPT : dynamicRendering( dynamicRendering_ ) + {} + + VULKAN_HPP_CONSTEXPR PhysicalDeviceDynamicRenderingFeaturesKHR( + PhysicalDeviceDynamicRenderingFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceDynamicRenderingFeaturesKHR( VkPhysicalDeviceDynamicRenderingFeaturesKHR const & rhs ) + VULKAN_HPP_NOEXCEPT + : PhysicalDeviceDynamicRenderingFeaturesKHR( + *reinterpret_cast<PhysicalDeviceDynamicRenderingFeaturesKHR const *>( &rhs ) ) + {} +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + PhysicalDeviceDynamicRenderingFeaturesKHR & + operator=( PhysicalDeviceDynamicRenderingFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceDynamicRenderingFeaturesKHR & + operator=( VkPhysicalDeviceDynamicRenderingFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDynamicRenderingFeaturesKHR const *>( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + PhysicalDeviceDynamicRenderingFeaturesKHR & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + PhysicalDeviceDynamicRenderingFeaturesKHR & + setDynamicRendering( VULKAN_HPP_NAMESPACE::Bool32 dynamicRendering_ ) VULKAN_HPP_NOEXCEPT + { + dynamicRendering = dynamicRendering_; + return *this; + } +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + operator VkPhysicalDeviceDynamicRenderingFeaturesKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<const VkPhysicalDeviceDynamicRenderingFeaturesKHR *>( this ); + } + + operator VkPhysicalDeviceDynamicRenderingFeaturesKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<VkPhysicalDeviceDynamicRenderingFeaturesKHR *>( this ); + } + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceDynamicRenderingFeaturesKHR const & ) const = default; +#else + bool operator==( PhysicalDeviceDynamicRenderingFeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( dynamicRendering == rhs.dynamicRendering ); + } + + bool operator!=( PhysicalDeviceDynamicRenderingFeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDynamicRenderingFeaturesKHR; + void * pNext = {}; + VULKAN_HPP_NAMESPACE::Bool32 dynamicRendering = {}; + }; + VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceDynamicRenderingFeaturesKHR ) == + sizeof( VkPhysicalDeviceDynamicRenderingFeaturesKHR ), + "struct and wrapper have different size!" ); + VULKAN_HPP_STATIC_ASSERT( + std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceDynamicRenderingFeaturesKHR>::value, + "struct wrapper is not a standard layout!" ); + VULKAN_HPP_STATIC_ASSERT( + std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceDynamicRenderingFeaturesKHR>::value, + "PhysicalDeviceDynamicRenderingFeaturesKHR is not nothrow_move_constructible!" ); + + template <> + struct CppType<StructureType, StructureType::ePhysicalDeviceDynamicRenderingFeaturesKHR> + { + using Type = PhysicalDeviceDynamicRenderingFeaturesKHR; + }; + struct PhysicalDeviceExclusiveScissorFeaturesNV { using NativeType = VkPhysicalDeviceExclusiveScissorFeaturesNV; @@ -60824,6 +61340,163 @@ namespace VULKAN_HPP_NAMESPACE using Type = PipelineRasterizationStateStreamCreateInfoEXT; }; + struct PipelineRenderingCreateInfoKHR + { + using NativeType = VkPipelineRenderingCreateInfoKHR; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineRenderingCreateInfoKHR; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PipelineRenderingCreateInfoKHR( + uint32_t viewMask_ = {}, + uint32_t colorAttachmentCount_ = {}, + const VULKAN_HPP_NAMESPACE::Format * pColorAttachmentFormats_ = {}, + VULKAN_HPP_NAMESPACE::Format depthAttachmentFormat_ = VULKAN_HPP_NAMESPACE::Format::eUndefined, + VULKAN_HPP_NAMESPACE::Format stencilAttachmentFormat_ = VULKAN_HPP_NAMESPACE::Format::eUndefined ) + VULKAN_HPP_NOEXCEPT + : viewMask( viewMask_ ) + , colorAttachmentCount( colorAttachmentCount_ ) + , pColorAttachmentFormats( pColorAttachmentFormats_ ) + , depthAttachmentFormat( depthAttachmentFormat_ ) + , stencilAttachmentFormat( stencilAttachmentFormat_ ) + {} + + VULKAN_HPP_CONSTEXPR + PipelineRenderingCreateInfoKHR( PipelineRenderingCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PipelineRenderingCreateInfoKHR( VkPipelineRenderingCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + : PipelineRenderingCreateInfoKHR( *reinterpret_cast<PipelineRenderingCreateInfoKHR const *>( &rhs ) ) + {} + +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + PipelineRenderingCreateInfoKHR( + uint32_t viewMask_, + VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Format> const & colorAttachmentFormats_, + VULKAN_HPP_NAMESPACE::Format depthAttachmentFormat_ = VULKAN_HPP_NAMESPACE::Format::eUndefined, + VULKAN_HPP_NAMESPACE::Format stencilAttachmentFormat_ = VULKAN_HPP_NAMESPACE::Format::eUndefined ) + : viewMask( viewMask_ ) + , colorAttachmentCount( static_cast<uint32_t>( colorAttachmentFormats_.size() ) ) + , pColorAttachmentFormats( colorAttachmentFormats_.data() ) + , depthAttachmentFormat( depthAttachmentFormat_ ) + , stencilAttachmentFormat( stencilAttachmentFormat_ ) + {} +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + PipelineRenderingCreateInfoKHR & + operator=( PipelineRenderingCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PipelineRenderingCreateInfoKHR & operator=( VkPipelineRenderingCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineRenderingCreateInfoKHR const *>( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + PipelineRenderingCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + PipelineRenderingCreateInfoKHR & setViewMask( uint32_t viewMask_ ) VULKAN_HPP_NOEXCEPT + { + viewMask = viewMask_; + return *this; + } + + PipelineRenderingCreateInfoKHR & setColorAttachmentCount( uint32_t colorAttachmentCount_ ) VULKAN_HPP_NOEXCEPT + { + colorAttachmentCount = colorAttachmentCount_; + return *this; + } + + PipelineRenderingCreateInfoKHR & + setPColorAttachmentFormats( const VULKAN_HPP_NAMESPACE::Format * pColorAttachmentFormats_ ) VULKAN_HPP_NOEXCEPT + { + pColorAttachmentFormats = pColorAttachmentFormats_; + return *this; + } + +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + PipelineRenderingCreateInfoKHR & setColorAttachmentFormats( + VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Format> const & + colorAttachmentFormats_ ) VULKAN_HPP_NOEXCEPT + { + colorAttachmentCount = static_cast<uint32_t>( colorAttachmentFormats_.size() ); + pColorAttachmentFormats = colorAttachmentFormats_.data(); + return *this; + } +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + + PipelineRenderingCreateInfoKHR & + setDepthAttachmentFormat( VULKAN_HPP_NAMESPACE::Format depthAttachmentFormat_ ) VULKAN_HPP_NOEXCEPT + { + depthAttachmentFormat = depthAttachmentFormat_; + return *this; + } + + PipelineRenderingCreateInfoKHR & + setStencilAttachmentFormat( VULKAN_HPP_NAMESPACE::Format stencilAttachmentFormat_ ) VULKAN_HPP_NOEXCEPT + { + stencilAttachmentFormat = stencilAttachmentFormat_; + return *this; + } +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + operator VkPipelineRenderingCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<const VkPipelineRenderingCreateInfoKHR *>( this ); + } + + operator VkPipelineRenderingCreateInfoKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<VkPipelineRenderingCreateInfoKHR *>( this ); + } + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PipelineRenderingCreateInfoKHR const & ) const = default; +#else + bool operator==( PipelineRenderingCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( viewMask == rhs.viewMask ) && + ( colorAttachmentCount == rhs.colorAttachmentCount ) && + ( pColorAttachmentFormats == rhs.pColorAttachmentFormats ) && + ( depthAttachmentFormat == rhs.depthAttachmentFormat ) && + ( stencilAttachmentFormat == rhs.stencilAttachmentFormat ); + } + + bool operator!=( PipelineRenderingCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineRenderingCreateInfoKHR; + const void * pNext = {}; + uint32_t viewMask = {}; + uint32_t colorAttachmentCount = {}; + const VULKAN_HPP_NAMESPACE::Format * pColorAttachmentFormats = {}; + VULKAN_HPP_NAMESPACE::Format depthAttachmentFormat = VULKAN_HPP_NAMESPACE::Format::eUndefined; + VULKAN_HPP_NAMESPACE::Format stencilAttachmentFormat = VULKAN_HPP_NAMESPACE::Format::eUndefined; + }; + VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PipelineRenderingCreateInfoKHR ) == + sizeof( VkPipelineRenderingCreateInfoKHR ), + "struct and wrapper have different size!" ); + VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PipelineRenderingCreateInfoKHR>::value, + "struct wrapper is not a standard layout!" ); + VULKAN_HPP_STATIC_ASSERT( + std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PipelineRenderingCreateInfoKHR>::value, + "PipelineRenderingCreateInfoKHR is not nothrow_move_constructible!" ); + + template <> + struct CppType<StructureType, StructureType::ePipelineRenderingCreateInfoKHR> + { + using Type = PipelineRenderingCreateInfoKHR; + }; + struct PipelineRepresentativeFragmentTestStateCreateInfoNV { using NativeType = VkPipelineRepresentativeFragmentTestStateCreateInfoNV; @@ -67277,6 +67950,551 @@ namespace VULKAN_HPP_NAMESPACE using Type = RenderPassTransformBeginInfoQCOM; }; + struct RenderingAttachmentInfoKHR + { + using NativeType = VkRenderingAttachmentInfoKHR; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderingAttachmentInfoKHR; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + RenderingAttachmentInfoKHR( + VULKAN_HPP_NAMESPACE::ImageView imageView_ = {}, + VULKAN_HPP_NAMESPACE::ImageLayout imageLayout_ = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, + VULKAN_HPP_NAMESPACE::ResolveModeFlagBits resolveMode_ = VULKAN_HPP_NAMESPACE::ResolveModeFlagBits::eNone, + VULKAN_HPP_NAMESPACE::ImageView resolveImageView_ = {}, + VULKAN_HPP_NAMESPACE::ImageLayout resolveImageLayout_ = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, + VULKAN_HPP_NAMESPACE::AttachmentLoadOp loadOp_ = VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad, + VULKAN_HPP_NAMESPACE::AttachmentStoreOp storeOp_ = VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore, + VULKAN_HPP_NAMESPACE::ClearValue clearValue_ = {} ) VULKAN_HPP_NOEXCEPT + : imageView( imageView_ ) + , imageLayout( imageLayout_ ) + , resolveMode( resolveMode_ ) + , resolveImageView( resolveImageView_ ) + , resolveImageLayout( resolveImageLayout_ ) + , loadOp( loadOp_ ) + , storeOp( storeOp_ ) + , clearValue( clearValue_ ) + {} + + RenderingAttachmentInfoKHR( RenderingAttachmentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + RenderingAttachmentInfoKHR( VkRenderingAttachmentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + : RenderingAttachmentInfoKHR( *reinterpret_cast<RenderingAttachmentInfoKHR const *>( &rhs ) ) + {} +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + RenderingAttachmentInfoKHR & operator=( RenderingAttachmentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + RenderingAttachmentInfoKHR & operator=( VkRenderingAttachmentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderingAttachmentInfoKHR const *>( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + RenderingAttachmentInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + RenderingAttachmentInfoKHR & setImageView( VULKAN_HPP_NAMESPACE::ImageView imageView_ ) VULKAN_HPP_NOEXCEPT + { + imageView = imageView_; + return *this; + } + + RenderingAttachmentInfoKHR & setImageLayout( VULKAN_HPP_NAMESPACE::ImageLayout imageLayout_ ) VULKAN_HPP_NOEXCEPT + { + imageLayout = imageLayout_; + return *this; + } + + RenderingAttachmentInfoKHR & + setResolveMode( VULKAN_HPP_NAMESPACE::ResolveModeFlagBits resolveMode_ ) VULKAN_HPP_NOEXCEPT + { + resolveMode = resolveMode_; + return *this; + } + + RenderingAttachmentInfoKHR & + setResolveImageView( VULKAN_HPP_NAMESPACE::ImageView resolveImageView_ ) VULKAN_HPP_NOEXCEPT + { + resolveImageView = resolveImageView_; + return *this; + } + + RenderingAttachmentInfoKHR & + setResolveImageLayout( VULKAN_HPP_NAMESPACE::ImageLayout resolveImageLayout_ ) VULKAN_HPP_NOEXCEPT + { + resolveImageLayout = resolveImageLayout_; + return *this; + } + + RenderingAttachmentInfoKHR & setLoadOp( VULKAN_HPP_NAMESPACE::AttachmentLoadOp loadOp_ ) VULKAN_HPP_NOEXCEPT + { + loadOp = loadOp_; + return *this; + } + + RenderingAttachmentInfoKHR & setStoreOp( VULKAN_HPP_NAMESPACE::AttachmentStoreOp storeOp_ ) VULKAN_HPP_NOEXCEPT + { + storeOp = storeOp_; + return *this; + } + + RenderingAttachmentInfoKHR & + setClearValue( VULKAN_HPP_NAMESPACE::ClearValue const & clearValue_ ) VULKAN_HPP_NOEXCEPT + { + clearValue = clearValue_; + return *this; + } +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + operator VkRenderingAttachmentInfoKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<const VkRenderingAttachmentInfoKHR *>( this ); + } + + operator VkRenderingAttachmentInfoKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<VkRenderingAttachmentInfoKHR *>( this ); + } + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderingAttachmentInfoKHR; + const void * pNext = {}; + VULKAN_HPP_NAMESPACE::ImageView imageView = {}; + VULKAN_HPP_NAMESPACE::ImageLayout imageLayout = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined; + VULKAN_HPP_NAMESPACE::ResolveModeFlagBits resolveMode = VULKAN_HPP_NAMESPACE::ResolveModeFlagBits::eNone; + VULKAN_HPP_NAMESPACE::ImageView resolveImageView = {}; + VULKAN_HPP_NAMESPACE::ImageLayout resolveImageLayout = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined; + VULKAN_HPP_NAMESPACE::AttachmentLoadOp loadOp = VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad; + VULKAN_HPP_NAMESPACE::AttachmentStoreOp storeOp = VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore; + VULKAN_HPP_NAMESPACE::ClearValue clearValue = {}; + }; + VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::RenderingAttachmentInfoKHR ) == + sizeof( VkRenderingAttachmentInfoKHR ), + "struct and wrapper have different size!" ); + VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::RenderingAttachmentInfoKHR>::value, + "struct wrapper is not a standard layout!" ); + VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::RenderingAttachmentInfoKHR>::value, + "RenderingAttachmentInfoKHR is not nothrow_move_constructible!" ); + + template <> + struct CppType<StructureType, StructureType::eRenderingAttachmentInfoKHR> + { + using Type = RenderingAttachmentInfoKHR; + }; + + struct RenderingFragmentDensityMapAttachmentInfoEXT + { + using NativeType = VkRenderingFragmentDensityMapAttachmentInfoEXT; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = + StructureType::eRenderingFragmentDensityMapAttachmentInfoEXT; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR RenderingFragmentDensityMapAttachmentInfoEXT( + VULKAN_HPP_NAMESPACE::ImageView imageView_ = {}, + VULKAN_HPP_NAMESPACE::ImageLayout imageLayout_ = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined ) + VULKAN_HPP_NOEXCEPT + : imageView( imageView_ ) + , imageLayout( imageLayout_ ) + {} + + VULKAN_HPP_CONSTEXPR RenderingFragmentDensityMapAttachmentInfoEXT( + RenderingFragmentDensityMapAttachmentInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + RenderingFragmentDensityMapAttachmentInfoEXT( VkRenderingFragmentDensityMapAttachmentInfoEXT const & rhs ) + VULKAN_HPP_NOEXCEPT + : RenderingFragmentDensityMapAttachmentInfoEXT( + *reinterpret_cast<RenderingFragmentDensityMapAttachmentInfoEXT const *>( &rhs ) ) + {} +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + RenderingFragmentDensityMapAttachmentInfoEXT & + operator=( RenderingFragmentDensityMapAttachmentInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + RenderingFragmentDensityMapAttachmentInfoEXT & + operator=( VkRenderingFragmentDensityMapAttachmentInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderingFragmentDensityMapAttachmentInfoEXT const *>( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + RenderingFragmentDensityMapAttachmentInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + RenderingFragmentDensityMapAttachmentInfoEXT & + setImageView( VULKAN_HPP_NAMESPACE::ImageView imageView_ ) VULKAN_HPP_NOEXCEPT + { + imageView = imageView_; + return *this; + } + + RenderingFragmentDensityMapAttachmentInfoEXT & + setImageLayout( VULKAN_HPP_NAMESPACE::ImageLayout imageLayout_ ) VULKAN_HPP_NOEXCEPT + { + imageLayout = imageLayout_; + return *this; + } +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + operator VkRenderingFragmentDensityMapAttachmentInfoEXT const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<const VkRenderingFragmentDensityMapAttachmentInfoEXT *>( this ); + } + + operator VkRenderingFragmentDensityMapAttachmentInfoEXT &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<VkRenderingFragmentDensityMapAttachmentInfoEXT *>( this ); + } + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( RenderingFragmentDensityMapAttachmentInfoEXT const & ) const = default; +#else + bool operator==( RenderingFragmentDensityMapAttachmentInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageView == rhs.imageView ) && + ( imageLayout == rhs.imageLayout ); + } + + bool operator!=( RenderingFragmentDensityMapAttachmentInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderingFragmentDensityMapAttachmentInfoEXT; + const void * pNext = {}; + VULKAN_HPP_NAMESPACE::ImageView imageView = {}; + VULKAN_HPP_NAMESPACE::ImageLayout imageLayout = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined; + }; + VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::RenderingFragmentDensityMapAttachmentInfoEXT ) == + sizeof( VkRenderingFragmentDensityMapAttachmentInfoEXT ), + "struct and wrapper have different size!" ); + VULKAN_HPP_STATIC_ASSERT( + std::is_standard_layout<VULKAN_HPP_NAMESPACE::RenderingFragmentDensityMapAttachmentInfoEXT>::value, + "struct wrapper is not a standard layout!" ); + VULKAN_HPP_STATIC_ASSERT( + std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::RenderingFragmentDensityMapAttachmentInfoEXT>::value, + "RenderingFragmentDensityMapAttachmentInfoEXT is not nothrow_move_constructible!" ); + + template <> + struct CppType<StructureType, StructureType::eRenderingFragmentDensityMapAttachmentInfoEXT> + { + using Type = RenderingFragmentDensityMapAttachmentInfoEXT; + }; + + struct RenderingFragmentShadingRateAttachmentInfoKHR + { + using NativeType = VkRenderingFragmentShadingRateAttachmentInfoKHR; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = + StructureType::eRenderingFragmentShadingRateAttachmentInfoKHR; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR RenderingFragmentShadingRateAttachmentInfoKHR( + VULKAN_HPP_NAMESPACE::ImageView imageView_ = {}, + VULKAN_HPP_NAMESPACE::ImageLayout imageLayout_ = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, + VULKAN_HPP_NAMESPACE::Extent2D shadingRateAttachmentTexelSize_ = {} ) VULKAN_HPP_NOEXCEPT + : imageView( imageView_ ) + , imageLayout( imageLayout_ ) + , shadingRateAttachmentTexelSize( shadingRateAttachmentTexelSize_ ) + {} + + VULKAN_HPP_CONSTEXPR RenderingFragmentShadingRateAttachmentInfoKHR( + RenderingFragmentShadingRateAttachmentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + RenderingFragmentShadingRateAttachmentInfoKHR( VkRenderingFragmentShadingRateAttachmentInfoKHR const & rhs ) + VULKAN_HPP_NOEXCEPT + : RenderingFragmentShadingRateAttachmentInfoKHR( + *reinterpret_cast<RenderingFragmentShadingRateAttachmentInfoKHR const *>( &rhs ) ) + {} +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + RenderingFragmentShadingRateAttachmentInfoKHR & + operator=( RenderingFragmentShadingRateAttachmentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + RenderingFragmentShadingRateAttachmentInfoKHR & + operator=( VkRenderingFragmentShadingRateAttachmentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderingFragmentShadingRateAttachmentInfoKHR const *>( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + RenderingFragmentShadingRateAttachmentInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + RenderingFragmentShadingRateAttachmentInfoKHR & + setImageView( VULKAN_HPP_NAMESPACE::ImageView imageView_ ) VULKAN_HPP_NOEXCEPT + { + imageView = imageView_; + return *this; + } + + RenderingFragmentShadingRateAttachmentInfoKHR & + setImageLayout( VULKAN_HPP_NAMESPACE::ImageLayout imageLayout_ ) VULKAN_HPP_NOEXCEPT + { + imageLayout = imageLayout_; + return *this; + } + + RenderingFragmentShadingRateAttachmentInfoKHR & setShadingRateAttachmentTexelSize( + VULKAN_HPP_NAMESPACE::Extent2D const & shadingRateAttachmentTexelSize_ ) VULKAN_HPP_NOEXCEPT + { + shadingRateAttachmentTexelSize = shadingRateAttachmentTexelSize_; + return *this; + } +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + operator VkRenderingFragmentShadingRateAttachmentInfoKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<const VkRenderingFragmentShadingRateAttachmentInfoKHR *>( this ); + } + + operator VkRenderingFragmentShadingRateAttachmentInfoKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<VkRenderingFragmentShadingRateAttachmentInfoKHR *>( this ); + } + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( RenderingFragmentShadingRateAttachmentInfoKHR const & ) const = default; +#else + bool operator==( RenderingFragmentShadingRateAttachmentInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageView == rhs.imageView ) && + ( imageLayout == rhs.imageLayout ) && + ( shadingRateAttachmentTexelSize == rhs.shadingRateAttachmentTexelSize ); + } + + bool operator!=( RenderingFragmentShadingRateAttachmentInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderingFragmentShadingRateAttachmentInfoKHR; + const void * pNext = {}; + VULKAN_HPP_NAMESPACE::ImageView imageView = {}; + VULKAN_HPP_NAMESPACE::ImageLayout imageLayout = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined; + VULKAN_HPP_NAMESPACE::Extent2D shadingRateAttachmentTexelSize = {}; + }; + VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::RenderingFragmentShadingRateAttachmentInfoKHR ) == + sizeof( VkRenderingFragmentShadingRateAttachmentInfoKHR ), + "struct and wrapper have different size!" ); + VULKAN_HPP_STATIC_ASSERT( + std::is_standard_layout<VULKAN_HPP_NAMESPACE::RenderingFragmentShadingRateAttachmentInfoKHR>::value, + "struct wrapper is not a standard layout!" ); + VULKAN_HPP_STATIC_ASSERT( + std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::RenderingFragmentShadingRateAttachmentInfoKHR>::value, + "RenderingFragmentShadingRateAttachmentInfoKHR is not nothrow_move_constructible!" ); + + template <> + struct CppType<StructureType, StructureType::eRenderingFragmentShadingRateAttachmentInfoKHR> + { + using Type = RenderingFragmentShadingRateAttachmentInfoKHR; + }; + + struct RenderingInfoKHR + { + using NativeType = VkRenderingInfoKHR; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderingInfoKHR; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR_14 RenderingInfoKHR( + VULKAN_HPP_NAMESPACE::RenderingFlagsKHR flags_ = {}, + VULKAN_HPP_NAMESPACE::Rect2D renderArea_ = {}, + uint32_t layerCount_ = {}, + uint32_t viewMask_ = {}, + uint32_t colorAttachmentCount_ = {}, + const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfoKHR * pColorAttachments_ = {}, + const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfoKHR * pDepthAttachment_ = {}, + const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfoKHR * pStencilAttachment_ = {} ) VULKAN_HPP_NOEXCEPT + : flags( flags_ ) + , renderArea( renderArea_ ) + , layerCount( layerCount_ ) + , viewMask( viewMask_ ) + , colorAttachmentCount( colorAttachmentCount_ ) + , pColorAttachments( pColorAttachments_ ) + , pDepthAttachment( pDepthAttachment_ ) + , pStencilAttachment( pStencilAttachment_ ) + {} + + VULKAN_HPP_CONSTEXPR_14 RenderingInfoKHR( RenderingInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + RenderingInfoKHR( VkRenderingInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + : RenderingInfoKHR( *reinterpret_cast<RenderingInfoKHR const *>( &rhs ) ) + {} + +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + RenderingInfoKHR( + VULKAN_HPP_NAMESPACE::RenderingFlagsKHR flags_, + VULKAN_HPP_NAMESPACE::Rect2D renderArea_, + uint32_t layerCount_, + uint32_t viewMask_, + VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfoKHR> const & + colorAttachments_, + const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfoKHR * pDepthAttachment_ = {}, + const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfoKHR * pStencilAttachment_ = {} ) + : flags( flags_ ) + , renderArea( renderArea_ ) + , layerCount( layerCount_ ) + , viewMask( viewMask_ ) + , colorAttachmentCount( static_cast<uint32_t>( colorAttachments_.size() ) ) + , pColorAttachments( colorAttachments_.data() ) + , pDepthAttachment( pDepthAttachment_ ) + , pStencilAttachment( pStencilAttachment_ ) + {} +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + RenderingInfoKHR & operator=( RenderingInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + RenderingInfoKHR & operator=( VkRenderingInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderingInfoKHR const *>( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + RenderingInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + RenderingInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::RenderingFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT + { + flags = flags_; + return *this; + } + + RenderingInfoKHR & setRenderArea( VULKAN_HPP_NAMESPACE::Rect2D const & renderArea_ ) VULKAN_HPP_NOEXCEPT + { + renderArea = renderArea_; + return *this; + } + + RenderingInfoKHR & setLayerCount( uint32_t layerCount_ ) VULKAN_HPP_NOEXCEPT + { + layerCount = layerCount_; + return *this; + } + + RenderingInfoKHR & setViewMask( uint32_t viewMask_ ) VULKAN_HPP_NOEXCEPT + { + viewMask = viewMask_; + return *this; + } + + RenderingInfoKHR & setColorAttachmentCount( uint32_t colorAttachmentCount_ ) VULKAN_HPP_NOEXCEPT + { + colorAttachmentCount = colorAttachmentCount_; + return *this; + } + + RenderingInfoKHR & setPColorAttachments( + const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfoKHR * pColorAttachments_ ) VULKAN_HPP_NOEXCEPT + { + pColorAttachments = pColorAttachments_; + return *this; + } + +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + RenderingInfoKHR & setColorAttachments( + VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfoKHR> const & + colorAttachments_ ) VULKAN_HPP_NOEXCEPT + { + colorAttachmentCount = static_cast<uint32_t>( colorAttachments_.size() ); + pColorAttachments = colorAttachments_.data(); + return *this; + } +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + + RenderingInfoKHR & setPDepthAttachment( const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfoKHR * pDepthAttachment_ ) + VULKAN_HPP_NOEXCEPT + { + pDepthAttachment = pDepthAttachment_; + return *this; + } + + RenderingInfoKHR & setPStencilAttachment( + const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfoKHR * pStencilAttachment_ ) VULKAN_HPP_NOEXCEPT + { + pStencilAttachment = pStencilAttachment_; + return *this; + } +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + operator VkRenderingInfoKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<const VkRenderingInfoKHR *>( this ); + } + + operator VkRenderingInfoKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<VkRenderingInfoKHR *>( this ); + } + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( RenderingInfoKHR const & ) const = default; +#else + bool operator==( RenderingInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && + ( renderArea == rhs.renderArea ) && ( layerCount == rhs.layerCount ) && ( viewMask == rhs.viewMask ) && + ( colorAttachmentCount == rhs.colorAttachmentCount ) && ( pColorAttachments == rhs.pColorAttachments ) && + ( pDepthAttachment == rhs.pDepthAttachment ) && ( pStencilAttachment == rhs.pStencilAttachment ); + } + + bool operator!=( RenderingInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderingInfoKHR; + const void * pNext = {}; + VULKAN_HPP_NAMESPACE::RenderingFlagsKHR flags = {}; + VULKAN_HPP_NAMESPACE::Rect2D renderArea = {}; + uint32_t layerCount = {}; + uint32_t viewMask = {}; + uint32_t colorAttachmentCount = {}; + const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfoKHR * pColorAttachments = {}; + const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfoKHR * pDepthAttachment = {}; + const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfoKHR * pStencilAttachment = {}; + }; + VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::RenderingInfoKHR ) == sizeof( VkRenderingInfoKHR ), + "struct and wrapper have different size!" ); + VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::RenderingInfoKHR>::value, + "struct wrapper is not a standard layout!" ); + VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::RenderingInfoKHR>::value, + "RenderingInfoKHR is not nothrow_move_constructible!" ); + + template <> + struct CppType<StructureType, StructureType::eRenderingInfoKHR> + { + using Type = RenderingInfoKHR; + }; + struct ResolveImageInfo2KHR { using NativeType = VkResolveImageInfo2KHR; |