[package]
name = "all-is-cubes-gpu"
version = "0.7.0"
authors = ["Kevin Reid <kpreid@switchb.org>"]
edition = "2021"
rust-version = "1.65"
description = "Optional GPU rendering implementation for the all-is-cubes crate."
repository = "https://github.com/kpreid/all-is-cubes"
license = "MIT OR Apache-2.0"
categories = ["games", "graphics", "rendering", "rendering::engine"]
[package.metadata.docs.rs]
all-features = true
[lib]
bench = false
doctest = false
[[test]]
name = "shaders"
required-features = ["wgpu"]
[[bench]]
name = "wgpu_bench"
harness = false
[features]
rerun = ["all-is-cubes/rerun", "all-is-cubes-mesh/rerun"]
wgpu = ["dep:wgpu"]
threads = ["dep:rayon"]
[dependencies]
all-is-cubes = { path = "../all-is-cubes", version = "0.7.0" }
all-is-cubes-mesh = { path = "../all-is-cubes-mesh", version = "0.7.0" }
bytemuck = { workspace = true, features = ["derive"] }
cfg-if = { workspace = true }
flume = { workspace = true }
futures-channel = { workspace = true, features = ["sink"] }
futures-core = { workspace = true }
futures-util = { workspace = true, features = [
"async-await",
"async-await-macro",
"std",
"sink"
] }
half = { version = "2.3.1", features = ["bytemuck"] }
itertools = { workspace = true }
log = { workspace = true }
once_cell = { workspace = true }
pollster = { workspace = true }
rand = { workspace = true }
rand_xoshiro = { workspace = true }
rayon = { workspace = true, optional = true }
resource = "0.5.0"
thiserror = { workspace = true }
wasm-bindgen-futures = { workspace = true }
web-sys = { version = "0.3.67", features = ["OffscreenCanvas"] }
web-time = { workspace = true }
wgpu = { workspace = true, optional = true }
[target.'cfg(target_family = "wasm")'.dependencies]
gloo-timers = { version = "0.3.0", default-features = false, features = ["futures"]}
resource = { version = "0.5.0", features = ["force-static"] }
wgpu = { workspace = true, optional = true }
[dev-dependencies]
criterion = { workspace = true, features = ["async_tokio"] }
image = { workspace = true }
tokio = { workspace = true, features = ["macros", "rt", "rt-multi-thread", "parking_lot", "sync"] }
[lints]
workspace = true