1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// Generated by `scripts/generate.js`

use utils::vk_traits::*;

/// Wrapper for [VkResult](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkResult.html).
#[repr(i32)]
#[derive(Debug, PartialEq, Copy, Clone)]
pub enum VkResult {
    Success = 0,
    NotReady = 1,
    Timeout = 2,
    EventSet = 3,
    EventReset = 4,
    Incomplete = 5,
    ErrorOutOfHostMemory = -1,
    ErrorOutOfDeviceMemory = -2,
    ErrorInitializationFailed = -3,
    ErrorDeviceLost = -4,
    ErrorMemoryMapFailed = -5,
    ErrorLayerNotPresent = -6,
    ErrorExtensionNotPresent = -7,
    ErrorFeatureNotPresent = -8,
    ErrorIncompatibleDriver = -9,
    ErrorTooManyObjects = -10,
    ErrorFormatNotSupported = -11,
    ErrorFragmentedPool = -12,
    ErrorUnknown = -13,
    ErrorOutOfPoolMemory = -1000069000,
    ErrorInvalidExternalHandle = -1000072003,
    ErrorFragmentation = -1000161000,
    ErrorInvalidOpaqueCaptureAddress = -1000257000,
    ErrorSurfaceLostKhr = -1000000000,
    ErrorNativeWindowInUseKhr = -1000000001,
    SuboptimalKhr = 1000001003,
    ErrorOutOfDateKhr = -1000001004,
    ErrorIncompatibleDisplayKhr = -1000003001,
    ErrorValidationFailedExt = -1000011001,
    ErrorInvalidShaderNv = -1000012000,
    ErrorInvalidDrmFormatModifierPlaneLayoutExt = -1000158000,
    ErrorNotPermittedExt = -1000174001,
    ErrorFullScreenExclusiveModeLostExt = -1000255000,
}

#[doc(hidden)]
pub type RawVkResult = i32;

impl VkWrappedType<RawVkResult> for VkResult {
    fn vk_to_raw(src: &VkResult, dst: &mut RawVkResult) {
        *dst = *src as i32
    }
}

impl VkRawType<VkResult> for RawVkResult {
    fn vk_to_wrapped(src: &RawVkResult) -> VkResult {
        unsafe {
            *((src as *const i32) as *const VkResult)
        }
    }
}

impl Default for VkResult {
    fn default() -> VkResult {
        VkResult::Success
    }
}