lava/vulkan/khr/
vk_semaphore_get_fd_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::vk::{VkSemaphore,RawVkSemaphore};
16use vulkan::vk::{VkExternalSemaphoreHandleTypeFlags,RawVkExternalSemaphoreHandleTypeFlags};
17
18/// Wrapper for [VkSemaphoreGetFdInfoKHR](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSemaphoreGetFdInfoKHR.html).
19#[derive(Debug, Clone)]
20pub struct VkSemaphoreGetFdInfo {
21    pub semaphore: VkSemaphore,
22    pub handle_type: VkExternalSemaphoreHandleTypeFlags,
23}
24
25#[doc(hidden)]
26#[repr(C)]
27#[derive(Debug, Copy, Clone)]
28pub struct RawVkSemaphoreGetFdInfo {
29    pub s_type: RawVkStructureType,
30    pub next: *mut c_void,
31    pub semaphore: RawVkSemaphore,
32    pub handle_type: RawVkExternalSemaphoreHandleTypeFlags,
33}
34
35impl VkWrappedType<RawVkSemaphoreGetFdInfo> for VkSemaphoreGetFdInfo {
36    fn vk_to_raw(src: &VkSemaphoreGetFdInfo, dst: &mut RawVkSemaphoreGetFdInfo) {
37        dst.s_type = vk_to_raw_value(&VkStructureType::SemaphoreGetFdInfoKhr);
38        dst.next = ptr::null_mut();
39        dst.semaphore = vk_to_raw_value(&src.semaphore);
40        dst.handle_type = vk_to_raw_value(&src.handle_type);
41    }
42}
43
44impl VkRawType<VkSemaphoreGetFdInfo> for RawVkSemaphoreGetFdInfo {
45    fn vk_to_wrapped(src: &RawVkSemaphoreGetFdInfo) -> VkSemaphoreGetFdInfo {
46        VkSemaphoreGetFdInfo {
47            semaphore: RawVkSemaphore::vk_to_wrapped(&src.semaphore),
48            handle_type: RawVkExternalSemaphoreHandleTypeFlags::vk_to_wrapped(&src.handle_type),
49        }
50    }
51}
52
53impl Default for VkSemaphoreGetFdInfo {
54    fn default() -> VkSemaphoreGetFdInfo {
55        VkSemaphoreGetFdInfo {
56            semaphore: Default::default(),
57            handle_type: Default::default(),
58        }
59    }
60}
61
62impl VkSetup for VkSemaphoreGetFdInfo {
63    fn vk_setup(&mut self, fn_table: *mut VkFunctionTable) {
64        VkSetup::vk_setup(&mut self.semaphore, fn_table);
65    }
66}
67
68impl VkFree for RawVkSemaphoreGetFdInfo {
69    fn vk_free(&self) {
70        
71    }
72}