Skip to content

chore(deps): update wgpu requirement from 29 to 30#1073

Merged
andymai merged 2 commits into
mainfrom
dependabot/cargo/wgpu-30
Jul 13, 2026
Merged

chore(deps): update wgpu requirement from 29 to 30#1073
andymai merged 2 commits into
mainfrom
dependabot/cargo/wgpu-30

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 13, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on wgpu to permit the latest version.

Changelog

Sourced from wgpu's changelog.

v30.0.0 (2026-07-01)

Major changes

Optional vertex buffer slots

This allows gaps in VertexState's buffers and adds support for unbinding vertex buffers, bringing us in compliance with the WebGPU spec. As a result of this, VertexState's buffers field now has type of &[Option<VertexBufferLayout>]. To migrate, wrap vertex buffer layouts in Some:

  let vertex_state = wgpu::VertexState {
      module: &vs_module,
      entry_point: Some("vs_main"),
      compilation_options: wgpu::PipelineCompilationOptions::default(),
      buffers: &[
-         &vertex_buffer_layout
+         Some(&vertex_buffer_layout)
      ],
  };

By @​teoxoy in #9351.

Integer shader I/O no longer defaults to @interpolate(flat)

To align with the shading language specifications, naga no longer assumes that integer-typed shader I/O should have flat interpolation, i.e., should not be interpolated. Even though flat interpolation is the only choice for integer I/O, it must be still specified explicitly.

WGSL:

 struct FragmentInput {
     @location(0) tex_coord: vec2<f32>,
-    @location(1) index: i32,
+    @location(1) @interpolate(flat) index: i32,
 }

GLSL:

-layout(location = 1) in int index;
+layout(location = 1) flat in int index;

By @​andyleiserson in #9321.

Empty buffer slices are now permitted

Creating a BufferSlice with a length of 0 no longer causes a panic.

Empty buffer slices can be:

... (truncated)

Commits
  • 8bf3e5f Update to v30 (#9790)
  • aa2b790 [core] filter native-only features and limits if
  • 2ea3a1d [vulkan] advertise DownlevelFlags::SURFACE_VIEW_FORMATS if `VK_KHR_swapchai...
  • 69e66d8 add DENO_WEBGPU_STRICT_COMPLIANCE and set it for the CTS job
  • 995ee7b add Limits::max_buffers_and_acceleration_structures_per_shader_stage
  • 0853e7b fix: gate on static_dxc not static-dxc (#9785)
  • 979ab2b [core] IDed encoders needs to be dropped (#9782)
  • 0cc48c8 fix(core): Track initialization status of 3D textures (#9765)
  • a353ba9 Fix signed % wrong for negative operands on NVIDIA (OpSRem poison without mai...
  • 7877b76 [core] Move begin_*_pass to CommandEncoder and do only ID resolve in glob...
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Summary by cubic

Upgrade wgpu from 29 to 30 and migrate render code to the new API, including optional vertex buffer slots and updated surface/present behavior.

  • Dependencies

    • Bumped wgpu 29 -> 30 in crates/render/Cargo.toml.
  • Migration

    • Update VertexState to use buffers: &[Option<VertexBufferLayout>] and wrap layouts in Some(...).
    • Adjust API usage: set RequestAdapterOptions.apply_limit_buckets = false, add SurfaceConfiguration.color_space = Auto, present via Queue::present(frame), and handle Result from get_mapped_range().

Written for commit 7f9ecc9. Summary will update on new commits.

Review in cubic

Updates the requirements on [wgpu](https://github.com/gfx-rs/wgpu) to permit the latest version.
- [Release notes](https://github.com/gfx-rs/wgpu/releases)
- [Changelog](https://github.com/gfx-rs/wgpu/blob/trunk/CHANGELOG.md)
- [Commits](gfx-rs/wgpu@wgpu-v29.0.1...v30.0.0)

---
updated-dependencies:
- dependency-name: wgpu
  dependency-version: 30.0.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Jul 13, 2026
@greptile-apps

greptile-apps Bot commented Jul 13, 2026

Copy link
Copy Markdown

PR author is in the excluded authors list.

@github-actions

Copy link
Copy Markdown
Contributor

WASM Binary Size

File main PR Delta
brepkit_wasm.wasm 5.76 MB 5.76 MB 0 KB (0%)

✅ No size change.

wgpu 30 introduces breaking changes that the 29→30 bump surfaced in
brepkit-render:

- RequestAdapterOptions gained `apply_limit_buckets` (limit bucketing).
- VertexState `buffers` entries are now `Option<VertexBufferLayout>`.
- SurfaceConfiguration gained `color_space` (SurfaceColorSpace::Auto).
- BufferView `get_mapped_range` now returns a Result.
- Presentation moved from SurfaceTexture::present to Queue::present.
@andymai andymai enabled auto-merge (squash) July 13, 2026 14:53
@andymai andymai merged commit 21d018e into main Jul 13, 2026
19 checks passed
@andymai andymai deleted the dependabot/cargo/wgpu-30 branch July 13, 2026 14:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant