wgpu/wgpu-core/Cargo.toml

134 lines
3.7 KiB
TOML
Raw Normal View History

2019-11-16 02:17:07 +00:00
[package]
name = "wgpu-core"
2024-01-17 19:42:11 +00:00
version = "0.19.0"
authors = ["gfx-rs developers"]
2022-12-15 20:46:28 +00:00
edition = "2021"
2021-10-01 17:50:19 +00:00
description = "WebGPU core logic on wgpu-hal"
2022-12-15 20:46:28 +00:00
homepage = "https://wgpu.rs/"
repository = "https://github.com/gfx-rs/wgpu"
keywords = ["graphics"]
license = "MIT OR Apache-2.0"
2019-11-16 02:17:07 +00:00
# Override the workspace's `rust-version` key. Firefox uses `cargo vendor` to
# copy the crates it actually uses out of the workspace, so it's meaningful for
# them to have less restrictive MSRVs individually than the workspace as a
# whole, if their code permits. See `../README.md` for details.
rust-version = "1.70"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
2023-02-09 20:38:40 +00:00
targets = [
"x86_64-unknown-linux-gnu",
"x86_64-apple-darwin",
"x86_64-pc-windows-msvc",
"wasm32-unknown-unknown",
]
2019-11-16 02:17:07 +00:00
[lib]
[features]
2023-06-28 10:30:28 +00:00
default = ["link"]
## Log all API entry points at info instead of trace level.
api_log_info = []
## Log resource lifecycle management at info instead of trace level.
resource_log_info = []
## Use static linking for libraries. Disale to manually link. Enabled by default.
2023-06-28 10:30:28 +00:00
link = ["hal/link"]
## Support the Renderdoc graphics debugger:
## <https://renderdoc.org/>
renderdoc = ["hal/renderdoc"]
## Apply run-time checks, even in release builds. These are in addition
## to the validation carried out at public APIs in all builds.
2022-12-20 00:17:19 +00:00
strict_asserts = ["wgt/strict_asserts"]
## Enable API tracing.
2021-06-21 17:05:29 +00:00
trace = ["ron", "serde", "wgt/trace", "arrayvec/serde", "naga/serialize"]
## Enable API replaying
2021-06-21 17:05:29 +00:00
replay = ["serde", "wgt/replay", "arrayvec/serde", "naga/deserialize"]
## Enable serializable compute/render passes, and bundle encoders.
serial-pass = ["serde", "wgt/serde", "arrayvec/serde"]
## Enable `ShaderModuleSource::Wgsl`
wgsl = ["naga/wgsl-in"]
## Implement `Send` and `Sync` on Wasm, but only if atomics are not enabled.
##
## WebGL/WebGPU objects can not be shared between threads.
## However, it can be useful to artificially mark them as `Send` and `Sync`
## anyways to make it easier to write cross-platform code.
## This is technically *very* unsafe in a multithreaded environment,
## but on a wasm binary compiled without atomics we know we are definitely
## not in a multithreaded environment.
2023-10-25 17:53:22 +00:00
fragile-send-sync-non-atomic-wasm = [
"hal/fragile-send-sync-non-atomic-wasm",
"wgt/fragile-send-sync-non-atomic-wasm",
]
2019-11-16 02:17:07 +00:00
#! ### Backends, passed through to wgpu-hal
# --------------------------------------------------------------------
## Enable the `metal` backend.
metal = ["hal/metal"]
## Enable the `vulkan` backend.
vulkan = ["hal/vulkan"]
## Enable the `GLES` backend.
##
## This is used for all of GLES, OpenGL, and WebGL.
gles = ["hal/gles"]
## Enable the `dx12` backend.
dx12 = ["hal/dx12"]
2019-11-16 02:17:07 +00:00
[dependencies]
2022-12-15 20:46:28 +00:00
arrayvec = "0.7"
bit-vec = "0.6"
bitflags = "2"
2022-12-15 20:46:28 +00:00
codespan-reporting = "0.11"
indexmap = "2"
2022-12-15 20:46:28 +00:00
log = "0.4"
once_cell = "1"
2022-12-15 20:46:28 +00:00
# parking_lot 0.12 switches from `winapi` to `windows`; permit either
parking_lot = ">=0.11,<0.13"
profiling = { version = "1", default-features = false }
raw-window-handle = { version = "0.6", optional = true }
2022-12-15 20:46:28 +00:00
ron = { version = "0.8", optional = true }
rustc-hash = "1.1"
2022-12-15 20:46:28 +00:00
serde = { version = "1", features = ["serde_derive"], optional = true }
smallvec = "1"
thiserror = "1"
2020-12-21 19:24:52 +00:00
[dependencies.naga]
2023-10-25 20:51:36 +00:00
path = "../naga"
2024-01-17 19:42:11 +00:00
version = "0.19.0"
features = ["clone"]
[dependencies.wgt]
2022-12-15 20:46:28 +00:00
package = "wgpu-types"
path = "../wgpu-types"
2024-01-17 19:42:11 +00:00
version = "0.19.0"
2021-06-04 05:19:36 +00:00
[dependencies.hal]
2022-12-15 20:46:28 +00:00
package = "wgpu-hal"
path = "../wgpu-hal"
2024-01-17 19:42:11 +00:00
version = "0.19.0"
2023-06-28 10:30:28 +00:00
default_features = false
2021-06-04 05:19:36 +00:00
[target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies]
web-sys = { version = "0.3.67", features = [
2023-10-25 17:53:22 +00:00
"HtmlCanvasElement",
"OffscreenCanvas",
] }
[build-dependencies]
cfg_aliases.workspace = true