erupt 0.23.0+213

Vulkan API bindings
Documentation
// DO NOT EDIT: @generated by erupt's generator
///<s>Vulkan Manual Page</s> · Constant
#[doc(alias = "VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION")]
pub const KHR_CREATE_RENDERPASS_2_SPEC_VERSION: u32 = 1;
///<s>Vulkan Manual Page</s> · Constant
#[doc(alias = "VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME")]
pub const KHR_CREATE_RENDERPASS_2_EXTENSION_NAME: *const std::os::raw::c_char = crate::cstr!(
    "VK_KHR_create_renderpass2"
);
///<s>Vulkan Manual Page</s> · Constant
pub const FN_CREATE_RENDER_PASS2_KHR: *const std::os::raw::c_char = crate::cstr!(
    "vkCreateRenderPass2KHR"
);
///<s>Vulkan Manual Page</s> · Constant
pub const FN_CMD_BEGIN_RENDER_PASS2_KHR: *const std::os::raw::c_char = crate::cstr!(
    "vkCmdBeginRenderPass2KHR"
);
///<s>Vulkan Manual Page</s> · Constant
pub const FN_CMD_NEXT_SUBPASS2_KHR: *const std::os::raw::c_char = crate::cstr!(
    "vkCmdNextSubpass2KHR"
);
///<s>Vulkan Manual Page</s> · Constant
pub const FN_CMD_END_RENDER_PASS2_KHR: *const std::os::raw::c_char = crate::cstr!(
    "vkCmdEndRenderPass2KHR"
);
///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkAttachmentDescription2KHR.html) · Alias
#[doc(alias = "VkAttachmentDescription2KHR")]
#[allow(non_camel_case_types)]
pub type AttachmentDescription2KHR = crate::vk1_2::AttachmentDescription2;
///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkAttachmentDescription2KHR.html) · Alias
#[doc(alias = "VkAttachmentDescription2KHR")]
#[allow(non_camel_case_types)]
pub type AttachmentDescription2KHRBuilder<'a> = crate::vk1_2::AttachmentDescription2Builder<
    'a,
>;
///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkAttachmentReference2KHR.html) · Alias
#[doc(alias = "VkAttachmentReference2KHR")]
#[allow(non_camel_case_types)]
pub type AttachmentReference2KHR = crate::vk1_2::AttachmentReference2;
///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkAttachmentReference2KHR.html) · Alias
#[doc(alias = "VkAttachmentReference2KHR")]
#[allow(non_camel_case_types)]
pub type AttachmentReference2KHRBuilder<'a> = crate::vk1_2::AttachmentReference2Builder<
    'a,
>;
///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSubpassDescription2KHR.html) · Alias
#[doc(alias = "VkSubpassDescription2KHR")]
#[allow(non_camel_case_types)]
pub type SubpassDescription2KHR = crate::vk1_2::SubpassDescription2;
///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSubpassDescription2KHR.html) · Alias
#[doc(alias = "VkSubpassDescription2KHR")]
#[allow(non_camel_case_types)]
pub type SubpassDescription2KHRBuilder<'a> = crate::vk1_2::SubpassDescription2Builder<
    'a,
>;
///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSubpassDependency2KHR.html) · Alias
#[doc(alias = "VkSubpassDependency2KHR")]
#[allow(non_camel_case_types)]
pub type SubpassDependency2KHR = crate::vk1_2::SubpassDependency2;
///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSubpassDependency2KHR.html) · Alias
#[doc(alias = "VkSubpassDependency2KHR")]
#[allow(non_camel_case_types)]
pub type SubpassDependency2KHRBuilder<'a> = crate::vk1_2::SubpassDependency2Builder<'a>;
///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkRenderPassCreateInfo2KHR.html) · Alias
#[doc(alias = "VkRenderPassCreateInfo2KHR")]
#[allow(non_camel_case_types)]
pub type RenderPassCreateInfo2KHR = crate::vk1_2::RenderPassCreateInfo2;
///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkRenderPassCreateInfo2KHR.html) · Alias
#[doc(alias = "VkRenderPassCreateInfo2KHR")]
#[allow(non_camel_case_types)]
pub type RenderPassCreateInfo2KHRBuilder<'a> = crate::vk1_2::RenderPassCreateInfo2Builder<
    'a,
>;
///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSubpassBeginInfoKHR.html) · Alias
#[doc(alias = "VkSubpassBeginInfoKHR")]
#[allow(non_camel_case_types)]
pub type SubpassBeginInfoKHR = crate::vk1_2::SubpassBeginInfo;
///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSubpassBeginInfoKHR.html) · Alias
#[doc(alias = "VkSubpassBeginInfoKHR")]
#[allow(non_camel_case_types)]
pub type SubpassBeginInfoKHRBuilder<'a> = crate::vk1_2::SubpassBeginInfoBuilder<'a>;
///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSubpassEndInfoKHR.html) · Alias
#[doc(alias = "VkSubpassEndInfoKHR")]
#[allow(non_camel_case_types)]
pub type SubpassEndInfoKHR = crate::vk1_2::SubpassEndInfo;
///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSubpassEndInfoKHR.html) · Alias
#[doc(alias = "VkSubpassEndInfoKHR")]
#[allow(non_camel_case_types)]
pub type SubpassEndInfoKHRBuilder<'a> = crate::vk1_2::SubpassEndInfoBuilder<'a>;
///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCreateRenderPass2KHR.html) · Alias
#[allow(non_camel_case_types)]
pub type PFN_vkCreateRenderPass2KHR = crate::vk1_2::PFN_vkCreateRenderPass2;
///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdBeginRenderPass2KHR.html) · Alias
#[allow(non_camel_case_types)]
pub type PFN_vkCmdBeginRenderPass2KHR = crate::vk1_2::PFN_vkCmdBeginRenderPass2;
///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdNextSubpass2KHR.html) · Alias
#[allow(non_camel_case_types)]
pub type PFN_vkCmdNextSubpass2KHR = crate::vk1_2::PFN_vkCmdNextSubpass2;
///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdEndRenderPass2KHR.html) · Alias
#[allow(non_camel_case_types)]
pub type PFN_vkCmdEndRenderPass2KHR = crate::vk1_2::PFN_vkCmdEndRenderPass2;
///Provided by [`crate::extensions::khr_create_renderpass2`]
impl crate::vk1_0::StructureType {
    pub const ATTACHMENT_DESCRIPTION_2_KHR: Self = Self::ATTACHMENT_DESCRIPTION_2;
    pub const ATTACHMENT_REFERENCE_2_KHR: Self = Self::ATTACHMENT_REFERENCE_2;
    pub const SUBPASS_DESCRIPTION_2_KHR: Self = Self::SUBPASS_DESCRIPTION_2;
    pub const SUBPASS_DEPENDENCY_2_KHR: Self = Self::SUBPASS_DEPENDENCY_2;
    pub const RENDER_PASS_CREATE_INFO_2_KHR: Self = Self::RENDER_PASS_CREATE_INFO_2;
    pub const SUBPASS_BEGIN_INFO_KHR: Self = Self::SUBPASS_BEGIN_INFO;
    pub const SUBPASS_END_INFO_KHR: Self = Self::SUBPASS_END_INFO;
}
///Provided by [`crate::extensions::khr_create_renderpass2`]
impl crate::DeviceLoader {
    #[inline]
    #[track_caller]
    ///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCreateRenderPass2KHR.html) · Function
    #[doc(alias = "vkCreateRenderPass2KHR")]
    pub unsafe fn create_render_pass2_khr(
        &self,
        create_info: &crate::vk1_2::RenderPassCreateInfo2,
        allocator: Option<&crate::vk1_0::AllocationCallbacks>,
    ) -> crate::utils::VulkanResult<crate::vk1_0::RenderPass> {
        let _function = self.create_render_pass2_khr.expect(crate::NOT_LOADED_MESSAGE);
        let mut render_pass = Default::default();
        let _return = _function(
            self.handle,
            create_info as _,
            match allocator {
                Some(v) => v,
                None => std::ptr::null(),
            },
            &mut render_pass,
        );
        crate::utils::VulkanResult::new(_return, render_pass)
    }
    #[inline]
    #[track_caller]
    ///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdBeginRenderPass2KHR.html) · Function
    #[doc(alias = "vkCmdBeginRenderPass2KHR")]
    pub unsafe fn cmd_begin_render_pass2_khr(
        &self,
        command_buffer: crate::vk1_0::CommandBuffer,
        render_pass_begin: &crate::vk1_0::RenderPassBeginInfo,
        subpass_begin_info: &crate::vk1_2::SubpassBeginInfo,
    ) -> () {
        let _function = self
            .cmd_begin_render_pass2_khr
            .expect(crate::NOT_LOADED_MESSAGE);
        let _return = _function(
            command_buffer as _,
            render_pass_begin as _,
            subpass_begin_info as _,
        );
        ()
    }
    #[inline]
    #[track_caller]
    ///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdNextSubpass2KHR.html) · Function
    #[doc(alias = "vkCmdNextSubpass2KHR")]
    pub unsafe fn cmd_next_subpass2_khr(
        &self,
        command_buffer: crate::vk1_0::CommandBuffer,
        subpass_begin_info: &crate::vk1_2::SubpassBeginInfo,
        subpass_end_info: &crate::vk1_2::SubpassEndInfo,
    ) -> () {
        let _function = self.cmd_next_subpass2_khr.expect(crate::NOT_LOADED_MESSAGE);
        let _return = _function(
            command_buffer as _,
            subpass_begin_info as _,
            subpass_end_info as _,
        );
        ()
    }
    #[inline]
    #[track_caller]
    ///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdEndRenderPass2KHR.html) · Function
    #[doc(alias = "vkCmdEndRenderPass2KHR")]
    pub unsafe fn cmd_end_render_pass2_khr(
        &self,
        command_buffer: crate::vk1_0::CommandBuffer,
        subpass_end_info: &crate::vk1_2::SubpassEndInfo,
    ) -> () {
        let _function = self.cmd_end_render_pass2_khr.expect(crate::NOT_LOADED_MESSAGE);
        let _return = _function(command_buffer as _, subpass_end_info as _);
        ()
    }
}