1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
#[doc = "<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;
#[doc = "<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");
#[doc = "<s>Vulkan Manual Page</s> · Constant"]
pub const FN_CREATE_RENDER_PASS2_KHR: *const std::os::raw::c_char = crate::cstr!("vkCreateRenderPass2KHR");
#[doc = "<s>Vulkan Manual Page</s> · Constant"]
pub const FN_CMD_BEGIN_RENDER_PASS2_KHR: *const std::os::raw::c_char = crate::cstr!("vkCmdBeginRenderPass2KHR");
#[doc = "<s>Vulkan Manual Page</s> · Constant"]
pub const FN_CMD_NEXT_SUBPASS2_KHR: *const std::os::raw::c_char = crate::cstr!("vkCmdNextSubpass2KHR");
#[doc = "<s>Vulkan Manual Page</s> · Constant"]
pub const FN_CMD_END_RENDER_PASS2_KHR: *const std::os::raw::c_char = crate::cstr!("vkCmdEndRenderPass2KHR");
#[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkAttachmentDescription2KHR.html) · Alias"]
#[doc(alias = "VkAttachmentDescription2KHR")]
#[allow(non_camel_case_types)]
pub type AttachmentDescription2KHR = crate::vk1_2::AttachmentDescription2;
#[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkAttachmentDescription2KHR.html) · Alias"]
#[doc(alias = "VkAttachmentDescription2KHR")]
#[allow(non_camel_case_types)]
pub type AttachmentDescription2KHRBuilder<'a> = crate::vk1_2::AttachmentDescription2Builder<'a>;
#[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkAttachmentReference2KHR.html) · Alias"]
#[doc(alias = "VkAttachmentReference2KHR")]
#[allow(non_camel_case_types)]
pub type AttachmentReference2KHR = crate::vk1_2::AttachmentReference2;
#[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkAttachmentReference2KHR.html) · Alias"]
#[doc(alias = "VkAttachmentReference2KHR")]
#[allow(non_camel_case_types)]
pub type AttachmentReference2KHRBuilder<'a> = crate::vk1_2::AttachmentReference2Builder<'a>;
#[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSubpassDescription2KHR.html) · Alias"]
#[doc(alias = "VkSubpassDescription2KHR")]
#[allow(non_camel_case_types)]
pub type SubpassDescription2KHR = crate::vk1_2::SubpassDescription2;
#[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSubpassDescription2KHR.html) · Alias"]
#[doc(alias = "VkSubpassDescription2KHR")]
#[allow(non_camel_case_types)]
pub type SubpassDescription2KHRBuilder<'a> = crate::vk1_2::SubpassDescription2Builder<'a>;
#[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSubpassDependency2KHR.html) · Alias"]
#[doc(alias = "VkSubpassDependency2KHR")]
#[allow(non_camel_case_types)]
pub type SubpassDependency2KHR = crate::vk1_2::SubpassDependency2;
#[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSubpassDependency2KHR.html) · Alias"]
#[doc(alias = "VkSubpassDependency2KHR")]
#[allow(non_camel_case_types)]
pub type SubpassDependency2KHRBuilder<'a> = crate::vk1_2::SubpassDependency2Builder<'a>;
#[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkRenderPassCreateInfo2KHR.html) · Alias"]
#[doc(alias = "VkRenderPassCreateInfo2KHR")]
#[allow(non_camel_case_types)]
pub type RenderPassCreateInfo2KHR = crate::vk1_2::RenderPassCreateInfo2;
#[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkRenderPassCreateInfo2KHR.html) · Alias"]
#[doc(alias = "VkRenderPassCreateInfo2KHR")]
#[allow(non_camel_case_types)]
pub type RenderPassCreateInfo2KHRBuilder<'a> = crate::vk1_2::RenderPassCreateInfo2Builder<'a>;
#[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSubpassBeginInfoKHR.html) · Alias"]
#[doc(alias = "VkSubpassBeginInfoKHR")]
#[allow(non_camel_case_types)]
pub type SubpassBeginInfoKHR = crate::vk1_2::SubpassBeginInfo;
#[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSubpassBeginInfoKHR.html) · Alias"]
#[doc(alias = "VkSubpassBeginInfoKHR")]
#[allow(non_camel_case_types)]
pub type SubpassBeginInfoKHRBuilder<'a> = crate::vk1_2::SubpassBeginInfoBuilder<'a>;
#[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSubpassEndInfoKHR.html) · Alias"]
#[doc(alias = "VkSubpassEndInfoKHR")]
#[allow(non_camel_case_types)]
pub type SubpassEndInfoKHR = crate::vk1_2::SubpassEndInfo;
#[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSubpassEndInfoKHR.html) · Alias"]
#[doc(alias = "VkSubpassEndInfoKHR")]
#[allow(non_camel_case_types)]
pub type SubpassEndInfoKHRBuilder<'a> = crate::vk1_2::SubpassEndInfoBuilder<'a>;
#[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCreateRenderPass2KHR.html) · Alias"]
#[allow(non_camel_case_types)]
pub type PFN_vkCreateRenderPass2KHR = crate::vk1_2::PFN_vkCreateRenderPass2;
#[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCmdBeginRenderPass2KHR.html) · Alias"]
#[allow(non_camel_case_types)]
pub type PFN_vkCmdBeginRenderPass2KHR = crate::vk1_2::PFN_vkCmdBeginRenderPass2;
#[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCmdNextSubpass2KHR.html) · Alias"]
#[allow(non_camel_case_types)]
pub type PFN_vkCmdNextSubpass2KHR = crate::vk1_2::PFN_vkCmdNextSubpass2;
#[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCmdEndRenderPass2KHR.html) · Alias"]
#[allow(non_camel_case_types)]
pub type PFN_vkCmdEndRenderPass2KHR = crate::vk1_2::PFN_vkCmdEndRenderPass2;
#[doc = "Provided by [`crate::extensions::khr_create_renderpass2`]"]
impl crate::DeviceLoader {
    #[inline]
    #[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-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>,
        render_pass: Option<crate::vk1_0::RenderPass>,
    ) -> crate::utils::VulkanResult<crate::vk1_0::RenderPass> {
        let _function = self.create_render_pass2_khr.expect("`create_render_pass2_khr` is not loaded");
        let mut render_pass = match render_pass {
            Some(v) => v,
            None => 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]
    #[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-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("`cmd_begin_render_pass2_khr` is not loaded");
        let _return = _function(command_buffer as _, render_pass_begin as _, subpass_begin_info as _);
        ()
    }
    #[inline]
    #[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-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("`cmd_next_subpass2_khr` is not loaded");
        let _return = _function(command_buffer as _, subpass_begin_info as _, subpass_end_info as _);
        ()
    }
    #[inline]
    #[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-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("`cmd_end_render_pass2_khr` is not loaded");
        let _return = _function(command_buffer as _, subpass_end_info as _);
        ()
    }
}