Skip to main content

lava/vulkan/nv/
vk_external_memory_image_create_info.rs

1// Generated by `scripts/generate.js`
2
3use std::os::raw::c_char;
4use std::ops::Deref;
5use std::ptr;
6use std::cmp;
7use std::mem;
8use utils::c_bindings::*;
9use utils::vk_convert::*;
10use utils::vk_null::*;
11use utils::vk_ptr::*;
12use utils::vk_traits::*;
13use vulkan::vk::*;
14use vulkan::vk::{VkStructureType,RawVkStructureType};
15use vulkan::nv::{VkExternalMemoryHandleTypeFlags,RawVkExternalMemoryHandleTypeFlags};
16
17/// Wrapper for [VkExternalMemoryImageCreateInfoNV](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkExternalMemoryImageCreateInfoNV.html).
18#[derive(Debug, Clone)]
19pub struct VkExternalMemoryImageCreateInfo {
20    pub handle_types: VkExternalMemoryHandleTypeFlags,
21}
22
23#[doc(hidden)]
24#[repr(C)]
25#[derive(Debug, Copy, Clone)]
26pub struct RawVkExternalMemoryImageCreateInfo {
27    pub s_type: RawVkStructureType,
28    pub next: *mut c_void,
29    pub handle_types: RawVkExternalMemoryHandleTypeFlags,
30}
31
32impl VkWrappedType<RawVkExternalMemoryImageCreateInfo> for VkExternalMemoryImageCreateInfo {
33    fn vk_to_raw(src: &VkExternalMemoryImageCreateInfo, dst: &mut RawVkExternalMemoryImageCreateInfo) {
34        dst.s_type = vk_to_raw_value(&VkStructureType::ExternalMemoryImageCreateInfoNv);
35        dst.next = ptr::null_mut();
36        dst.handle_types = vk_to_raw_value(&src.handle_types);
37    }
38}
39
40impl VkRawType<VkExternalMemoryImageCreateInfo> for RawVkExternalMemoryImageCreateInfo {
41    fn vk_to_wrapped(src: &RawVkExternalMemoryImageCreateInfo) -> VkExternalMemoryImageCreateInfo {
42        VkExternalMemoryImageCreateInfo {
43            handle_types: RawVkExternalMemoryHandleTypeFlags::vk_to_wrapped(&src.handle_types),
44        }
45    }
46}
47
48impl Default for VkExternalMemoryImageCreateInfo {
49    fn default() -> VkExternalMemoryImageCreateInfo {
50        VkExternalMemoryImageCreateInfo {
51            handle_types: Default::default(),
52        }
53    }
54}
55
56impl VkSetup for VkExternalMemoryImageCreateInfo {
57    fn vk_setup(&mut self, fn_table: *mut VkFunctionTable) {
58        
59    }
60}
61
62impl VkFree for RawVkExternalMemoryImageCreateInfo {
63    fn vk_free(&self) {
64        
65    }
66}