1 // SPDX-License-Identifier: LGPL-2.1-or-later
2 // Copyright 2018 Jacob Lifshay
4 use handle::SharedHandle;
7 pub struct BufferMemory {
8 pub device_memory: SharedHandle<api::VkDeviceMemory>,
15 pub memory: Option<BufferMemory>,
19 pub struct BufferSlice {
20 pub buffer: SharedHandle<api::VkBuffer>,
26 pub unsafe fn from(v: &api::VkDescriptorBufferInfo) -> Self {
27 let buffer = SharedHandle::from(v.buffer).unwrap();
28 assert!(v.offset < buffer.size as u64);
29 let offset = v.offset as usize;
30 let size = if v.range == api::VK_WHOLE_SIZE as u64 {
33 assert!(v.range != 0);
34 assert!(v.range.checked_add(v.offset).unwrap() <= buffer.size as u64);
46 pub struct BufferView {}