Skip to main content

lava/vulkan/khr/
vk_acceleration_structure_memory_requirements_type.rs

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