Skip to main content

lava/vulkan/intel/
vk_performance_value_type.rs

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