Skip to content

Update to wgpu-native v29.0.0.0 (includes updated headers!)#805

Merged
almarklein merged 27 commits into
pygfx:mainfrom
Vipitis:new-headers
Jun 23, 2026
Merged

Update to wgpu-native v29.0.0.0 (includes updated headers!)#805
almarklein merged 27 commits into
pygfx:mainfrom
Vipitis:new-headers

Conversation

@Vipitis

@Vipitis Vipitis commented Apr 10, 2026

Copy link
Copy Markdown
Contributor

as usual... still in progress but I am happy to get into this again and enjoy my free time.

There was a release for v27 with just the header updated, but there were quite a few missing symbols etc, so that release won't really work. So one PR to do both. The headers are also now considered stable. So this might be last major update for a long while.

I will put quite a few code comments in for things I feel like could be improved in the codegen, these are also meant for discussion.

more to come, I will try to keep the commits tidy and topic, since it's quite helpful to look at the individual diffs

TODOs:

  • tests green
  • examples green
  • mem tests green
  • instance flags extras changed quite a bit
  • changelog explaining the breaking changes
  • copy the issue template here?
  • try joined cleaned header
  • the backend extras documentation needs to be updated
    • for immediates
    • the instance extras

Comment thread wgpu/backends/wgpu_native/_ffi.py Outdated
@Vipitis

Vipitis commented Apr 13, 2026

Copy link
Copy Markdown
Contributor Author

I get test failure locally in tests_mem/test_gui_qt.py but CI seems to be happy. I am on rendercanvas main, and there were quite a few changes since. CI seems to have installed 2.6.3 so I guess it's fine. I suspect these test are outdated anyway.

Comment thread docs/backends.rst
Comment thread wgpu/backends/wgpu_native/_api.py
Comment thread wgpu/resources/wgpu.h
@Vipitis Vipitis marked this pull request as ready for review April 23, 2026 08:12
@Vipitis

Vipitis commented Apr 23, 2026

Copy link
Copy Markdown
Contributor Author

apart from a new instance extra WGPUNativeDisplayHandle this should be ready.

The "combined" header is nice for avoiding code duplication and it should theoretically be faster and thinner. I haven't updated the packing or contributor instructions (you need to run codegen locally after downloading the via the script I believe). There could be other problems with people bringing in a custom lib dir etc

Comment thread wgpu/backends/wgpu_native/_mappings.py Outdated
Comment thread CHANGELOG.md Outdated
Comment thread wgpu/backends/wgpu_native/_api.py
@almarklein almarklein merged commit 3a7599c into pygfx:main Jun 23, 2026
19 checks passed
@almarklein

Copy link
Copy Markdown
Member

@Vipitis In terms of releasing:

  • Just did a release before merging this.
  • Let's do the smaller tweaks for the recent updates in wgpu-native.
  • Maybe update IDL?
  • Then a new release with only the upstream updates.

@almarklein

Copy link
Copy Markdown
Member

And thanks for the hard work on this one @Vipitis 🙏

@Vipitis

Vipitis commented Jun 23, 2026

Copy link
Copy Markdown
Contributor Author

not sure how much changed in the idl. but some of the newest features around immediates are a mix of idl, webgpu.h and wgpu-core implementation. So you might end up needing a native feature for a bit. As it's likely to be out of sync.

My wgpu-native PRs got merged so if we have a release for that we should make the simplifications here too. Avoids having breaking changes twice.

v29 includes some naga fixes for bugs I filed like two years ago and then managed to fix myself over the winter holidays. So it's great to finally get them here.

@Vipitis Vipitis deleted the new-headers branch June 23, 2026 10:16
@almarklein

Copy link
Copy Markdown
Member

I made a release of wgpu-native: https://github.com/gfx-rs/wgpu-native/releases/tag/v29.0.1.1

I also updated the IDL. It's not too much. Immediates are now public: #815

@almarklein

Copy link
Copy Markdown
Member

@Vipitis I'll leave it up to you to bump to latest wgpu-native, since the biggest change is related to the immediates, which you know very well now :) Or you can wait for wgpu-core 30.0 to land.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants