pub struct LayoutConfig {
pub ignore_legacy_align: bool,
pub min_aggregate_legacy_align: u32,
pub abstract_bool_size_align: (u32, u32),
pub logical_ptr_size_align: (u32, u32),
}Expand description
Various toggles for layout-related behavior that is not unambiguous from the SPIR-V alone, or involves intermediary illegal SPIR-V (during legalization).
Fields§
§ignore_legacy_align: bool§min_aggregate_legacy_align: u32§abstract_bool_size_align: (u32, u32)Assumed size and alignment for OpTypeBool, even if unusable
with externally-visible concrete memory (i.e. buffers).
This is only useful for accurate handling of illegal SPIR-V relying on
e.g. pointer casts, and as such defaults to (1, 1), to merely ensure
unique offsets and guarantee qptr::lift can tell fields apart.
logical_ptr_size_align: (u32, u32)Assumed size and alignment for logical OpTypePointers, even if unusable
with externally-visible concrete memory (i.e. buffers).
This is only useful for accurate handling of illegal SPIR-V relying on
e.g. pointer casts, and as such defaults to (1, 1), to merely ensure
unique offsets and guarantee qptr::lift can tell fields apart.
Implementations§
Source§impl LayoutConfig
impl LayoutConfig
pub const VULKAN_SCALAR_LAYOUT: Self
pub const VULKAN_STANDARD_LAYOUT: Self
pub const VULKAN_EXTENDED_ALIGN_UBO_LAYOUT: Self
Auto Trait Implementations§
impl Freeze for LayoutConfig
impl RefUnwindSafe for LayoutConfig
impl Send for LayoutConfig
impl Sync for LayoutConfig
impl Unpin for LayoutConfig
impl UnwindSafe for LayoutConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more