#[repr(C, align(8))]pub struct StateDescriptor {
pub magic: u32,
pub version: u32,
pub total_size: u64,
pub external_ptr: u64,
}Expand description
Descriptor stored in _reserved when using external state.
When state is too large to embed, this 24-byte descriptor points to the external GPU memory location.
Fields§
§magic: u32Magic number for validation (STATE_DESCRIPTOR_MAGIC).
version: u32State version number.
total_size: u64Total size of external state in bytes.
external_ptr: u64Pointer to external state buffer (GPU address).
Implementations§
Source§impl StateDescriptor
impl StateDescriptor
Trait Implementations§
Source§impl Clone for StateDescriptor
impl Clone for StateDescriptor
Source§fn clone(&self) -> StateDescriptor
fn clone(&self) -> StateDescriptor
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for StateDescriptor
impl Debug for StateDescriptor
Source§impl Default for StateDescriptor
impl Default for StateDescriptor
Source§fn default() -> StateDescriptor
fn default() -> StateDescriptor
Returns the “default value” for a type. Read more
Source§impl EmbeddedState for StateDescriptor
impl EmbeddedState for StateDescriptor
impl Copy for StateDescriptor
impl Pod for StateDescriptor
Auto Trait Implementations§
impl Freeze for StateDescriptor
impl RefUnwindSafe for StateDescriptor
impl Send for StateDescriptor
impl Sync for StateDescriptor
impl Unpin for StateDescriptor
impl UnwindSafe for StateDescriptor
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Mutably borrows from an owned value. Read more
Source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
Source§type Bits = T
type Bits = T
Self must have the same layout as the specified Bits except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern.Source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
If this function returns true, then it must be valid to reinterpret
bits
as &Self.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> EmbeddedStateSize for Twhere
T: EmbeddedState,
impl<T> EmbeddedStateSize for Twhere
T: EmbeddedState,
Source§const SIZE_CHECK: () = _
const SIZE_CHECK: () = _
Compile-time assertion that size fits.
Source§impl<T> GpuState for Twhere
T: EmbeddedState,
impl<T> GpuState for Twhere
T: EmbeddedState,
Source§fn from_control_block_bytes(bytes: &[u8]) -> Result<T, RingKernelError>
fn from_control_block_bytes(bytes: &[u8]) -> Result<T, RingKernelError>
Deserialize state from bytes read from GPU.
Source§fn state_version() -> u32
fn state_version() -> u32
State version for compatibility checking.
Source§fn prefer_embedded() -> bool
fn prefer_embedded() -> bool
Whether this state should be embedded (if small enough).
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.