lava/vulkan/vk/
vk_physical_device_sparse_image_format_info_2.rs

1// Generated by `scripts/generate.js`
2
3use std::os::raw::c_char;
4use std::ops::Deref;
5use std::ptr;
6use std::cmp;
7use std::mem;
8use utils::c_bindings::*;
9use utils::vk_convert::*;
10use utils::vk_null::*;
11use utils::vk_ptr::*;
12use utils::vk_traits::*;
13use vulkan::vk::*;
14use vulkan::vk::{VkStructureType,RawVkStructureType};
15use vulkan::vk::{VkFormat,RawVkFormat};
16use vulkan::vk::{VkImageType,RawVkImageType};
17use vulkan::vk::{VkSampleCountFlags,RawVkSampleCountFlags};
18use vulkan::vk::{VkImageUsageFlags,RawVkImageUsageFlags};
19use vulkan::vk::{VkImageTiling,RawVkImageTiling};
20
21/// Wrapper for [VkPhysicalDeviceSparseImageFormatInfo2](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSparseImageFormatInfo2.html).
22#[derive(Debug, Clone)]
23pub struct VkPhysicalDeviceSparseImageFormatInfo2 {
24    pub format: VkFormat,
25    pub type_: VkImageType,
26    pub samples: VkSampleCountFlags,
27    pub usage: VkImageUsageFlags,
28    pub tiling: VkImageTiling,
29}
30
31#[doc(hidden)]
32#[repr(C)]
33#[derive(Debug, Copy, Clone)]
34pub struct RawVkPhysicalDeviceSparseImageFormatInfo2 {
35    pub s_type: RawVkStructureType,
36    pub next: *mut c_void,
37    pub format: RawVkFormat,
38    pub type_: RawVkImageType,
39    pub samples: RawVkSampleCountFlags,
40    pub usage: RawVkImageUsageFlags,
41    pub tiling: RawVkImageTiling,
42}
43
44impl VkWrappedType<RawVkPhysicalDeviceSparseImageFormatInfo2> for VkPhysicalDeviceSparseImageFormatInfo2 {
45    fn vk_to_raw(src: &VkPhysicalDeviceSparseImageFormatInfo2, dst: &mut RawVkPhysicalDeviceSparseImageFormatInfo2) {
46        dst.s_type = vk_to_raw_value(&VkStructureType::PhysicalDeviceSparseImageFormatInfo2);
47        dst.next = ptr::null_mut();
48        dst.format = vk_to_raw_value(&src.format);
49        dst.type_ = vk_to_raw_value(&src.type_);
50        dst.samples = vk_to_raw_value(&src.samples);
51        dst.usage = vk_to_raw_value(&src.usage);
52        dst.tiling = vk_to_raw_value(&src.tiling);
53    }
54}
55
56impl VkRawType<VkPhysicalDeviceSparseImageFormatInfo2> for RawVkPhysicalDeviceSparseImageFormatInfo2 {
57    fn vk_to_wrapped(src: &RawVkPhysicalDeviceSparseImageFormatInfo2) -> VkPhysicalDeviceSparseImageFormatInfo2 {
58        VkPhysicalDeviceSparseImageFormatInfo2 {
59            format: RawVkFormat::vk_to_wrapped(&src.format),
60            type_: RawVkImageType::vk_to_wrapped(&src.type_),
61            samples: RawVkSampleCountFlags::vk_to_wrapped(&src.samples),
62            usage: RawVkImageUsageFlags::vk_to_wrapped(&src.usage),
63            tiling: RawVkImageTiling::vk_to_wrapped(&src.tiling),
64        }
65    }
66}
67
68impl Default for VkPhysicalDeviceSparseImageFormatInfo2 {
69    fn default() -> VkPhysicalDeviceSparseImageFormatInfo2 {
70        VkPhysicalDeviceSparseImageFormatInfo2 {
71            format: Default::default(),
72            type_: Default::default(),
73            samples: Default::default(),
74            usage: Default::default(),
75            tiling: Default::default(),
76        }
77    }
78}
79
80impl VkSetup for VkPhysicalDeviceSparseImageFormatInfo2 {
81    fn vk_setup(&mut self, fn_table: *mut VkFunctionTable) {
82        
83    }
84}
85
86impl VkFree for RawVkPhysicalDeviceSparseImageFormatInfo2 {
87    fn vk_free(&self) {
88        
89    }
90}