usecrate::vk; use core::ffi::c_void; use core::iter::Iterator; use core::marker::PhantomData; use core::mem::size_of; use core::slice; #[cfg(feature = "std")] use std::io;
/// [`Align`] handles dynamic alignment. The is useful for dynamic uniform buffers where /// the alignment might be different. For example a 4x4 f32 matrix has a size of 64 bytes /// but the min alignment for a dynamic uniform buffer might be 256 bytes. A slice of `&[Mat4x4<f32>]` /// has a memory layout of `[[64 bytes], [64 bytes], [64 bytes]]`, but it might need to have a memory /// layout of `[[256 bytes], [256 bytes], [256 bytes]]`. /// [`Align::copy_from_slice`] will copy a slice of `&[T]` directly into the host memory without /// an additional allocation and with the correct alignment. #[derive(Debug, Clone)] pubstruct Align<T> {
ptr: *mut c_void,
elem_size: vk::DeviceSize,
size: vk::DeviceSize,
_m: PhantomData<T>,
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.