# 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.60"
name = "wgpu-hal"
version = "0.16.0"
authors = ["wgpu developers"]
description = "WebGPU hardware abstraction layer"
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]
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]

[[example]]
name = "halmark"

[[example]]
name = "raw-gles"
required-features = ["gles"]

[dependencies]
arrayvec = "0.7"
bitflags = "2"
log = "0.4"
parking_lot = ">=0.11,<0.13"
raw-window-handle = "0.5"
rustc-hash = "1.1"
thiserror = "1"

[dependencies.glow]
version = "0.12.1"
optional = true

[dependencies.naga]
version = "0.12.0"
git = "https://github.com/gfx-rs/naga"
rev = "b99d58ea435090e561377949f428bce2c18451bb"
features = ["clone"]

[dependencies.profiling]
version = "1"
default-features = false

[dependencies.wgt]
version = "0.16"
path = "../wgpu-types"
package = "wgpu-types"

[dev-dependencies]
env_logger = "0.10"
winit = "0.27.1"

[dev-dependencies.naga]
version = "0.12.0"
git = "https://github.com/gfx-rs/naga"
rev = "b99d58ea435090e561377949f428bce2c18451bb"
features = ["wgsl-in"]

[features]
default = []
dx11 = [
    "naga/hlsl-out",
    "d3d12",
    "libloading",
    "winapi/d3d11",
    "winapi/std",
    "winapi/d3d11_1",
    "winapi/d3d11_2",
    "winapi/d3d11sdklayers",
    "winapi/dxgi1_6",
]
dx12 = [
    "naga/hlsl-out",
    "d3d12",
    "bit-set",
    "range-alloc",
    "winapi/std",
    "winapi/winbase",
    "winapi/d3d12",
    "winapi/d3d12shader",
    "winapi/d3d12sdklayers",
    "winapi/dxgi1_6",
]
dxc_shader_compiler = ["hassle-rs"]
gles = [
    "naga/glsl-out",
    "glow",
    "khronos-egl",
    "libloading",
]
metal = [
    "naga/msl-out",
    "block",
    "foreign-types",
]
renderdoc = [
    "libloading",
    "renderdoc-sys",
]
vulkan = [
    "naga/spv-out",
    "ash",
    "gpu-alloc",
    "gpu-descriptor",
    "libloading",
    "smallvec",
]
windows_rs = ["gpu-allocator"]

[target."cfg(all(target_arch = \"wasm32\", not(target_os = \"emscripten\")))".dependencies]
js-sys = "0.3.61"
wasm-bindgen = "0.2.84"

[target."cfg(all(target_arch = \"wasm32\", not(target_os = \"emscripten\")))".dependencies.web-sys]
version = "0.3.61"
features = [
    "Window",
    "HtmlCanvasElement",
    "WebGl2RenderingContext",
    "OffscreenCanvas",
]

[target."cfg(any(target_os=\"macos\", target_os=\"ios\"))".dependencies]
core-graphics-types = "0.1"
metal = "0.24.0"
objc = "0.2.5"

[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.foreign-types]
version = "0.3"
optional = true

[target."cfg(not(target_arch = \"wasm32\"))".dependencies.ash]
version = "0.37.2"
optional = true

[target."cfg(not(target_arch = \"wasm32\"))".dependencies.gpu-alloc]
version = "0.5"
optional = true

[target."cfg(not(target_arch = \"wasm32\"))".dependencies.gpu-descriptor]
version = "0.2"
optional = true

[target."cfg(not(target_arch = \"wasm32\"))".dependencies.khronos-egl]
version = "4.1"
features = ["dynamic"]
optional = true

[target."cfg(not(target_arch = \"wasm32\"))".dependencies.libloading]
version = ">=0.7,<0.9"
optional = true

[target."cfg(not(target_arch = \"wasm32\"))".dependencies.renderdoc-sys]
version = "1.0.0"
optional = true

[target."cfg(not(target_arch = \"wasm32\"))".dependencies.smallvec]
version = "1"
features = ["union"]
optional = true

[target."cfg(not(target_arch = \"wasm32\"))".dev-dependencies]
glutin = "0.29.1"

[target."cfg(target_os = \"android\")".dependencies]
android_system_properties = "0.1.1"

[target."cfg(target_os = \"emscripten\")".dependencies.khronos-egl]
version = "4.1"
features = [
    "static",
    "no-pkg-config",
]

[target."cfg(target_os = \"emscripten\")".dependencies.libloading]
version = ">=0.7,<0.9"
optional = true

[target."cfg(unix)".dependencies]
libc = "0.2"

[target."cfg(windows)".dependencies.bit-set]
version = "0.5"
optional = true

[target."cfg(windows)".dependencies.d3d12]
version = "0.6.0"
git = "https://github.com/gfx-rs/d3d12-rs"
rev = "b940b1d71"
features = ["libloading"]
optional = true

[target."cfg(windows)".dependencies.gpu-allocator]
version = "0.22"
features = [
    "d3d12",
    "windows",
    "public-winapi",
]
optional = true
default_features = false

[target."cfg(windows)".dependencies.hassle-rs]
version = "0.10"
optional = true

[target."cfg(windows)".dependencies.range-alloc]
version = "0.1"
optional = true

[target."cfg(windows)".dependencies.winapi]
version = "0.3"
features = [
    "profileapi",
    "libloaderapi",
    "windef",
    "winuser",
    "dcomp",
]