blob: 023f9b940f677f6f03abd3f4ab454e7dee0323ab [file] [edit]
// Copyright 2025 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
//! Provides renderer backends which handle GPU resource management and executes draw operations.
//!
//! ## Renderer Backends
//!
//! - `wgpu` contains the default renderer backend, leveraging `wgpu`.
//! - `webgl` contains a WebGL2 backend if the `webgl` feature is active.
pub(crate) mod common;
#[cfg(feature = "webgl")]
mod webgl;
#[cfg(feature = "wgpu")]
mod wgpu;
pub use common::{ClearSettings, Config, GpuStrip, RenderSize, TargetInit};
#[cfg(feature = "webgl")]
pub use webgl::{
IncompatibleContextReason, IncompatiblePrecompiledShadersReason, InvalidTextureTargetReason,
ShaderCompilationStats, WebGlContextOperation, WebGlDataTransferOperation, WebGlError,
WebGlOperation, WebGlRenderOptions, WebGlRenderTarget, WebGlRenderer, WebGlRendererInit,
WebGlRendererInitStatus, WebGlResourceKind, WebGlShaderInterfaceOperation,
WebGlShaderProgramOperation, WebGlShaderStage, WebGlTextureBindings, WebGlTextureTarget,
};
#[cfg(all(feature = "webgl", feature = "probe"))]
pub use webgl::{
WebGlProbeOperation,
probe::{WebGlPendingProbe, WebGlProbeError, WebGlProbeStatus},
};
#[cfg(feature = "wgpu")]
pub use wgpu::{
RenderOptions, RenderTarget, RenderTargetConfig, Renderer, TextureBinding, TextureBindings,
};
#[cfg(all(feature = "wgpu", feature = "probe"))]
pub use wgpu::{WgpuPendingProbe, WgpuProbeError, WgpuProbeStatus};