lava/vulkan/vk/
vk_object_type.rs1use utils::vk_traits::*;
4
5#[repr(i32)]
7#[derive(Debug, PartialEq, Copy, Clone)]
8pub enum VkObjectType {
9 Unknown = 0,
10 Instance = 1,
11 PhysicalDevice = 2,
12 Device = 3,
13 Queue = 4,
14 Semaphore = 5,
15 CommandBuffer = 6,
16 Fence = 7,
17 DeviceMemory = 8,
18 Buffer = 9,
19 Image = 10,
20 Event = 11,
21 QueryPool = 12,
22 BufferView = 13,
23 ImageView = 14,
24 ShaderModule = 15,
25 PipelineCache = 16,
26 PipelineLayout = 17,
27 RenderPass = 18,
28 Pipeline = 19,
29 DescriptorSetLayout = 20,
30 Sampler = 21,
31 DescriptorPool = 22,
32 DescriptorSet = 23,
33 Framebuffer = 24,
34 CommandPool = 25,
35 SamplerYcbcrConversion = 1000156000,
36 DescriptorUpdateTemplate = 1000085000,
37 SurfaceKhr = 1000000000,
38 SwapchainKhr = 1000001000,
39 DisplayKhr = 1000002000,
40 DisplayModeKhr = 1000002001,
41 DebugReportCallbackExt = 1000011000,
42 DebugUtilsMessengerExt = 1000128000,
43 AccelerationStructureKhr = 1000165000,
44 ValidationCacheExt = 1000160000,
45 PerformanceConfigurationIntel = 1000210000,
46 DeferredOperationKhr = 1000268000,
47 IndirectCommandsLayoutNv = 1000277000,
48}
49
50#[doc(hidden)]
51pub type RawVkObjectType = i32;
52
53impl VkWrappedType<RawVkObjectType> for VkObjectType {
54 fn vk_to_raw(src: &VkObjectType, dst: &mut RawVkObjectType) {
55 *dst = *src as i32
56 }
57}
58
59impl VkRawType<VkObjectType> for RawVkObjectType {
60 fn vk_to_wrapped(src: &RawVkObjectType) -> VkObjectType {
61 unsafe {
62 *((src as *const i32) as *const VkObjectType)
63 }
64 }
65}
66
67impl Default for VkObjectType {
68 fn default() -> VkObjectType {
69 VkObjectType::Unknown
70 }
71}