ash/extensions/khr/
copy_commands2.rs1use crate::vk;
2use crate::{Device, Instance};
3use std::ffi::CStr;
4use std::mem;
5
6#[derive(Clone)]
8pub struct CopyCommands2 {
9 fp: vk::KhrCopyCommands2Fn,
10}
11
12impl CopyCommands2 {
13 pub fn new(instance: &Instance, device: &Device) -> Self {
14 let fp = vk::KhrCopyCommands2Fn::load(|name| unsafe {
15 mem::transmute(instance.get_device_proc_addr(device.handle(), name.as_ptr()))
16 });
17 Self { fp }
18 }
19
20 #[inline]
22 pub unsafe fn cmd_copy_buffer2(
23 &self,
24 command_buffer: vk::CommandBuffer,
25 copy_buffer_info: &vk::CopyBufferInfo2KHR,
26 ) {
27 (self.fp.cmd_copy_buffer2_khr)(command_buffer, copy_buffer_info)
28 }
29 #[inline]
31 pub unsafe fn cmd_copy_image2(
32 &self,
33 command_buffer: vk::CommandBuffer,
34 copy_image_info: &vk::CopyImageInfo2KHR,
35 ) {
36 (self.fp.cmd_copy_image2_khr)(command_buffer, copy_image_info)
37 }
38 #[inline]
40 pub unsafe fn cmd_copy_buffer_to_image2(
41 &self,
42 command_buffer: vk::CommandBuffer,
43 copy_buffer_to_image_info: &vk::CopyBufferToImageInfo2KHR,
44 ) {
45 (self.fp.cmd_copy_buffer_to_image2_khr)(command_buffer, copy_buffer_to_image_info)
46 }
47 #[inline]
49 pub unsafe fn cmd_copy_image_to_buffer2(
50 &self,
51 command_buffer: vk::CommandBuffer,
52 copy_image_to_buffer_info: &vk::CopyImageToBufferInfo2KHR,
53 ) {
54 (self.fp.cmd_copy_image_to_buffer2_khr)(command_buffer, copy_image_to_buffer_info)
55 }
56 #[inline]
58 pub unsafe fn cmd_blit_image2(
59 &self,
60 command_buffer: vk::CommandBuffer,
61 blit_image_info: &vk::BlitImageInfo2KHR,
62 ) {
63 (self.fp.cmd_blit_image2_khr)(command_buffer, blit_image_info)
64 }
65 #[inline]
67 pub unsafe fn cmd_resolve_image2(
68 &self,
69 command_buffer: vk::CommandBuffer,
70 resolve_image_info: &vk::ResolveImageInfo2KHR,
71 ) {
72 (self.fp.cmd_resolve_image2_khr)(command_buffer, resolve_image_info)
73 }
74
75 #[inline]
76 pub const fn name() -> &'static CStr {
77 vk::KhrCopyCommands2Fn::name()
78 }
79
80 #[inline]
81 pub fn fp(&self) -> &vk::KhrCopyCommands2Fn {
82 &self.fp
83 }
84}