pub struct ParamInliningPolicy {
pub max_inline_bytes: u32,
pub align_bytes: u32,
pub allow_padding_to_align: bool,
}Expand description
Per-backend inline-params policy. Built from live capability probes so neutral runtime code can pick the inline path without knowing the concrete backend.
Fields§
§max_inline_bytes: u32Maximum payload bytes the backend can accept inline. Set to 0
to disable inlining entirely and force the uniform-buffer path.
align_bytes: u32Required alignment of the inline payload, in bytes. A payload
whose size is not a multiple of align_bytes cannot be inlined
unless padding is allowed.
allow_padding_to_align: boolWhether the policy permits the dispatcher to round payload size
up to the next align_bytes multiple before inlining. When
false, only naturally-aligned payloads inline; oversize after
padding is still rejected.
Implementations§
Source§impl ParamInliningPolicy
impl ParamInliningPolicy
Sourcepub const fn large_inline_default() -> Self
pub const fn large_inline_default() -> Self
Conservative large-inline default: 3 KiB inline budget, 4-byte alignment, padding allowed. Concrete drivers with larger native launch-metadata budgets should override this from live capability probes.
Sourcepub const fn small_inline_default() -> Self
pub const fn small_inline_default() -> Self
Conservative small-inline default: 128 B inline budget, 4-byte alignment, padding allowed. Concrete drivers should override this from live capability probes when more inline launch metadata is available.
Trait Implementations§
Source§impl Clone for ParamInliningPolicy
impl Clone for ParamInliningPolicy
Source§fn clone(&self) -> ParamInliningPolicy
fn clone(&self) -> ParamInliningPolicy
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ParamInliningPolicy
Source§impl Debug for ParamInliningPolicy
impl Debug for ParamInliningPolicy
impl Eq for ParamInliningPolicy
Source§impl Hash for ParamInliningPolicy
impl Hash for ParamInliningPolicy
Source§impl PartialEq for ParamInliningPolicy
impl PartialEq for ParamInliningPolicy
Source§fn eq(&self, other: &ParamInliningPolicy) -> bool
fn eq(&self, other: &ParamInliningPolicy) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ParamInliningPolicy
Auto Trait Implementations§
impl Freeze for ParamInliningPolicy
impl RefUnwindSafe for ParamInliningPolicy
impl Send for ParamInliningPolicy
impl Sync for ParamInliningPolicy
impl Unpin for ParamInliningPolicy
impl UnsafeUnpin for ParamInliningPolicy
impl UnwindSafe for ParamInliningPolicy
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.