ash/extensions/khr/
dynamic_rendering.rs
1use crate::vk;
2use crate::{Device, Instance};
3use std::ffi::CStr;
4use std::mem;
5
6#[derive(Clone)]
7pub struct DynamicRendering {
8 fp: vk::KhrDynamicRenderingFn,
9}
10
11impl DynamicRendering {
12 pub fn new(instance: &Instance, device: &Device) -> Self {
13 let fp = vk::KhrDynamicRenderingFn::load(|name| unsafe {
14 mem::transmute(instance.get_device_proc_addr(device.handle(), name.as_ptr()))
15 });
16 Self { fp }
17 }
18
19 pub unsafe fn cmd_begin_rendering(
21 &self,
22 command_buffer: vk::CommandBuffer,
23 rendering_info: &vk::RenderingInfoKHR,
24 ) {
25 (self.fp.cmd_begin_rendering_khr)(command_buffer, rendering_info)
26 }
27
28 pub unsafe fn cmd_end_rendering(&self, command_buffer: vk::CommandBuffer) {
30 (self.fp.cmd_end_rendering_khr)(command_buffer)
31 }
32
33 pub const fn name() -> &'static CStr {
34 vk::KhrDynamicRenderingFn::name()
35 }
36
37 pub fn fp(&self) -> &vk::KhrDynamicRenderingFn {
38 &self.fp
39 }
40}