#[repr(C)]pub struct EfImageDescView {
pub width: u64,
pub height: u64,
pub format: u32,
pub dtype: u32,
pub access: u32,
pub memory: u32,
pub has_memory: u32,
pub compression: u32,
pub has_compression: u32,
}Expand description
Flattened, #[repr(C)] view of an image-request descriptor’s fields.
ef_tensor_image_desc is opaque (handles are opaque both ways: a
receiving library never dereferences, sizes, or copies one). This is the
scalar block ef_tensor_image_desc_get fills instead – the same shape as
ef_tensor_plane, which lets one library read a tensor it did not mint
without touching the other’s private layout.
memory and compression are each a value plus an explicit presence
flag rather than a sentinel: every code in ef_storage_kind (0..=6) is a
real value, so there is no unused number to repurpose as “no request”
without colliding with ef_storage_kind’s MEM == 0. compression is an
EfCompressionRequest: Any, or Scheme for “a specific vendor
scheme”, the latter not further decodable through this view – no
ef_tensor_image_desc_set_* entry point can request one, so this view has
never needed to carry more detail than “present, and it’s a specific one.”
Fields§
§width: u64Requested width in pixels.
height: u64Requested height in pixels.
format: u32The requested pixel format’s wire code (PixelFormat::code()).
dtype: u32ef_dtype.
access: u32ef_cpu_access.
memory: u32ef_storage_kind, meaningful only when has_memory != 0.
has_memory: u32Non-zero when a specific memory backing was requested (None on the
Rust side auto-selects).
compression: u32ef_compression_request, meaningful only when has_compression != 0.
has_compression: u32Non-zero when a compression request was made.