Skip to main content

TileBatchDecodeSubmit

Trait TileBatchDecodeSubmit 

Source
pub trait TileBatchDecodeSubmit: ImageCodec {
    type Context: CodecContext;
    type Session: Default + Send;
    type DeviceSurface: DeviceSurface;
    type SubmittedSurface: DeviceSubmission<Output = Self::DeviceSurface, Error = Self::Error>;

    // Required methods
    fn submit_tile_to_device(
        ctx: &mut DecoderContext<Self::Context>,
        session: &mut Self::Session,
        pool: &mut Self::Pool,
        input: &[u8],
        fmt: PixelFormat,
        backend: BackendRequest,
    ) -> Result<Self::SubmittedSurface, Self::Error>;
    fn submit_tile_region_to_device(
        ctx: &mut DecoderContext<Self::Context>,
        session: &mut Self::Session,
        pool: &mut Self::Pool,
        input: &[u8],
        fmt: PixelFormat,
        roi: Rect,
        backend: BackendRequest,
    ) -> Result<Self::SubmittedSurface, Self::Error>;
    fn submit_tile_scaled_to_device(
        ctx: &mut DecoderContext<Self::Context>,
        session: &mut Self::Session,
        pool: &mut Self::Pool,
        input: &[u8],
        fmt: PixelFormat,
        scale: Downscale,
        backend: BackendRequest,
    ) -> Result<Self::SubmittedSurface, Self::Error>;
    fn submit_tile_region_scaled_to_device(
        ctx: &mut DecoderContext<Self::Context>,
        session: &mut Self::Session,
        pool: &mut Self::Pool,
        request: TileRegionScaledDeviceDecodeRequest<'_>,
    ) -> Result<Self::SubmittedSurface, Self::Error>;
}
Expand description

Tile-batch helpers that queue device submissions.

Required Associated Types§

Source

type Context: CodecContext

Codec-specific context cached across tiles.

Source

type Session: Default + Send

Mutable session state shared across submissions.

Source

type DeviceSurface: DeviceSurface

Device surface returned by completed submissions.

Source

type SubmittedSurface: DeviceSubmission<Output = Self::DeviceSurface, Error = Self::Error>

Submission handle type.

Required Methods§

Source

fn submit_tile_to_device( ctx: &mut DecoderContext<Self::Context>, session: &mut Self::Session, pool: &mut Self::Pool, input: &[u8], fmt: PixelFormat, backend: BackendRequest, ) -> Result<Self::SubmittedSurface, Self::Error>

Submit one full tile to the requested backend.

§Errors

Returns the codec-specific ImageCodec::Error when the request is invalid, unsupported, or cannot be submitted.

Source

fn submit_tile_region_to_device( ctx: &mut DecoderContext<Self::Context>, session: &mut Self::Session, pool: &mut Self::Pool, input: &[u8], fmt: PixelFormat, roi: Rect, backend: BackendRequest, ) -> Result<Self::SubmittedSurface, Self::Error>

Submit one tile region to the requested backend.

§Errors

Returns the codec-specific ImageCodec::Error when the region or backend request is invalid, unsupported, or cannot be submitted.

Source

fn submit_tile_scaled_to_device( ctx: &mut DecoderContext<Self::Context>, session: &mut Self::Session, pool: &mut Self::Pool, input: &[u8], fmt: PixelFormat, scale: Downscale, backend: BackendRequest, ) -> Result<Self::SubmittedSurface, Self::Error>

Submit one tile at reduced resolution to the requested backend.

§Errors

Returns the codec-specific ImageCodec::Error when the scale or backend request is invalid, unsupported, or cannot be submitted.

Source

fn submit_tile_region_scaled_to_device( ctx: &mut DecoderContext<Self::Context>, session: &mut Self::Session, pool: &mut Self::Pool, request: TileRegionScaledDeviceDecodeRequest<'_>, ) -> Result<Self::SubmittedSurface, Self::Error>

Submit one tile region at reduced resolution to the requested backend.

§Errors

Returns the codec-specific ImageCodec::Error when the request is invalid, unsupported, or cannot be submitted.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§