Skip to main content

GpuFrameRenderer

Trait GpuFrameRenderer 

Source
pub trait GpuFrameRenderer: FrameRenderer<Image = RenderedTexture> {
    // Required methods
    fn render_frame_yuv420p(
        &self,
        size: RenderSize,
        frame: &FrameDesc<'_>,
        frames: &dyn FrameProvider,
        encoding: YuvEncoding,
    ) -> Result<FrameYuv420pRender, RenderError>;
    fn render_frame_yuv420p_timed(
        &self,
        size: RenderSize,
        frame: &FrameDesc<'_>,
        frames: &dyn FrameProvider,
        encoding: YuvEncoding,
        timings: &mut FrameSubmitTimings,
    ) -> Result<FrameYuv420pRender, RenderError>;
}
Expand description

The GPU renderer’s frame paths that end on the GPU: a YUV420 readback still to be mapped, and hardware-encoder NV12 planes.

Required Methods§

Source

fn render_frame_yuv420p( &self, size: RenderSize, frame: &FrameDesc<'_>, frames: &dyn FrameProvider, encoding: YuvEncoding, ) -> Result<FrameYuv420pRender, RenderError>

Renders one evaluator result, converts it to YUV420, and submits both workloads in one command buffer.

An incomplete source set returns without encoding or submitting work. The output size must be even for chroma subsampling.

§Errors

Returns RenderError for invalid graph, target, or YUV layout data.

Source

fn render_frame_yuv420p_timed( &self, size: RenderSize, frame: &FrameDesc<'_>, frames: &dyn FrameProvider, encoding: YuvEncoding, timings: &mut FrameSubmitTimings, ) -> Result<FrameYuv420pRender, RenderError>

Renders one frame for YUV420 readback and reports where the call went.

This produces exactly what GpuFrameRenderer::render_frame_yuv420p produces; the only difference is that it reads a clock between stages and writes the spans to timings. An incomplete source set leaves timings holding only the stages that ran.

§Errors

Returns RenderError for invalid graph, target, or YUV layout data.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementations on Foreign Types§

Source§

impl GpuFrameRenderer for Renderer

Implementors§