[workspace]
resolver = "2"
members = [
    "cts_runner",
    "deno_webgpu",

    # default members
    "examples/*",
    "naga",
    "naga-cli",
    "player",
    "tests",
    "wgpu-core",
    "wgpu-hal",
    "wgpu-info",
    "wgpu-macros",
    "wgpu-types",
    "wgpu",
]
exclude = []
default-members = [
    "examples/*",
    "naga",
    "naga-cli",
    "player",
    "tests",
    "wgpu-core",
    "wgpu-hal",
    "wgpu-info",
    "wgpu-macros",
    "wgpu-types",
    "wgpu",
]

[workspace.package]
edition = "2021"
rust-version = "1.70"
keywords = ["graphics"]
license = "MIT OR Apache-2.0"
homepage = "https://wgpu.rs/"
repository = "https://github.com/gfx-rs/wgpu"
version = "0.18.0"
authors = ["wgpu developers"]

[workspace.dependencies.wgc]
package = "wgpu-core"
path = "./wgpu-core"
version = "0.18.0"

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

[workspace.dependencies.hal]
package = "wgpu-hal"
path = "./wgpu-hal"
version = "0.18.0"

[workspace.dependencies.naga]
path = "./naga"
version = "0.14.0"

[workspace.dependencies]
anyhow = "1.0"
arrayvec = "0.7"
async-executor = "1"
bitflags = "2"
bit-vec = "0.6"
bytemuck = { version = "1.14", features = ["derive"] }
cfg_aliases = "0.1"
cfg-if = "1"
codespan-reporting = "0.11"
ctor = "0.2"
ddsfile = "0.5"
env_logger = "0.10"
flume = "0.11"
futures-lite = "1"
futures-intrusive = "0.5"
rustc-hash = "1.1.0"
glam = "0.24.2"
heck = "0.4.0"
image = { version = "0.24", default-features = false, features = ["png"] }
# libloading 0.8 switches from `winapi` to `windows-sys`; permit either
libloading = ">=0.7, <0.9"
libc = "0.2"
libtest-mimic = "0.6"
log = "0.4"
nanorand = { version = "0.7", default-features = false, features = ["wyrand"] }
nv-flip = "0.1"
num-traits = { version = "0.2" }
noise = "0.8"
obj = "0.10"
once_cell = "1"
# parking_lot 0.12 switches from `winapi` to `windows`; permit either
parking_lot = ">=0.11,<0.13"
pico-args = { version = "0.5.0", features = [
    "eq-separator",
    "short-space-opt",
    "combined-flags",
] }
png = "0.17.10"
pollster = "0.3"
profiling = { version = "1", default-features = false }
raw-window-handle = "0.5"
renderdoc-sys = "1.0.0"
ron = "0.8"
serde = "1"
serde_json = "1.0.107"
smallvec = "1"
static_assertions = "1.1.0"
thiserror = "1"
wgpu = { version = "0.18.0", path = "./wgpu" }
wgpu-core = { version = "0.18.0", path = "./wgpu-core" }
wgpu-example = { version = "0.18.0", path = "./examples/common" }
wgpu-macros = { version = "0.18.0", path = "./wgpu-macros" }
wgpu-test = { version = "0.18.0", path = "./tests" }
wgpu-types = { version = "0.18.0", path = "./wgpu-types" }
winit = { version = "0.28.7", features = ["android-native-activity"] }

# Metal dependencies
block = "0.1"
metal = "0.27.0"
objc = "0.2.5"
core-graphics-types = "0.1"

# Vulkan dependencies
ash = "0.37.3"
gpu-alloc = "0.6"
gpu-descriptor = "0.2"
android_system_properties = "0.1.1"

# DX dependencies
bit-set = "0.5"
gpu-allocator = { version = "0.23", default_features = false, features = [
    "d3d12",
    "public-winapi",
] }
d3d12 = "0.7.0"
range-alloc = "0.1"
winapi = "0.3"
hassle-rs = "0.10.0"

# Gles dependencies
khronos-egl = "6"
glow = "0.12.3"
glutin = "0.29.1"

# wasm32 dependencies
console_error_panic_hook = "0.1.7"
console_log = "1"
js-sys = "0.3.65"
wasm-bindgen = "0.2.87"
wasm-bindgen-futures = "0.4.34"
wasm-bindgen-test = "0.3"
web-sys = "0.3.65"

# deno dependencies
deno_console = "0.119.0"
deno_core = "0.214.0"
deno_url = "0.119.0"
deno_web = "0.150.0"
deno_webidl = "0.119.0"
deno_webgpu = { path = "./deno_webgpu" }
tokio = "1.33.0"
termcolor = "1.3.0"

[patch."https://github.com/gfx-rs/naga"]

[patch."https://github.com/zakarumych/gpu-descriptor"]
#gpu-descriptor = { path = "../gpu-descriptor/gpu-descriptor" }

[patch."https://github.com/zakarumych/gpu-alloc"]
#gpu-alloc = { path = "../gpu-alloc/gpu-alloc" }

[patch.crates-io]
#glow = { path = "../glow" }
#d3d12 = { path = "../d3d12-rs" }
#web-sys = { path = "../wasm-bindgen/crates/web-sys" }
#js-sys = { path = "../wasm-bindgen/crates/js-sys" }
#wasm-bindgen = { path = "../wasm-bindgen" }

# Speed up image comparison even in debug builds
[profile.dev.package."nv-flip-sys"]
opt-level = 3
