[package]
name = "wgpu-core"
version = "0.21.1"
authors = ["gfx-rs developers"]
edition = "2021"
description = "WebGPU core logic on wgpu-hal"
homepage = "https://wgpu.rs/"
repository = "https://github.com/gfx-rs/wgpu"
keywords = ["graphics"]
license = "MIT OR Apache-2.0"
rust-version = "1.74"
[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",
]
[lib]
[features]
default = ["link"]
api_log_info = []
resource_log_info = []
link = ["hal/link"]
renderdoc = ["hal/renderdoc"]
strict_asserts = ["wgt/strict_asserts"]
serde = ["dep:serde", "wgt/serde", "arrayvec/serde"]
trace = ["ron", "serde", "naga/serialize"]
replay = ["serde", "naga/deserialize"]
wgsl = ["naga/wgsl-in"]
glsl = ["naga/glsl-in"]
spirv = ["naga/spv-in", "dep:bytemuck"]
fragile-send-sync-non-atomic-wasm = [
"hal/fragile-send-sync-non-atomic-wasm",
"wgt/fragile-send-sync-non-atomic-wasm",
]
metal = ["hal/metal"]
vulkan = ["hal/vulkan"]
gles = ["hal/gles"]
dx12 = ["hal/dx12"]
[dependencies]
arrayvec = "0.7"
bit-vec = "0.6"
bitflags = "2"
bytemuck = { version = "1.14", optional = true }
codespan-reporting = "0.11"
document-features.workspace = true
indexmap = "2"
log = "0.4"
once_cell = "1"
parking_lot = ">=0.11,<0.13"
profiling = { version = "1", default-features = false }
raw-window-handle = { version = "0.6", optional = true }
ron = { version = "0.8", optional = true }
rustc-hash = "1.1"
serde = { version = "1", features = ["serde_derive"], optional = true }
smallvec = "1"
thiserror = "1"
[dependencies.naga]
path = "../naga"
version = "0.20.0"
[dependencies.wgt]
package = "wgpu-types"
path = "../wgpu-types"
version = "0.20.0"
[dependencies.hal]
package = "wgpu-hal"
path = "../wgpu-hal"
version = "0.21.0"
default_features = false
[target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies]
web-sys = { version = "0.3.69", features = [
"HtmlCanvasElement",
"OffscreenCanvas",
] }
[build-dependencies]
cfg_aliases.workspace = true