Use cargo 1.64 workspace inheritance feature (#3107)

This commit is contained in:
Jinlei Li 2022-10-20 13:41:17 +08:00 committed by GitHub
parent 754a4bad80
commit cc448817e7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 301 additions and 233 deletions

View File

@ -8,7 +8,7 @@ on:
env: env:
RUST_BACKTRACE: 1 RUST_BACKTRACE: 1
RUST_VERSION: 1.62 RUST_VERSION: 1.64
PKG_CONFIG_ALLOW_CROSS: 1 # allow android to work PKG_CONFIG_ALLOW_CROSS: 1 # allow android to work
RUSTFLAGS: --cfg=web_sys_unstable_apis -D warnings RUSTFLAGS: --cfg=web_sys_unstable_apis -D warnings
RUSTDOCFLAGS: -Dwarnings RUSTDOCFLAGS: -Dwarnings

View File

@ -88,6 +88,7 @@ Bottom level categories:
### Testing/Internal ### Testing/Internal
- Update the `minimum supported rust version` to 1.62 - Update the `minimum supported rust version` to 1.62
- Use cargo 1.64 workspace inheritance feature. By @jinleili in [#3107](https://github.com/gfx-rs/wgpu/pull/3107)
#### Vulkan #### Vulkan

6
Cargo.lock generated
View File

@ -667,7 +667,7 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
[[package]] [[package]]
name = "dummy" name = "dummy"
version = "0.1.0" version = "0.14.0"
dependencies = [ dependencies = [
"wgpu-core", "wgpu-core",
] ]
@ -1697,7 +1697,7 @@ checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
[[package]] [[package]]
name = "player" name = "player"
version = "0.1.0" version = "0.14.0"
dependencies = [ dependencies = [
"env_logger", "env_logger",
"log", "log",
@ -1905,7 +1905,7 @@ dependencies = [
[[package]] [[package]]
name = "run-wasm" name = "run-wasm"
version = "0.1.0" version = "0.14.0"
dependencies = [ dependencies = [
"cargo-run-wasm", "cargo-run-wasm",
] ]

View File

@ -10,12 +10,123 @@ members = [
"wgpu-hal", "wgpu-hal",
"wgpu-info", "wgpu-info",
"wgpu-types", "wgpu-types",
"run-wasm", "run-wasm"
]
exclude = [
] ]
exclude = []
default-members = ["wgpu", "wgpu-hal", "wgpu-info"] default-members = ["wgpu", "wgpu-hal", "wgpu-info"]
[workspace.package]
edition = "2021"
rust-version = "1.64"
keywords = ["graphics"]
license = "MIT OR Apache-2.0"
homepage = "https://wgpu.rs/"
repository = "https://github.com/gfx-rs/wgpu"
version = "0.14.0"
authors = ["wgpu developers"]
[workspace.dependencies.wgc]
package = "wgpu-core"
path = "./wgpu-core"
[workspace.dependencies.wgt]
package = "wgpu-types"
path = "./wgpu-types"
[workspace.dependencies.hal]
package = "wgpu-hal"
path = "./wgpu-hal"
[workspace.dependencies.naga]
git = "https://github.com/gfx-rs/naga"
rev = "c52d9102"
version = "0.10"
[workspace.dependencies]
arrayvec = "0.7"
async-executor = "1.0"
bitflags = "1"
bitflags_serde_shim = "0.2"
bit-vec = "0.6"
bytemuck = "1.4"
cargo-run-wasm = "0.2.0"
cfg_aliases = "0.1"
cfg-if = "1"
codespan-reporting = "0.11"
ddsfile = "0.5"
env_logger = "0.9"
futures-intrusive = "0.4"
fxhash = "0.2.1"
glam = "0.21.3"
libloading = "0.7"
log = "0.4"
nanorand = { version = "0.7", default-features = false }
# Opt out of noise's "default-features" to avoid "image" feature as a dependency count optimization.
# This will not be required in the next release since it has been removed from the default feature in https://github.com/Razaekel/noise-rs/commit/1af9e1522236b2c584fb9a02150c9c67a5e6bb04#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
noise = { version = "0.7", default-features = false }
obj = "0.10"
# parking_lot 0.12 switches from `winapi` to `windows`; permit either
parking_lot = ">=0.11,<0.13"
png = "0.17.5"
pollster = "0.2"
profiling = { version = "1", default-features = false }
raw-window-handle = "0.5"
renderdoc-sys = "0.7.1"
ron = "0.8"
serde = "1"
serde_json = "1.0.85"
smallvec = "1"
static_assertions = "1.1.0"
thiserror = "1"
wgpu = { version = "0.14", path = "./wgpu" }
winit = "0.27.1"
# Metal dependencies
block = "0.1"
foreign-types = "0.3"
mtl = { package = "metal", version = "0.24.0" }
objc = "0.2.5"
core-graphics-types = "0.1"
# Vulkan dependencies
ash = "0.37"
gpu-alloc = "0.5"
gpu-descriptor = "0.2"
android_system_properties = "0.1.1"
# DX dependencies
bit-set = "0.5"
native = { package = "d3d12", version = "0.5.0" }
range-alloc = "0.1"
winapi = "0.3"
# Gles dependencies
egl = { package = "khronos-egl", version = "4.1" }
# glow = { version = "0.11.2", optional = true }
# TODO: New glow release
glow = { git = "https://github.com/grovesNL/glow/", rev = "c8a011fcd57a5c68cc917ed394baa484bdefc909" }
glutin = "0.29.1"
# wasm32 dependencies
console_error_panic_hook = "0.1.7"
console_log = "0.2"
js-sys = "0.3.60"
wasm-bindgen = "0.2.83"
wasm-bindgen-futures = "0.4.33"
web-sys = "0.3.60"
# deno dependencies
deno_console = "0.69.0"
deno_core = "0.151.0"
deno_url = "0.69.0"
deno_web = "0.100.0"
deno_webidl = "0.69.0"
deno_webgpu = { path = "./deno_webgpu" }
tokio = "1.19.0"
termcolor = "1.1.2"
wgpu-core = { path = "./wgpu-core" }
wgpu-types = { path = "./wgpu-types" }
[patch."https://github.com/gfx-rs/naga"] [patch."https://github.com/gfx-rs/naga"]
#naga = { path = "../naga" } #naga = { path = "../naga" }

View File

@ -31,7 +31,7 @@ For an overview of all the components in the gfx-rs ecosystem, see [the big pict
### MSRV policy ### MSRV policy
Minimum Supported Rust Version is **1.62**. Minimum Supported Rust Version is **1.64**.
It is enforced on CI (in "/.github/workflows/ci.yml") with `RUST_VERSION` variable. It is enforced on CI (in "/.github/workflows/ci.yml") with `RUST_VERSION` variable.
This version can only be upgraded in breaking releases. This version can only be upgraded in breaking releases.

View File

@ -2,20 +2,19 @@
name = "cts_runner" name = "cts_runner"
version = "0.1.0" version = "0.1.0"
authors = [ authors = [
"Luca Casonato <hello@lcas.dev>", "Luca Casonato <hello@lcas.dev>"
] ]
edition = "2021" edition.workspace = true
description = "CTS runner for wgpu" description = "CTS runner for wgpu"
license = "MIT OR Apache-2.0" license.workspace = true
publish = false publish = false
resolver = "2"
[dependencies] [dependencies]
deno_console = "0.69.0" deno_console.workspace = true
deno_core = "0.151.0" deno_core.workspace = true
deno_url = "0.69.0" deno_url.workspace = true
deno_web = "0.100.0" deno_web.workspace = true
deno_webidl = "0.69.0" deno_webidl.workspace = true
deno_webgpu = { path = "../deno_webgpu" } deno_webgpu.workspace = true
tokio = { version = "1.19.0", features = ["full"] } tokio = { workspace = true, features = ["full"] }
termcolor = "1.1.2" termcolor.workspace = true

View File

@ -4,15 +4,15 @@
name = "deno_webgpu" name = "deno_webgpu"
version = "0.63.0" version = "0.63.0"
authors = ["the Deno authors"] authors = ["the Deno authors"]
edition = "2021" edition.workspace = true
license = "MIT" license = "MIT"
readme = "README.md" readme = "README.md"
repository = "https://github.com/gfx-rs/wgpu" repository.workspace = true
description = "WebGPU implementation for Deno" description = "WebGPU implementation for Deno"
[dependencies] [dependencies]
deno_core = "0.151.0" deno_core.workspace = true
serde = { version = "1.0", features = ["derive"] } serde = { workspace = true, features = ["derive"] }
tokio = { version = "1.19", features = ["full"] } tokio = { workspace = true, features = ["full"] }
wgpu-core = { path = "../wgpu-core", features = ["trace", "replay", "serde", "strict_asserts", "wgsl"] } wgpu-core = { workspace = true, features = ["trace", "replay", "serde", "strict_asserts", "wgsl"] }
wgpu-types = { path = "../wgpu-types", features = ["trace", "replay", "serde"] } wgpu-types = { workspace = true, features = ["trace", "replay", "serde"] }

View File

@ -1,16 +1,13 @@
[package] [package]
name = "dummy" name = "dummy"
version = "0.1.0" version.workspace = true
authors = [ authors.workspace = true
"Dzmitry Malyshau <kvark@mozilla.com>", edition.workspace = true
] license.workspace = true
edition = "2021"
license = "MIT OR Apache-2.0"
publish = false publish = false
[features] [features]
[dependencies.wgc] [dependencies.wgc]
path = "../wgpu-core" workspace = true
package = "wgpu-core"
features = ["serial-pass", "trace"] features = ["serial-pass", "trace"]

View File

@ -1,15 +1,13 @@
[package] [package]
name = "player" name = "player"
version = "0.1.0" version.workspace = true
authors = [ authors.workspace = true
"Dzmitry Malyshau <kvark@mozilla.com>", edition.workspace = true
]
edition = "2021"
description = "WebGPU trace player" description = "WebGPU trace player"
homepage = "https://github.com/gfx-rs/wgpu" homepage.workspace = true
repository = "https://github.com/gfx-rs/wgpu" repository.workspace = true
keywords = ["graphics"] keywords.workspace = true
license = "MIT OR Apache-2.0" license.workspace = true
publish = false publish = false
[features] [features]
@ -17,21 +15,19 @@ angle = ["wgc/angle"]
vulkan-portability = ["wgc/vulkan-portability"] vulkan-portability = ["wgc/vulkan-portability"]
[dependencies] [dependencies]
env_logger = "0.9" env_logger.workspace = true
log = "0.4" log.workspace = true
raw-window-handle = "0.5" raw-window-handle.workspace = true
ron = "0.8" ron.workspace = true
winit = { version = "0.27", optional = true } winit = { workspace = true, optional = true }
[dependencies.wgt] [dependencies.wgt]
path = "../wgpu-types" workspace = true
package = "wgpu-types"
features = ["replay"] features = ["replay"]
[dependencies.wgc] [dependencies.wgc]
path = "../wgpu-core" workspace = true
package = "wgpu-core"
features = ["replay", "raw-window-handle", "strict_asserts", "wgsl"] features = ["replay", "raw-window-handle", "strict_asserts", "wgsl"]
[dev-dependencies] [dev-dependencies]
serde = "1" serde.workspace = true

View File

@ -1,9 +1,10 @@
[package] [package]
name = "run-wasm" name = "run-wasm"
version = "0.1.0" version.workspace = true
edition = "2021" authors.workspace = true
edition.workspace = true
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] [dependencies]
cargo-run-wasm = "0.2.0" cargo-run-wasm.workspace = true

View File

@ -1,13 +1,13 @@
[package] [package]
name = "wgpu-core" name = "wgpu-core"
version = "0.14.0" version.workspace = true
authors = ["wgpu developers"] authors.workspace = true
edition = "2021" edition.workspace = true
description = "WebGPU core logic on wgpu-hal" description = "WebGPU core logic on wgpu-hal"
homepage = "https://github.com/gfx-rs/wgpu" homepage.workspace = true
repository = "https://github.com/gfx-rs/wgpu" repository.workspace = true
keywords = ["graphics"] keywords.workspace = true
license = "MIT OR Apache-2.0" license.workspace = true
[lib] [lib]
@ -29,55 +29,48 @@ wgsl = ["naga/wgsl-in"]
vulkan-portability = ["hal/vulkan"] vulkan-portability = ["hal/vulkan"]
[dependencies] [dependencies]
arrayvec = "0.7" arrayvec.workspace = true
bitflags = "1.0" bitflags.workspace = true
bit-vec = "0.6" bit-vec.workspace = true
codespan-reporting = "0.11" codespan-reporting.workspace = true
fxhash = "0.2" fxhash.workspace = true
log = "0.4" log.workspace = true
# parking_lot 0.12 switches from `winapi` to `windows`; permit either parking_lot.workspace = true
parking_lot = ">=0.11,<0.13" profiling.workspace = true
profiling = { version = "1", default-features = false } raw-window-handle = { workspace = true, optional = true }
raw-window-handle = { version = "0.5", optional = true } ron = { workspace = true, optional = true }
ron = { version = "0.8", optional = true } serde = { workspace = true, features = ["serde_derive"], optional = true }
serde = { version = "1.0", features = ["serde_derive"], optional = true } smallvec.workspace = true
smallvec = "1" thiserror.workspace = true
thiserror = "1"
[dependencies.naga] [dependencies.naga]
git = "https://github.com/gfx-rs/naga" workspace = true
rev = "c52d9102"
version = "0.10"
features = ["clone", "span", "validate"] features = ["clone", "span", "validate"]
[dependencies.wgt] [dependencies.wgt]
path = "../wgpu-types" workspace = true
package = "wgpu-types"
version = "0.14"
[dependencies.hal] [dependencies.hal]
path = "../wgpu-hal" workspace = true
package = "wgpu-hal"
version = "0.14"
[target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies] [target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies]
web-sys = { version = "0.3", features = ["HtmlCanvasElement", "OffscreenCanvas"] } web-sys = { workspace = true, features = ["HtmlCanvasElement", "OffscreenCanvas"] }
[target.'cfg(target_arch = "wasm32")'.dependencies] [target.'cfg(target_arch = "wasm32")'.dependencies]
hal = { path = "../wgpu-hal", package = "wgpu-hal", version = "0.14", features = ["gles"] } hal = { workspace = true, features = ["gles"] }
[target.'cfg(all(not(target_arch = "wasm32"), any(target_os = "ios", target_os = "macos")))'.dependencies] [target.'cfg(all(not(target_arch = "wasm32"), any(target_os = "ios", target_os = "macos")))'.dependencies]
hal = { path = "../wgpu-hal", package = "wgpu-hal", version = "0.14", features = ["metal"] } hal = { workspace = true, features = ["metal"] }
#Note: could also enable "vulkan" for Vulkan Portability #Note: could also enable "vulkan" for Vulkan Portability
[target.'cfg(all(not(target_arch = "wasm32"), unix, not(target_os = "ios"), not(target_os = "macos")))'.dependencies] [target.'cfg(all(not(target_arch = "wasm32"), unix, not(target_os = "ios"), not(target_os = "macos")))'.dependencies]
hal = { path = "../wgpu-hal", package = "wgpu-hal", version = "0.14", features = ["vulkan", "gles", "renderdoc"] } hal = { workspace = true, features = ["vulkan", "gles", "renderdoc"] }
[target.'cfg(all(not(target_arch = "wasm32"), windows))'.dependencies] [target.'cfg(all(not(target_arch = "wasm32"), windows))'.dependencies]
hal = { path = "../wgpu-hal", package = "wgpu-hal", version = "0.14", features = ["vulkan", "dx12", "dx11", "renderdoc"] } hal = { workspace = true, features = ["vulkan", "dx12", "dx11", "renderdoc"] }
[target.'cfg(target_os = "emscripten")'.dependencies] [target.'cfg(target_os = "emscripten")'.dependencies]
hal = { path = "../wgpu-hal", package = "wgpu-hal", version = "0.14", features = ["emscripten"] } hal = { workspace = true, features = ["emscripten"] }
[build-dependencies] [build-dependencies]
cfg_aliases = "0.1" cfg_aliases.workspace = true

View File

@ -1,14 +1,14 @@
[package] [package]
name = "wgpu-hal" name = "wgpu-hal"
version = "0.14.0" version.workspace = true
authors = ["wgpu developers"] authors.workspace = true
edition = "2021" edition.workspace = true
description = "WebGPU hardware abstraction layer" description = "WebGPU hardware abstraction layer"
homepage = "https://github.com/gfx-rs/wgpu" homepage.workspace = true
repository = "https://github.com/gfx-rs/wgpu" repository.workspace = true
keywords = ["graphics"] keywords.workspace = true
license = "MIT OR Apache-2.0" license.workspace = true
rust-version = "1.60" rust-version.workspace = true
[lib] [lib]
@ -30,88 +30,76 @@ name = "raw-gles"
required-features = ["gles"] required-features = ["gles"]
[dependencies] [dependencies]
bitflags = "1.0" bitflags.workspace = true
# parking_lot 0.12 switches from `winapi` to `windows`; permit either parking_lot.workspace = true
parking_lot = ">=0.11,<0.13" profiling.workspace = true
profiling = { version = "1", default-features = false } raw-window-handle.workspace = true
raw-window-handle = "0.5" thiserror.workspace = true
thiserror = "1"
# backends common # backends common
arrayvec = "0.7" arrayvec.workspace = true
fxhash = "0.2.1" fxhash.workspace = true
log = "0.4" log.workspace = true
renderdoc-sys = { version = "0.7.1", optional = true } renderdoc-sys = { workspace = true, optional = true }
# backend: Metal # backend: Metal
block = { version = "0.1", optional = true } block = { workspace = true, optional = true }
foreign-types = { version = "0.3", optional = true } foreign-types = { workspace = true, optional = true }
# backend: Vulkan # backend: Vulkan
ash = { version = "0.37", optional = true } ash = { workspace = true, optional = true }
gpu-alloc = { version = "0.5", optional = true } gpu-alloc = { workspace = true, optional = true }
gpu-descriptor = { version = "0.2", optional = true } gpu-descriptor = { workspace = true, optional = true }
smallvec = { version = "1", optional = true, features = ["union"] } smallvec = { workspace = true, optional = true, features = ["union"] }
# backend: Gles # backend: Gles
#glow = { version = "0.11.2", optional = true } glow = { workspace = true, optional = true }
# TODO: New glow release
glow = { git = "https://github.com/grovesNL/glow/", rev = "c8a011fcd57a5c68cc917ed394baa484bdefc909", optional = true }
# backend: Dx12 # backend: Dx12
bit-set = { version = "0.5", optional = true } bit-set = { workspace = true, optional = true }
range-alloc = { version = "0.1", optional = true } range-alloc = { workspace = true, optional = true }
[dependencies.wgt] [dependencies.wgt]
package = "wgpu-types" workspace = true
path = "../wgpu-types"
version = "0.14"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies] [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
egl = { package = "khronos-egl", version = "4.1", features = ["dynamic"], optional = true } egl = { workspace = true, features = ["dynamic"], optional = true }
#Note: it's only unused on Apple platforms libloading = { workspace = true, optional = true }
libloading = { version = "0.7", optional = true }
[target.'cfg(target_os = "emscripten")'.dependencies] [target.'cfg(target_os = "emscripten")'.dependencies]
egl = { package = "khronos-egl", version = "4.1", features = ["static", "no-pkg-config"] } egl = { workspace = true, features = ["static", "no-pkg-config"] }
#Note: it's unused by emscripten, but we keep it to have single code base in egl.rs #Note: it's unused by emscripten, but we keep it to have single code base in egl.rs
libloading = { version = "0.7", optional = true } libloading = { workspace = true, optional = true }
[target.'cfg(windows)'.dependencies] [target.'cfg(windows)'.dependencies]
winapi = { version = "0.3", features = ["libloaderapi", "windef", "winuser", "dcomp"] } winapi = { workspace = true, features = ["libloaderapi", "windef", "winuser", "dcomp"] }
native = { package = "d3d12", version = "0.5.0", features = ["libloading"], optional = true } native = { workspace = true, features = ["libloading"], optional = true }
# native = { package = "d3d12", git = "https://github.com/gfx-rs/d3d12-rs.git", rev = "ffe5e261da0a6cb85332b82ab310abd2a7e849f6", features = ["libloading"], optional = true }
[target.'cfg(any(target_os="macos", target_os="ios"))'.dependencies] [target.'cfg(any(target_os="macos", target_os="ios"))'.dependencies]
mtl = { package = "metal", version = "0.24.0" } mtl.workspace = true
# mtl = { package = "metal", git = "https://github.com/gfx-rs/metal-rs", rev = "1aaa903" } objc.workspace = true
objc = "0.2.5" core-graphics-types.workspace = true
core-graphics-types = "0.1"
[target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies] [target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies]
wasm-bindgen = { version = "0.2" } wasm-bindgen.workspace = true
web-sys = { version = "=0.3.60", features = ["Window", "HtmlCanvasElement", "WebGl2RenderingContext", "OffscreenCanvas"] } web-sys = { workspace = true, features = ["Window", "HtmlCanvasElement", "WebGl2RenderingContext", "OffscreenCanvas"] }
js-sys = { version = "0.3" } js-sys.workspace = true
[target.'cfg(target_os = "android")'.dependencies] [target.'cfg(target_os = "android")'.dependencies]
android_system_properties = "0.1.1" android_system_properties.workspace = true
[dependencies.naga] [dependencies.naga]
git = "https://github.com/gfx-rs/naga" workspace = true
rev = "c52d9102"
version = "0.10"
features = ["clone"] features = ["clone"]
# DEV dependencies # DEV dependencies
[dev-dependencies.naga] [dev-dependencies.naga]
git = "https://github.com/gfx-rs/naga" workspace = true
rev = "c52d9102"
features = ["wgsl-in"] features = ["wgsl-in"]
[dev-dependencies] [dev-dependencies]
env_logger = "0.9" env_logger.workspace = true
winit = "0.27.1" # for "halmark" example winit.workspace = true # for "halmark" example
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
glutin = "0.29.1" # for "gles" example glutin.workspace = true # for "gles" example

View File

@ -1,14 +1,14 @@
[package] [package]
name = "wgpu-info" name = "wgpu-info"
version = "0.14.0" version.workspace = true
authors = ["wgpu developers"] authors.workspace = true
edition = "2021" edition.workspace = true
description = "Adapter information and per-adapter test program" description = "Adapter information and per-adapter test program"
homepage = "https://github.com/gfx-rs/wgpu" homepage.workspace = true
repository = "https://github.com/gfx-rs/wgpu" repository.workspace = true
keywords = ["graphics"] keywords.workspace = true
license = "MIT OR Apache-2.0" license.workspace = true
[dependencies] [dependencies]
env_logger = "0.9" env_logger.workspace = true
wgpu = { version = "0.14", path = "../wgpu" } wgpu.workspace = true

View File

@ -1,13 +1,13 @@
[package] [package]
name = "wgpu-types" name = "wgpu-types"
version = "0.14.0" version.workspace = true
authors = ["wgpu developers"] authors.workspace = true
edition = "2021" edition.workspace = true
description = "WebGPU types" description = "WebGPU types"
homepage = "https://github.com/gfx-rs/wgpu" homepage.workspace = true
repository = "https://github.com/gfx-rs/wgpu" repository.workspace = true
keywords = ["graphics"] keywords.workspace = true
license = "MIT OR Apache-2.0" license.workspace = true
[lib] [lib]
@ -16,9 +16,9 @@ trace = ["serde", "bitflags_serde_shim"]
replay = ["serde", "bitflags_serde_shim"] replay = ["serde", "bitflags_serde_shim"]
[dependencies] [dependencies]
bitflags = "1.0" bitflags.workspace = true
serde = { version = "1.0", features = ["serde_derive"], optional = true } serde = { workspace = true, features = ["serde_derive"], optional = true }
bitflags_serde_shim = { version = "0.2", optional = true } bitflags_serde_shim = { workspace = true, optional = true }
[dev-dependencies] [dev-dependencies]
serde_json = "1.0.85" serde_json.workspace = true

View File

@ -1,13 +1,13 @@
[package] [package]
name = "wgpu" name = "wgpu"
version = "0.14.0" version.workspace = true
authors = ["wgpu developers"] authors.workspace = true
edition = "2021" edition.workspace = true
description = "Rusty WebGPU API wrapper" description = "Rusty WebGPU API wrapper"
homepage = "https://wgpu.rs/" homepage.workspace = true
repository = "https://github.com/gfx-rs/wgpu/tree/v0.13" repository.workspace = true
keywords = ["graphics"] keywords.workspace = true
license = "MIT OR Apache-2.0" license.workspace = true
exclude = [ exclude = [
"etc/**/*", "etc/**/*",
"examples/**/*.png", # Image comparison test "examples/**/*.png", # Image comparison test
@ -88,81 +88,64 @@ emscripten = ["webgl"]
vulkan-portability = ["wgc/vulkan-portability"] vulkan-portability = ["wgc/vulkan-portability"]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.wgc] [target.'cfg(not(target_arch = "wasm32"))'.dependencies.wgc]
package = "wgpu-core" workspace = true
path = "../wgpu-core"
version = "0.14"
features = ["raw-window-handle"] features = ["raw-window-handle"]
[target.'cfg(target_arch = "wasm32")'.dependencies.wgc] [target.'cfg(target_arch = "wasm32")'.dependencies.wgc]
package = "wgpu-core" workspace = true
path = "../wgpu-core"
version = "0.14"
features = ["raw-window-handle"] features = ["raw-window-handle"]
optional = true optional = true
[dependencies.wgt] [dependencies.wgt]
package = "wgpu-types" workspace = true
path = "../wgpu-types"
version = "0.14"
[target.'cfg(any(not(target_arch = "wasm32"), target_os = "emscripten"))'.dependencies.hal] [target.'cfg(any(not(target_arch = "wasm32"), target_os = "emscripten"))'.dependencies.hal]
package = "wgpu-hal" workspace = true
path = "../wgpu-hal"
version = "0.14"
[dependencies] [dependencies]
arrayvec = "0.7" arrayvec.workspace = true
log = "0.4" log.workspace = true
# parking_lot 0.12 switches from `winapi` to `windows`; permit either parking_lot.workspace = true
parking_lot = ">=0.11,<0.13" raw-window-handle.workspace = true
raw-window-handle = "0.5" serde = { workspace = true, features = ["derive"], optional = true }
serde = { version = "1", features = ["derive"], optional = true } smallvec.workspace = true
smallvec = "1" static_assertions.workspace = true
static_assertions = "1.1.0"
[dev-dependencies] [dev-dependencies]
bitflags = "1" bitflags.workspace = true
bytemuck = { version = "1.4", features = ["derive"] } cfg-if.workspace = true
cfg-if = "1" bytemuck = { workspace = true, features = ["derive"] }
glam = "0.21.3" glam.workspace = true
ddsfile = "0.5" ddsfile.workspace = true
futures-intrusive = "0.4" futures-intrusive.workspace = true
env_logger = "0.9" env_logger.workspace = true
log = "0.4" log.workspace = true
# Opt out of noise's "default-features" to avoid "image" feature as a dependency count optimization. noise = { workspace = true }
# This will not be required in the next release since it has been removed from the default feature in https://github.com/Razaekel/noise-rs/commit/1af9e1522236b2c584fb9a02150c9c67a5e6bb04#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542 obj.workspace = true
noise = { version = "0.7", default-features = false } pollster.workspace = true
obj = "0.10" png.workspace = true
pollster = "0.2" nanorand = { workspace = true, features = ["wyrand"] }
png = "0.17" winit.workspace = true # for "halmark" example # for "halmark" example
nanorand = { version = "0.7", default-features = false, features = ["wyrand"] }
winit = "0.27.1" # for "halmark" example
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
async-executor = "1.0" async-executor.workspace = true
[dependencies.naga] [dependencies.naga]
git = "https://github.com/gfx-rs/naga" workspace = true
rev = "c52d9102"
version = "0.10"
features = ["clone"] features = ["clone"]
optional = true optional = true
# used to test all the example shaders # used to test all the example shaders
[dev-dependencies.naga] [dev-dependencies.naga]
git = "https://github.com/gfx-rs/naga" workspace = true
rev = "c52d9102"
version = "0.10"
features = ["wgsl-in"] features = ["wgsl-in"]
[target.'cfg(target_arch = "wasm32")'.dependencies.naga] [target.'cfg(target_arch = "wasm32")'.dependencies.naga]
git = "https://github.com/gfx-rs/naga" workspace = true
rev = "c52d9102"
version = "0.10"
features = ["wgsl-out"] features = ["wgsl-out"]
[target.'cfg(target_arch = "wasm32")'.dependencies] [target.'cfg(target_arch = "wasm32")'.dependencies]
web-sys = { version = "0.3.60", features = [ web-sys = { workspace = true, features = [
"Document", "Document",
"Navigator", "Navigator",
"Node", "Node",
@ -291,17 +274,16 @@ web-sys = { version = "0.3.60", features = [
"WorkerGlobalScope", "WorkerGlobalScope",
"WorkerNavigator" "WorkerNavigator"
] } ] }
wasm-bindgen = "0.2.83" wasm-bindgen.workspace = true
js-sys = "0.3.60" js-sys.workspace = true
wasm-bindgen-futures = "0.4.33" wasm-bindgen-futures.workspace = true
# parking_lot 0.12 switches from `winapi` to `windows`; permit either parking_lot.workspace = true
parking_lot = ">=0.11,<0.13"
[target.'cfg(target_arch = "wasm32")'.dev-dependencies] [target.'cfg(target_arch = "wasm32")'.dev-dependencies]
console_error_panic_hook = "0.1.7" console_error_panic_hook.workspace = true
console_log = "0.2" console_log.workspace = true
# We need these features in the framework examples # We need these features in the framework examples
web-sys = { version = "0.3.60", features = [ web-sys = { workspace = true, features = [
"Location", "Location",
"Blob", "Blob",
"RequestInit", "RequestInit",