Skip to main content

lava/vulkan/vk/
vk_semaphore_type.rs

1// Generated by `scripts/generate.js`
2
3use utils::vk_traits::*;
4
5/// Wrapper for [VkSemaphoreType](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSemaphoreType.html).
6#[repr(i32)]
7#[derive(Debug, PartialEq, Copy, Clone)]
8pub enum VkSemaphoreType {
9    Binary = 0,
10    Timeline = 1,
11}
12
13#[doc(hidden)]
14pub type RawVkSemaphoreType = i32;
15
16impl VkWrappedType<RawVkSemaphoreType> for VkSemaphoreType {
17    fn vk_to_raw(src: &VkSemaphoreType, dst: &mut RawVkSemaphoreType) {
18        *dst = *src as i32
19    }
20}
21
22impl VkRawType<VkSemaphoreType> for RawVkSemaphoreType {
23    fn vk_to_wrapped(src: &RawVkSemaphoreType) -> VkSemaphoreType {
24        unsafe {
25            *((src as *const i32) as *const VkSemaphoreType)
26        }
27    }
28}
29
30impl Default for VkSemaphoreType {
31    fn default() -> VkSemaphoreType {
32        VkSemaphoreType::Binary
33    }
34}