pub struct PlaneGeometry {
pub offset: u64,
pub stride: u64,
pub size: u64,
}Expand description
Where one plane’s bytes physically live inside a tensor’s allocation.
The counterpart to PixelFormat::addressing_shape: the grid says how a
consumer indexes the image, this says where the bytes are. Buffer extent
comes from here, never from the shape — for a subsampled format
product(shape) * dtype_size is smaller than the allocation.
Field names and widths mirror TensorPlane.msg so the two map 1:1.
modifier is deliberately absent: it describes how a producer tiled or
compressed the plane (AFBC on Mali, UBWC on Adreno) and cannot be derived
from the format alone, so it is carried on the tensor rather than computed
here.
Fields§
§offset: u64Byte offset of this plane from the start of the allocation.
stride: u64Bytes per line of this plane.
size: u64Plane extent in bytes (stride * rows).
Trait Implementations§
Source§impl Clone for PlaneGeometry
impl Clone for PlaneGeometry
Source§fn clone(&self) -> PlaneGeometry
fn clone(&self) -> PlaneGeometry
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 PlaneGeometry
Source§impl Debug for PlaneGeometry
impl Debug for PlaneGeometry
impl Eq for PlaneGeometry
Source§impl PartialEq for PlaneGeometry
impl PartialEq for PlaneGeometry
impl StructuralPartialEq for PlaneGeometry
Auto Trait Implementations§
impl Freeze for PlaneGeometry
impl RefUnwindSafe for PlaneGeometry
impl Send for PlaneGeometry
impl Sync for PlaneGeometry
impl Unpin for PlaneGeometry
impl UnsafeUnpin for PlaneGeometry
impl UnwindSafe for PlaneGeometry
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> 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