Table of Contents

Class WebGPUDrawingBackend

Namespace
SixLabors.ImageSharp.Drawing.Processing.Backends
Assembly
SixLabors.ImageSharp.Drawing.WebGPU.dll

Pixel-format registration for composite session I/O.

public sealed class WebGPUDrawingBackend : IDrawingBackend, IDisposable
Inheritance
WebGPUDrawingBackend
Implements
Inherited Members

Remarks

SixLabors.ImageSharp.Drawing.Processing.Backends.WebGPUDrawingBackend.CompositeRegistrations is intentionally explicit and only includes one-to-one format mappings where the GPU texture format can round-trip the pixel payload without channel swizzle or custom conversion logic. Only formats that support storage texture binding (required by the compute compositor) are included. Formats that lack storage support are omitted and fall back to the CPU backend.

Constructors

WebGPUDrawingBackend()

Initializes a new instance of the WebGPUDrawingBackend class.

public WebGPUDrawingBackend()

Methods

CreateScene(Configuration, Rectangle, DrawingCommandBatch, IReadOnlyList<IDisposable>?)

Creates a retained backend scene from a prepared command batch.

public DrawingBackendScene CreateScene(Configuration configuration, Rectangle targetBounds, DrawingCommandBatch commandBatch, IReadOnlyList<IDisposable>? ownedResources = null)

Parameters

configuration Configuration

The active processing configuration.

targetBounds Rectangle

The target bounds used for target-dependent scene data.

commandBatch DrawingCommandBatch

The scene commands in submission order.

ownedResources IReadOnlyList<IDisposable>

The resources that must stay alive for the returned scene.

Returns

DrawingBackendScene

A retained backend scene.

Dispose()

Releases all cached shared WebGPU resources.

public void Dispose()

ReadRegion<TPixel>(Configuration, ICanvasFrame<TPixel>, Rectangle, Buffer2DRegion<TPixel>)

Reads source pixels from the target into the destination region.

public void ReadRegion<TPixel>(Configuration configuration, ICanvasFrame<TPixel> target, Rectangle sourceRectangle, Buffer2DRegion<TPixel> destination) where TPixel : unmanaged, IPixel<TPixel>

Parameters

configuration Configuration

The active processing configuration.

target ICanvasFrame<TPixel>

The target frame.

sourceRectangle Rectangle

The source rectangle in target-local coordinates.

destination Buffer2DRegion<TPixel>

The destination region that receives the copied pixels.

Type Parameters

TPixel

The pixel format.

RenderScene<TPixel>(Configuration, ICanvasFrame<TPixel>, DrawingBackendScene)

Renders a retained backend scene into the target.

public void RenderScene<TPixel>(Configuration configuration, ICanvasFrame<TPixel> target, DrawingBackendScene scene) where TPixel : unmanaged, IPixel<TPixel>

Parameters

configuration Configuration

The active processing configuration.

target ICanvasFrame<TPixel>

The target frame.

scene DrawingBackendScene

The retained backend scene to render.

Type Parameters

TPixel

The pixel format.