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 OpTypePointer
s, 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