Skip to content

Make vertex buffer slots optional - #9351

Merged
andyleiserson merged 8 commits into
gfx-rs:trunkfrom
teoxoy:null-vertex-buffers
Apr 15, 2026
Merged

Make vertex buffer slots optional#9351
andyleiserson merged 8 commits into
gfx-rs:trunkfrom
teoxoy:null-vertex-buffers

Conversation

@teoxoy

@teoxoy teoxoy commented Mar 31, 2026

Copy link
Copy Markdown
Member

Connections
Fixes #7354.
Fixes #8832.
Fixes #7912.

Description
Makes vertex buffer slots optional.

Testing
Enabled more CTS tests.

Squash or Rebase?
Rebase.

@andyleiserson andyleiserson left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! Just a few nits.

Comment thread cts_runner/fail.lst
Comment thread wgpu-core/src/command/bundle.rs Outdated
Comment thread wgpu-core/src/command/render.rs Outdated
Comment thread wgpu-core/src/command/bundle.rs
Comment thread CHANGELOG.md Outdated
@teoxoy
teoxoy force-pushed the null-vertex-buffers branch from bd87a84 to dbecf92 Compare April 13, 2026 15:59
@teoxoy
teoxoy force-pushed the null-vertex-buffers branch from dbecf92 to 484f03c Compare April 14, 2026 13:30
@teoxoy
teoxoy force-pushed the null-vertex-buffers branch from 484f03c to e260948 Compare April 14, 2026 13:47
render bundles

- render passes now defer setting vertex buffers to the start of a draw
  command (same as bundles)
- render bundles now cache vertex/instance limit calculations when
  setting the pipeline or when setting a vertex buffer (same as passes)
@teoxoy
teoxoy force-pushed the null-vertex-buffers branch from 59f943c to f6e06c8 Compare April 14, 2026 16:10
@teoxoy
teoxoy force-pushed the null-vertex-buffers branch from f6e06c8 to d400575 Compare April 14, 2026 16:15

@andyleiserson andyleiserson left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for doing the additional cleanup.

@andyleiserson
andyleiserson merged commit c9c7359 into gfx-rs:trunk Apr 15, 2026
59 checks passed
@teoxoy
teoxoy deleted the null-vertex-buffers branch April 15, 2026 09:59
pull Bot pushed a commit to CrazyForks/bevy that referenced this pull request Jul 16, 2026
# Objective

Upgrade to [wgpu
30](https://github.com/gfx-rs/wgpu/releases/tag/v30.0.0)

## Solution

- [x] Update and merge
[naga_oil](bevyengine/naga_oil#139)
	- [x] Publish naga_oil
- [x] Update and merge
[dlss_wgpu](bevyengine/dlss_wgpu#31)
	- [x] publish dlss_wgpu
- [x] remove dependency patches for naga_oil and dlss_wgpu

### Relevant Changes

- new NoopBackendOptions fields:
gfx-rs/wgpu#9119
- SurfaceColorSpace: gfx-rs/wgpu#9658
- get_mapped_range returns a Result:
gfx-rs/wgpu#9281
- empty BufferSlices no longer panic:
gfx-rs/wgpu#8505
- vertex buffer slots are optional now:
gfx-rs/wgpu#9351
- `SurfaceTexture::present()` has been replaced by
`Queue::present(surface_texture)`:
gfx-rs/wgpu#9361
- Disallow direct access to atomic variables in WGSL front-end (e.g. let
x = myAtomic;) gfx-rs/wgpu#9262. (affects
solari)

## Testing

- [x] 3d_scene
- [x] solari with dlss

## Showcase

#### 3d_scene on macos

<img width="1728" height="1084" alt="image"
src="https://github.com/user-attachments/assets/5ce80506-6924-4359-b469-92c32f06a505"
/>

#### ssao on macos

<img width="1728" height="1084" alt="image"
src="https://github.com/user-attachments/assets/8302ead7-54dc-44f9-8e71-a619d96c499e"
/>

#### bevy_city on macos

<img width="1728" height="1084" alt="image"
src="https://github.com/user-attachments/assets/4db1eba7-1c9b-4c54-95fe-1dc42ffc0e9e"
/>

#### Solari on Windows 11

<img width="1282" height="752" alt="image"
src="https://github.com/user-attachments/assets/2a367a06-f167-4b73-a781-6a2c5e4065dd"
/>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants