[go: up one dir, main page]

wgpu-core 0.18.0

WebGPU core logic on wgpu-hal
Documentation
[package]

name = "wgpu-core"

version = "0.18.0"

authors = ["wgpu 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"



# 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.65"



[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"]



# Backends, passed through to wgpu-hal

metal = ["hal/metal"]

vulkan = ["hal/vulkan"]

gles = ["hal/gles"]

dx11 = ["hal/dx11"]

dx12 = ["hal/dx12"]



# Use static linking for libraries. Disale to manually link. Enabled by default.

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.

strict_asserts = ["wgt/strict_asserts"]

# Enable API tracing

trace = ["ron", "serde", "wgt/trace", "arrayvec/serde", "naga/serialize"]

# Enable API replaying

replay = ["serde", "wgt/replay", "arrayvec/serde", "naga/deserialize"]

# Enable serializable compute/render passes, and bundle encoders.

serial-pass = ["serde", "wgt/serde", "arrayvec/serde"]

id32 = []

# Enable `ShaderModuleSource::Wgsl`

wgsl = ["naga/wgsl-in"]

# Implement `Send` and `Sync` on Wasm.

fragile-send-sync-non-atomic-wasm = [

    "hal/fragile-send-sync-non-atomic-wasm",

    "wgt/fragile-send-sync-non-atomic-wasm",

]



[dependencies]

arrayvec = "0.7"

bitflags = "2"

bit-vec = "0.6"

codespan-reporting = "0.11"

rustc-hash = "1.1"

log = "0.4"

# 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.5", optional = true }

ron = { version = "0.8", optional = true }

serde = { version = "1", features = ["serde_derive"], optional = true }

smallvec = "1"

thiserror = "1"



[dependencies.naga]

git = "https://github.com/gfx-rs/naga"

rev = "92e41b43e437146b5d946eb238de963be1168016"

version = "0.14.0"

features = ["clone", "span", "validate"]



[dependencies.wgt]

package = "wgpu-types"

path = "../wgpu-types"

version = "0.18.0"



[dependencies.hal]

package = "wgpu-hal"

path = "../wgpu-hal"

version = "0.18.0"

default_features = false



[target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies]

web-sys = { version = "0.3.64", features = [

    "HtmlCanvasElement",

    "OffscreenCanvas",

] }