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<'a>(
ctx: &mut DecoderContext<Self::Context>,
session: &mut Self::Session,
pool: &mut Self::Pool,
input: &'a [u8],
fmt: PixelFormat,
backend: BackendRequest,
) -> Result<Self::SubmittedSurface, Self::Error>;
fn submit_tile_region_to_device<'a>(
ctx: &mut DecoderContext<Self::Context>,
session: &mut Self::Session,
pool: &mut Self::Pool,
input: &'a [u8],
fmt: PixelFormat,
roi: Rect,
backend: BackendRequest,
) -> Result<Self::SubmittedSurface, Self::Error>;
fn submit_tile_scaled_to_device<'a>(
ctx: &mut DecoderContext<Self::Context>,
session: &mut Self::Session,
pool: &mut Self::Pool,
input: &'a [u8],
fmt: PixelFormat,
scale: Downscale,
backend: BackendRequest,
) -> Result<Self::SubmittedSurface, Self::Error>;
fn submit_tile_region_scaled_to_device<'a>(
ctx: &mut DecoderContext<Self::Context>,
session: &mut Self::Session,
pool: &mut Self::Pool,
input: &'a [u8],
fmt: PixelFormat,
roi: Rect,
scale: Downscale,
backend: BackendRequest,
) -> Result<Self::SubmittedSurface, Self::Error>;
// Provided method
fn submit_tile_request_to_device<'a>(
ctx: &mut DecoderContext<Self::Context>,
session: &mut Self::Session,
pool: &mut Self::Pool,
input: &'a [u8],
fmt: PixelFormat,
backend: BackendRequest,
request: DecodeRequest,
) -> Result<Self::SubmittedSurface, Self::Error> { ... }
}Expand description
Tile-batch helpers that queue device submissions.
Required Associated Types§
Sourcetype Context: CodecContext
type Context: CodecContext
Codec-specific context cached across tiles.
Sourcetype DeviceSurface: DeviceSurface
type DeviceSurface: DeviceSurface
Device surface returned by completed submissions.
Sourcetype SubmittedSurface: DeviceSubmission<Output = Self::DeviceSurface, Error = Self::Error>
type SubmittedSurface: DeviceSubmission<Output = Self::DeviceSurface, Error = Self::Error>
Submission handle type.
Required Methods§
Sourcefn submit_tile_to_device<'a>(
ctx: &mut DecoderContext<Self::Context>,
session: &mut Self::Session,
pool: &mut Self::Pool,
input: &'a [u8],
fmt: PixelFormat,
backend: BackendRequest,
) -> Result<Self::SubmittedSurface, Self::Error>
fn submit_tile_to_device<'a>( ctx: &mut DecoderContext<Self::Context>, session: &mut Self::Session, pool: &mut Self::Pool, input: &'a [u8], fmt: PixelFormat, backend: BackendRequest, ) -> Result<Self::SubmittedSurface, Self::Error>
Submit one full tile to the requested backend.
Sourcefn submit_tile_region_to_device<'a>(
ctx: &mut DecoderContext<Self::Context>,
session: &mut Self::Session,
pool: &mut Self::Pool,
input: &'a [u8],
fmt: PixelFormat,
roi: Rect,
backend: BackendRequest,
) -> Result<Self::SubmittedSurface, Self::Error>
fn submit_tile_region_to_device<'a>( ctx: &mut DecoderContext<Self::Context>, session: &mut Self::Session, pool: &mut Self::Pool, input: &'a [u8], fmt: PixelFormat, roi: Rect, backend: BackendRequest, ) -> Result<Self::SubmittedSurface, Self::Error>
Submit one tile region to the requested backend.
Sourcefn submit_tile_scaled_to_device<'a>(
ctx: &mut DecoderContext<Self::Context>,
session: &mut Self::Session,
pool: &mut Self::Pool,
input: &'a [u8],
fmt: PixelFormat,
scale: Downscale,
backend: BackendRequest,
) -> Result<Self::SubmittedSurface, Self::Error>
fn submit_tile_scaled_to_device<'a>( ctx: &mut DecoderContext<Self::Context>, session: &mut Self::Session, pool: &mut Self::Pool, input: &'a [u8], fmt: PixelFormat, scale: Downscale, backend: BackendRequest, ) -> Result<Self::SubmittedSurface, Self::Error>
Submit one tile at reduced resolution to the requested backend.
Sourcefn submit_tile_region_scaled_to_device<'a>(
ctx: &mut DecoderContext<Self::Context>,
session: &mut Self::Session,
pool: &mut Self::Pool,
input: &'a [u8],
fmt: PixelFormat,
roi: Rect,
scale: Downscale,
backend: BackendRequest,
) -> Result<Self::SubmittedSurface, Self::Error>
fn submit_tile_region_scaled_to_device<'a>( ctx: &mut DecoderContext<Self::Context>, session: &mut Self::Session, pool: &mut Self::Pool, input: &'a [u8], fmt: PixelFormat, roi: Rect, scale: Downscale, backend: BackendRequest, ) -> Result<Self::SubmittedSurface, Self::Error>
Submit one tile region at reduced resolution to the requested backend.
Provided Methods§
Sourcefn submit_tile_request_to_device<'a>(
ctx: &mut DecoderContext<Self::Context>,
session: &mut Self::Session,
pool: &mut Self::Pool,
input: &'a [u8],
fmt: PixelFormat,
backend: BackendRequest,
request: DecodeRequest,
) -> Result<Self::SubmittedSurface, Self::Error>
fn submit_tile_request_to_device<'a>( ctx: &mut DecoderContext<Self::Context>, session: &mut Self::Session, pool: &mut Self::Pool, input: &'a [u8], fmt: PixelFormat, backend: BackendRequest, request: DecodeRequest, ) -> Result<Self::SubmittedSurface, Self::Error>
Submit one tile for a normalized full/ROI/scaled request.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".