lava/vulkan/vk/
vk_subresource_layout.rs1use 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#[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}