Revision control
Copy as Markdown
Other Tools
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.
[package]
edition = "2021"
rust-version = "1.76"
name = "wgpu-hal"
version = "23.0.1"
authors = ["gfx-rs developers"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "WebGPU hardware abstraction layer"
readme = "README.md"
keywords = ["graphics"]
license = "MIT OR Apache-2.0"
[package.metadata.cargo-machete]
ignored = ["cfg_aliases"]
[package.metadata.docs.rs]
features = [
"vulkan",
"gles",
"renderdoc",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
targets = [
"x86_64-unknown-linux-gnu",
"x86_64-apple-darwin",
"x86_64-pc-windows-msvc",
"wasm32-unknown-unknown",
]
[lib]
name = "wgpu_hal"
path = "src/lib.rs"
[[example]]
name = "halmark"
path = "examples/halmark/main.rs"
[[example]]
name = "raw-gles"
path = "examples/raw-gles.rs"
required-features = ["gles"]
[[example]]
name = "ray-traced-triangle"
path = "examples/ray-traced-triangle/main.rs"
[dependencies.arrayvec]
version = "0.7"
[dependencies.bitflags]
version = "2.6"
[dependencies.bytemuck]
version = "1.20"
optional = true
[dependencies.glow]
version = "0.16"
optional = true
[dependencies.log]
version = "0.4"
[dependencies.naga]
version = "23.0.0"
path = "../naga"
[dependencies.once_cell]
version = "1.20.2"
[dependencies.parking_lot]
version = "0.12.1"
[dependencies.profiling]
version = "1"
default-features = false
[dependencies.raw-window-handle]
version = "0.6"
[dependencies.rustc-hash]
version = "1.1.0"
[dependencies.thiserror]
version = "1.0.69"
[dependencies.wgt]
version = "23.0.0"
path = "../wgpu-types"
package = "wgpu-types"
[dev-dependencies.cfg-if]
version = "1"
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.glam]
version = "0.28"
[dev-dependencies.naga]
version = "23.0.0"
path = "../naga"
features = ["wgsl-in"]
[dev-dependencies.winit]
version = "0.29"
features = ["android-native-activity"]
[build-dependencies.cfg_aliases]
version = "0.1"
[features]
device_lost_panic = []
dx12 = [
"dep:bit-set",
"dep:libloading",
"dep:range-alloc",
"dep:windows-core",
"gpu-allocator/d3d12",
"naga/hlsl-out-if-target-windows",
"windows/Win32_Graphics_Direct3D_Fxc",
"windows/Win32_Graphics_Direct3D_Dxc",
"windows/Win32_Graphics_Direct3D",
"windows/Win32_Graphics_Direct3D12",
"windows/Win32_Graphics_DirectComposition",
"windows/Win32_Graphics_Dxgi_Common",
"windows/Win32_Security",
"windows/Win32_System_Diagnostics_Debug",
"windows/Win32_System_Kernel",
"windows/Win32_System_Performance",
"windows/Win32_System_Threading",
"windows/Win32_UI_WindowsAndMessaging",
]
fragile-send-sync-non-atomic-wasm = ["wgt/fragile-send-sync-non-atomic-wasm"]
gles = [
"naga/glsl-out",
"dep:bytemuck",
"dep:glow",
"dep:glutin_wgl_sys",
"dep:khronos-egl",
"dep:libloading",
"dep:ndk-sys",
"windows/Win32_Graphics_OpenGL",
"windows/Win32_Graphics_Gdi",
"windows/Win32_System_LibraryLoader",
"windows/Win32_UI_WindowsAndMessaging",
]
internal_error_panic = []
metal = [
"naga/msl-out-if-target-apple",
"dep:block",
]
oom_panic = []
renderdoc = [
"dep:libloading",
"dep:renderdoc-sys",
]
static-dxc = ["dep:mach-dxcompiler-rs"]
vulkan = [
"naga/spv-out",
"dep:ash",
"dep:gpu-alloc",
"dep:gpu-descriptor",
"dep:libloading",
"dep:smallvec",
"dep:android_system_properties",
]
[target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies.js-sys]
version = "0.3.70"
[target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies.wasm-bindgen]
version = "0.2.97"
[target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies.web-sys]
version = "0.3.74"
features = [
"Window",
"HtmlCanvasElement",
"WebGl2RenderingContext",
"OffscreenCanvas",
]
[target.'cfg(any(target_os="macos", target_os="ios"))'.dependencies.block]
version = "0.1"
optional = true
[target.'cfg(any(target_os="macos", target_os="ios"))'.dependencies.core-graphics-types]
version = "0.1"
[target.'cfg(any(target_os="macos", target_os="ios"))'.dependencies.metal]
version = "0.30.0"
[target.'cfg(any(target_os="macos", target_os="ios"))'.dependencies.objc]
version = "0.2.5"
[target.'cfg(not(any(target_arch = "wasm32", target_os = "ios")))'.dev-dependencies.glutin]
version = "0.31"
features = [
"egl",
"wgl",
"wayland",
"x11",
]
default-features = false
[target.'cfg(not(any(target_arch = "wasm32", target_os = "ios")))'.dev-dependencies.glutin-winit]
version = "0.4"
features = [
"egl",
"wgl",
"wayland",
"x11",
]
default-features = false
[target.'cfg(not(any(target_arch = "wasm32", target_os = "ios")))'.dev-dependencies.rwh_05]
version = "0.5"
package = "raw-window-handle"
[target.'cfg(not(any(target_arch = "wasm32", target_os = "ios")))'.dev-dependencies.winit]
version = "0.29"
features = [
"android-native-activity",
"rwh_05",
]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.ash]
version = "0.38.0"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.gpu-alloc]
version = "0.6"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.gpu-descriptor]
version = "0.3"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.khronos-egl]
version = "6"
features = ["dynamic"]
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libloading]
version = "0.8"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.renderdoc-sys]
version = "1.1.0"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.smallvec]
version = "1"
features = ["union"]
optional = true
[target.'cfg(target_os = "android")'.dependencies.android_system_properties]
version = "0.1.1"
optional = true
[target.'cfg(target_os = "android")'.dependencies.ndk-sys]
version = "0.5.0"
optional = true
[target.'cfg(target_os = "emscripten")'.dependencies.khronos-egl]
version = "6"
features = [
"static",
"no-pkg-config",
]
[target.'cfg(target_os = "emscripten")'.dependencies.libloading]
version = "0.8"
optional = true
[target."cfg(unix)".dependencies.libc]
version = "0.2"
[target."cfg(windows)".dependencies.bit-set]
version = "0.8"
optional = true
[target."cfg(windows)".dependencies.glutin_wgl_sys]
version = "0.6"
optional = true
[target."cfg(windows)".dependencies.gpu-allocator]
version = "0.27"
optional = true
default-features = false
[target."cfg(windows)".dependencies.mach-dxcompiler-rs]
version = "0.1.3"
optional = true
default-features = false
[target."cfg(windows)".dependencies.range-alloc]
version = "0.1"
optional = true
[target."cfg(windows)".dependencies.windows]
version = "0.58"
optional = true
default-features = false
[target."cfg(windows)".dependencies.windows-core]
version = "0.58"
optional = true
default-features = false