#2d #vector-graphics #graphics

no-std vello_hybrid

A hybrid CPU/GPU renderer for Vello, balancing computation between CPU and GPU for efficiency

3 releases

Uses new Rust 2024

0.0.6 Jan 15, 2026
0.0.5 Jan 8, 2026
0.0.4 Oct 17, 2025

#1205 in Graphics APIs

Download history 151/week @ 2025-10-19 207/week @ 2025-10-26 33/week @ 2025-11-02 25/week @ 2025-11-09 19/week @ 2025-11-16 29/week @ 2025-11-23 61/week @ 2025-11-30 134/week @ 2025-12-07 29/week @ 2025-12-14 55/week @ 2025-12-21 22/week @ 2025-12-28 33/week @ 2026-01-04 39/week @ 2026-01-11 84/week @ 2026-01-18 135/week @ 2026-01-25 250/week @ 2026-02-01

508 downloads per month
Used in anyrender_vello_hybrid

Apache-2.0 OR MIT

785KB
15K SLoC

Vello Hybrid

Hybrid CPU/GPU renderer

Apache 2.0 or MIT license.
Linebender Zulip chat. GitHub Actions CI status.

This crate implements a hybrid CPU/GPU renderer for Vello. It offloads fine rasterization and other GPU-suited tasks while keeping core path processing on the CPU, making it a balanced solution for a variety of hardware.

Features

  • Hybrid rendering approach with CPU-based tiling and GPU-accelerated fine rasterization
  • Efficient path processing with sparse strip representation
  • Designed for performance across different hardware capabilities

Usage

This crate serves as an optimized hybrid rendering engine, leveraging both CPU and GPU where appropriate.

Feature Flags

  • wgpu (enabled by default): Enables the GPU rendering backend via wgpu and includes the required sparse shaders.
  • wgpu_default (enabled by default): Enables wgpu with its default hardware backends (such as Vulkan, Metal, and DX12).
  • webgl: Enables the WebGL rendering backend for browser support, using GLSL shaders for compatibility.

If you need to customize the set of enabled wgpu features, disable this crate's default features then enable its wgpu feature. You can then depend on wgpu directly, setting the specific features you require. Don't forget to also disable wgpu's default features.

Minimum supported Rust Version (MSRV)

This version of Vello Hybrid has been verified to compile with Rust 1.88 and later.

Future versions of Vello Hybrid might increase the Rust version requirement. It will not be treated as a breaking change and as such can even happen with small patch releases.

Click here if compiling fails.

As time has passed, some of Vello Hybrid's dependencies could have released versions with a higher Rust requirement. If you encounter a compilation issue due to a dependency and don't want to upgrade your Rust toolchain, then you could downgrade the dependency.

# Use the problematic dependency's name and version
cargo update -p package_name --precise 0.1.1

Community

Discussion of Vello Hybrid development happens in the Linebender Zulip, specifically the #vello channel. All public content can be read without logging in.

Contributions are welcome by pull request. The Rust code of conduct applies.

License

Licensed under either of

at your option.

Dependencies

~26MB
~522K SLoC