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

GPU frame paths that end on the GPU: an unmapped YUV420 readback or encoder NV12 planes.

Required Methods§

Source

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

Renders and converts to YUV420 in one command buffer.

An incomplete source set submits nothing. The output size must be even.

§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.

Same output as GpuFrameRenderer::render_frame_yuv420p, with stage spans written to timings.

§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§