Skip to content

Commit

Permalink
Merge remote-tracking branch 'trunk/trunk' into new-get-vertex
Browse files Browse the repository at this point in the history
  • Loading branch information
Vecvec committed Feb 24, 2025
2 parents 9755883 + 853d90e commit 5d5d587
Show file tree
Hide file tree
Showing 408 changed files with 1,833 additions and 1,654 deletions.
10 changes: 10 additions & 0 deletions .config/nextest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,13 @@ threads-required = 4
[[profile.default.overrides]]
filter = 'test(~8_threads) | test(~8 threads)'
threads-required = 8

#
# Workarounds for flaky tests
#

# https://github.com/gfx-rs/wgpu/issues/7200
[[profile.default.overrides]]
filter = 'test(wgpu_test::image_atomics::image_32_atomics)'
# platform = 'cfg(target_vendor = "apple")'
retries = 1
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -739,7 +739,7 @@ jobs:
run: taplo format --check --diff

- name: Check for typos
uses: crate-ci/typos@v1.29.7
uses: crate-ci/typos@v1.29.9

check-cts-runner:
# runtime is normally 2 minutes
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ jobs:
RUSTC_BOOTSTRAP: 1

- name: Deploy the docs
uses: JamesIves/github-pages-deploy-action@v4.7.2
uses: JamesIves/github-pages-deploy-action@v4.7.3
if: github.ref == 'refs/heads/trunk'
with:
token: ${{ secrets.WEB_DEPLOY }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:
run: cargo xtask run-wasm --no-serve

- name: Deploy WebGPU examples
uses: JamesIves/github-pages-deploy-action@v4.7.2
uses: JamesIves/github-pages-deploy-action@v4.7.3
if: github.ref == 'refs/heads/trunk'
with:
token: ${{ secrets.WEB_DEPLOY }}
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,12 @@ also allows more easily creating these structures inline.

By @cwfitzgerald in [#7133](https://github.com/gfx-rs/wgpu/pull/7133)

#### All Backends Now Have Features

Previously, the `vulkan` and `gles` backends were non-optional on windows, linux, and android and there was no way to disable them. We have now figured out how to properly make them disablable! Additionally, if you turn on the `webgl` feature, you will only get the GLES backend on WebAssembly, it won't leak into native builds, like previously it might have.

By @cwfitzgerald in [#7076](https://github.com/gfx-rs/wgpu/pull/7076).

#### `device.poll` Api Reworked

This release reworked the poll api significantly to allow polling to return errors when polling hits internal timeout limits.
Expand Down
91 changes: 61 additions & 30 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 9 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ members = [
"player",
"tests",
"wgpu-core",
"wgpu-core/platform-deps/*",
"wgpu-hal",
"wgpu-info",
"wgpu-macros",
Expand All @@ -35,6 +36,7 @@ default-members = [
"player",
"tests",
"wgpu-core",
"wgpu-core/platform-deps/*",
"wgpu-hal",
"wgpu-info",
"wgpu-macros",
Expand Down Expand Up @@ -74,7 +76,12 @@ wgpu-macros = { version = "24.0.0", path = "./wgpu-macros" }
wgpu-test = { version = "24.0.0", path = "./tests" }
wgpu-types = { version = "24.0.0", path = "./wgpu-types" }

anyhow = { version = "1.0.95", default-features = false }
wgpu-core-deps-windows-linux-android = { version = "24.0.0", path = "./wgpu-core/platform-deps/windows-linux-android" }
wgpu-core-deps-apple = { version = "24.0.0", path = "./wgpu-core/platform-deps/apple" }
wgpu-core-deps-wasm = { version = "24.0.0", path = "./wgpu-core/platform-deps/wasm" }
wgpu-core-deps-emscripten = { version = "24.0.0", path = "./wgpu-core/platform-deps/emscripten" }

anyhow = { version = "1.0.96", default-features = false }
approx = "0.5"
argh = "0.1.13"
arrayvec = { version = "0.7.6", default-features = false }
Expand All @@ -98,7 +105,6 @@ env_logger = "0.11"
fern = "0.7"
flume = "0.11"
futures-lite = "2"
getrandom = "0.2"
glam = "0.29"
hashbrown = { version = "0.14.5", default-features = false, features = [
"ahash",
Expand Down Expand Up @@ -138,7 +144,7 @@ ron = "0.8"
# see discussion here (including with some other alternatives): https://github.com/gfx-rs/wgpu/issues/6999
# (using default-features = false to support no-std build, avoiding any extra features that may require std::collections)
rustc-hash = { version = "1", default-features = false }
serde_json = "1.0.138"
serde_json = "1.0.139"
serde = { version = "1", default-features = false }
smallvec = "1"
static_assertions = "1.1.0"
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ The following binaries:
- `cts_runner` - WebGPU Conformance Test Suite runner using `deno_webgpu`.
- `player` - standalone application for replaying the API traces.

For an overview of all the components in the gfx-rs ecosystem, see [the big picture](./etc/big-picture.png).
For an overview of all the components in the gfx-rs ecosystem, see [the big picture](./docs/big-picture.png).

## Getting Started

Expand Down Expand Up @@ -86,7 +86,7 @@ For high-level documentation on how to use these extensions, see the individual

🧪EXPERIMENTAL🧪 APIs are subject to change and may allow undefined behavior if used incorrectly.

- 🧪EXPERIMENTAL🧪 [Ray Tracing](./etc/specs/ray_tracing.md).
- 🧪EXPERIMENTAL🧪 [Ray Tracing](./docs/api-specs/ray_tracing.md).

## Supported Platforms

Expand Down Expand Up @@ -263,4 +263,4 @@ wgpu uses the coordinate systems of D3D and Metal:

| Render | Texture |
| --------------------------------------------------- | ----------------------------------------------------- |
| ![render_coordinates](./etc/render_coordinates.png) | ![texture_coordinates](./etc/texture_coordinates.png) |
| ![render_coordinates](./docs/render_coordinates.png) | ![texture_coordinates](./docs/texture_coordinates.png) |
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes
1 change: 0 additions & 1 deletion examples/features/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ bytemuck.workspace = true
cfg-if.workspace = true
encase = { workspace = true, features = ["glam"] }
flume.workspace = true
getrandom.workspace = true
glam = { workspace = true, features = ["bytemuck"] }
ktx2.workspace = true
log.workspace = true
Expand Down
10 changes: 3 additions & 7 deletions examples/features/src/repeated_compute/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
//! hello-compute example does not such as mapping buffers
//! and why use the async channels.
use nanorand::Rng;

const OVERFLOW: u32 = 0xffffffff;

async fn run() {
Expand All @@ -13,7 +15,7 @@ async fn run() {

for _ in 0..10 {
for p in numbers.iter_mut() {
*p = generate_rand() as u32;
*p = nanorand::tls_rng().generate::<u16>() as u32;
}

compute(&mut numbers, &context).await;
Expand All @@ -29,12 +31,6 @@ async fn run() {
}
}

fn generate_rand() -> u16 {
let mut bytes = [0u8; 2];
getrandom::getrandom(&mut bytes[..]).unwrap();
u16::from_le_bytes(bytes)
}

async fn compute(local_buffer: &mut [u32], context: &WgpuContext) {
log::info!("Beginning GPU compute on data {local_buffer:?}.");
// Local buffer contents -> GPU storage buffer
Expand Down
Loading

0 comments on commit 5d5d587

Please sign in to comment.