blob: 1d7842b3079f6b315476275fd62c9932b9dcf9e9 [file] [edit]
[package]
name = "vello_cpu"
# When moving past 0.0.x, also update caveats in the README
version = "0.0.4"
description = "A CPU-based renderer for Vello, optimized for SIMD and multithreaded execution."
categories = ["rendering", "graphics"]
keywords = ["2d", "vector-graphics"]
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
[package.metadata.docs.rs]
all-features = true
# There are no platform specific docs.
default-target = "x86_64-unknown-linux-gnu"
targets = []
[dependencies]
bytemuck = { workspace = true }
vello_common = { workspace = true }
hashbrown = { version = "0.15" }
crossbeam-channel = { workspace = true, optional = true }
ordered-channel = { workspace = true, optional = true, features = ["crossbeam-channel"] }
rayon = { workspace = true, optional = true }
thread_local = { workspace = true, optional = true }
[features]
default = ["std", "png", "text", "u8_pipeline"]
# Get floating point functions from the standard library (likely using your target’s libc).
std = ["vello_common/std"]
# Use floating point implementations from libm.
libm = ["vello_common/libm"]
# Allow loading Pixmap from PNG, and drawing png glyphs.
png = ["vello_common/png"]
# Enable multi-threaded rendering.
multithreading = [
"std",
"dep:rayon",
"dep:thread_local",
"dep:ordered-channel",
"dep:crossbeam-channel",
"vello_common/multithreading",
]
# Add support for text rendering
text = ["vello_common/text"]
# Speed focussed rendering using u8 math
u8_pipeline = []
# Quality focussed rendering using f32 math
f32_pipeline = []
[lints]
workspace = true
[[example]]
name = "basic"
required-features = ["png", "std"]
[[example]]
name = "clipping"
required-features = ["png", "std"]
[[example]]
name = "masking"
required-features = ["png", "std"]
[[example]]
name = "paints"
required-features = ["png", "std"]