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.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.