[package]
edition = "2021"
rust-version = "1.87.0"
name = "wgpu"
version = "29.0.0"
authors = ["gfx-rs developers"]
build = "build.rs"
exclude = ["Cargo.lock"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Cross-platform, safe, pure-rust graphics API"
homepage = "https://wgpu.rs/"
readme = "README.md"
keywords = ["graphics"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/gfx-rs/wgpu"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
targets = [
"x86_64-unknown-linux-gnu",
"x86_64-apple-darwin",
"x86_64-pc-windows-msvc",
"wasm32-unknown-unknown",
]
[package.metadata.cargo-machete]
ignored = ["cfg_aliases"]
[features]
angle = ["wgpu-core?/angle"]
counters = ["wgpu-core?/counters"]
custom = []
default = [
"std",
"parking_lot",
"dx12",
"metal",
"gles",
"vulkan",
"wgsl",
"webgpu",
]
dx12 = ["wgpu-core?/dx12"]
fragile-send-sync-non-atomic-wasm = [
"wgpu-core?/fragile-send-sync-non-atomic-wasm",
"wgpu-types/fragile-send-sync-non-atomic-wasm",
]
gles = ["wgpu-core?/gles"]
glsl = [
"naga/glsl-in",
"wgpu-core?/glsl",
]
metal = ["wgpu-core?/metal"]
naga-ir = ["dep:naga"]
noop = [
"wgpu-core/noop",
"dep:wgpu-hal",
"dep:smallvec",
]
parking_lot = ["dep:parking_lot"]
serde = [
"wgpu-core?/serde",
"wgpu-types/serde",
]
spirv = [
"naga/spv-in",
"wgpu-core?/spirv",
]
static-dxc = ["wgpu-core?/static-dxc"]
std = [
"raw-window-handle/std",
"wgpu-types/std",
"wgpu-core?/std",
"js-sys?/std",
"web-sys?/std",
"wasm-bindgen?/std",
"wasm-bindgen-futures?/std",
]
strict_asserts = [
"wgpu-core?/strict_asserts",
"wgpu-types/strict_asserts",
]
trace = [
"serde",
"wgpu-core?/trace",
]
vulkan = ["wgpu-core?/vulkan"]
vulkan-portability = ["wgpu-core?/vulkan-portability"]
web = [
"dep:wasm-bindgen",
"dep:js-sys",
"dep:web-sys",
"wgpu-types/web",
]
webgl = [
"web",
"wgpu-core/webgl",
"dep:wgpu-hal",
"dep:smallvec",
]
webgpu = [
"web",
"naga?/wgsl-out",
"dep:wasm-bindgen-futures",
"web-sys/Document",
"web-sys/Event",
"web-sys/Navigator",
"web-sys/NodeList",
"web-sys/Window",
"web-sys/WorkerGlobalScope",
"web-sys/WorkerNavigator",
]
wgsl = ["wgpu-core?/wgsl"]
[lib]
name = "wgpu"
path = "src/lib.rs"
[dependencies.arrayvec]
version = "0.7.1"
default-features = false
[dependencies.bitflags]
version = "2.9"
[dependencies.bytemuck]
version = "1.22"
features = [
"extern_crate_alloc",
"min_const_generics",
]
[dependencies.cfg-if]
version = "1"
[dependencies.document-features]
version = "0.2.10"
[dependencies.hashbrown]
version = "0.16"
features = [
"default-hasher",
"inline-more",
]
default-features = false
[dependencies.log]
version = "0.4.29"
[dependencies.naga]
version = "29.0.0"
features = ["termcolor"]
optional = true
[dependencies.parking_lot]
version = "0.12.3"
optional = true
[dependencies.profiling]
version = "1.0.1"
default-features = false
[dependencies.raw-window-handle]
version = "0.6.2"
features = ["alloc"]
default-features = false
[dependencies.static_assertions]
version = "1.1"
[dependencies.wgpu-core]
version = "29.0.0"
optional = true
[dependencies.wgpu-types]
version = "29.0.0"
default-features = false
[dev-dependencies.bytemuck]
version = "1.22"
features = [
"extern_crate_alloc",
"min_const_generics",
]
[build-dependencies.cfg_aliases]
version = "0.2.1"
[target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies.js-sys]
version = "0.3.85"
optional = true
default-features = false
[target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies.smallvec]
version = "1.14"
optional = true
[target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies.wasm-bindgen]
version = "0.2.108"
optional = true
default-features = false
[target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies.wasm-bindgen-futures]
version = "0.4.58"
optional = true
default-features = false
[target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies.web-sys]
version = "0.3.85"
features = [
"HtmlCanvasElement",
"OffscreenCanvas",
]
optional = true
default-features = false
[target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies.wgpu-core]
version = "29.0.0"
optional = true
[target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies.wgpu-hal]
version = "29.0.0"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.smallvec]
version = "1.14"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.wgpu-core]
version = "29.0.0"
features = [
"renderdoc",
"wgsl",
"portable-atomic",
]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.wgpu-hal]
version = "29.0.0"
[target.'cfg(not(target_has_atomic = "64"))'.dependencies.portable-atomic]
version = "1.10"
[target.'cfg(target_os = "emscripten")'.dependencies.smallvec]
version = "1.14"
[target.'cfg(target_os = "emscripten")'.dependencies.wgpu-core]
version = "29.0.0"
[target.'cfg(target_os = "emscripten")'.dependencies.wgpu-hal]
version = "29.0.0"