jay_ash/extensions/khr/
create_renderpass2.rs1use crate::RawPtr;
4use crate::prelude::*;
5use crate::vk;
6use core::mem;
7
8impl crate::khr::create_renderpass2::Device {
9 #[inline]
11 pub unsafe fn create_render_pass2(
12 &self,
13 create_info: &vk::RenderPassCreateInfo2<'_>,
14 allocation_callbacks: Option<&vk::AllocationCallbacks<'_>>,
15 ) -> VkResult<vk::RenderPass> {
16 unsafe {
17 let mut renderpass = mem::MaybeUninit::uninit();
18 (self.fp.create_render_pass2_khr)(
19 self.handle,
20 create_info,
21 allocation_callbacks.as_raw_ptr(),
22 renderpass.as_mut_ptr(),
23 )
24 .assume_init_on_success(renderpass)
25 }
26 }
27
28 #[inline]
30 pub unsafe fn cmd_begin_render_pass2(
31 &self,
32 command_buffer: vk::CommandBuffer,
33 render_pass_begin_info: &vk::RenderPassBeginInfo<'_>,
34 subpass_begin_info: &vk::SubpassBeginInfo<'_>,
35 ) {
36 unsafe {
37 (self.fp.cmd_begin_render_pass2_khr)(
38 command_buffer,
39 render_pass_begin_info,
40 subpass_begin_info,
41 );
42 }
43 }
44
45 #[inline]
47 pub unsafe fn cmd_next_subpass2(
48 &self,
49 command_buffer: vk::CommandBuffer,
50 subpass_begin_info: &vk::SubpassBeginInfo<'_>,
51 subpass_end_info: &vk::SubpassEndInfo<'_>,
52 ) {
53 unsafe {
54 (self.fp.cmd_next_subpass2_khr)(command_buffer, subpass_begin_info, subpass_end_info);
55 }
56 }
57
58 #[inline]
60 pub unsafe fn cmd_end_render_pass2(
61 &self,
62 command_buffer: vk::CommandBuffer,
63 subpass_end_info: &vk::SubpassEndInfo<'_>,
64 ) {
65 unsafe {
66 (self.fp.cmd_end_render_pass2_khr)(command_buffer, subpass_end_info);
67 }
68 }
69}