Skip to main content

lava/vulkan/vk/
vk_subresource_layout.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::*;
14
15/// Wrapper for [VkSubresourceLayout](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSubresourceLayout.html).
16#[derive(Debug, Clone)]
17pub struct VkSubresourceLayout {
18    pub offset: usize,
19    pub size: usize,
20    pub row_pitch: usize,
21    pub array_pitch: usize,
22    pub depth_pitch: usize,
23}
24
25#[doc(hidden)]
26#[repr(C)]
27#[derive(Debug, Copy, Clone)]
28pub struct RawVkSubresourceLayout {
29    pub offset: u64,
30    pub size: u64,
31    pub row_pitch: u64,
32    pub array_pitch: u64,
33    pub depth_pitch: u64,
34}
35
36impl VkWrappedType<RawVkSubresourceLayout> for VkSubresourceLayout {
37    fn vk_to_raw(src: &VkSubresourceLayout, dst: &mut RawVkSubresourceLayout) {
38        dst.offset = vk_to_raw_value(&src.offset);
39        dst.size = vk_to_raw_value(&src.size);
40        dst.row_pitch = vk_to_raw_value(&src.row_pitch);
41        dst.array_pitch = vk_to_raw_value(&src.array_pitch);
42        dst.depth_pitch = vk_to_raw_value(&src.depth_pitch);
43    }
44}
45
46impl VkRawType<VkSubresourceLayout> for RawVkSubresourceLayout {
47    fn vk_to_wrapped(src: &RawVkSubresourceLayout) -> VkSubresourceLayout {
48        VkSubresourceLayout {
49            offset: u64::vk_to_wrapped(&src.offset),
50            size: u64::vk_to_wrapped(&src.size),
51            row_pitch: u64::vk_to_wrapped(&src.row_pitch),
52            array_pitch: u64::vk_to_wrapped(&src.array_pitch),
53            depth_pitch: u64::vk_to_wrapped(&src.depth_pitch),
54        }
55    }
56}
57
58impl Default for VkSubresourceLayout {
59    fn default() -> VkSubresourceLayout {
60        VkSubresourceLayout {
61            offset: 0,
62            size: 0,
63            row_pitch: 0,
64            array_pitch: 0,
65            depth_pitch: 0,
66        }
67    }
68}
69
70impl VkSetup for VkSubresourceLayout {
71    fn vk_setup(&mut self, fn_table: *mut VkFunctionTable) {
72        
73    }
74}
75
76impl VkFree for RawVkSubresourceLayout {
77    fn vk_free(&self) {
78        
79    }
80}