Skip to content

Conversation

@Vipitis
Copy link
Contributor

@Vipitis Vipitis commented Sep 14, 2025

We now have a wgpu-native release for v27.0.2.0 skipping wgpu26
I should note that webgpu.h is very much out of sync and will likely require a lot more changes, there is also a PR for that: gfx-rs/wgpu-native#511

useful links:

Some working changes:

image

todos:

  • working examples
  • passing tests
  • wait for wgpu-native release https://github.com/gfx-rs/wgpu-native/releases/tag/v27.0.2.0
  • use the issue template for this PR text, add links diffs
  • multi-draw-indirect has been removed as a native only feature, supported if the downlevel_frag INDIRECT_EXECUTION is supported, which we can't check for.
  • fix panic "Cannot remove a vacant resource" in the buffer destroy mem test, perhaps related to this change: https://github.com/gfx-rs/wgpu/blob/ee0719f2d84d99ad1a878c42afe8572dfc98276a/CHANGELOG.md?plain=1#L209
  • check if depthSlice now works
  • device.destroy() and query_set.destroy() might work now
  • new instance extras regarding memory limits
  • retest fatal errors and device lost errors
  • [ ] can hardware raytracing be used now? No, it's an experimental feature which aren't enabled in wgpu-native 😞
  • a lot of tests_mem fail now because there was a change to lifetimes before queue.submit()

@Vipitis Vipitis changed the title [WIP] upgrade to wgpu26 [WIP] upgrade to wgpu-native v27.0.2.0 Oct 5, 2025
@Vipitis Vipitis changed the title [WIP] upgrade to wgpu-native v27.0.2.0 upgrade to wgpu-native v27.0.2.0 Oct 13, 2025
@Vipitis Vipitis marked this pull request as ready for review October 13, 2025 23:12
@Vipitis Vipitis requested a review from Korijn as a code owner October 13, 2025 23:12
@Vipitis
Copy link
Contributor Author

Vipitis commented Oct 13, 2025

Should be ready for review and working now.

The two items left open are device.destroy() and depth_slice_undefined which changed in the upstream diff and might need a proper implementation now.
I am not 100% sure what the device.destroy() method needs as the mem_tests currently pass... The query_set.destroy() is slightly different and was panicking. However I am not sure if my implementation and changes to the test is exactly what we should do.

Copy link
Member

@almarklein almarklein left a comment

Choose a reason for hiding this comment

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

I had a look at the destroy methods. device.destroy() now indeed works! I tweaked the implementation of the queryset.destroy() and added a comment. We should be good for now.

As for depthSlice, fine if you want to look into that now. But can also be done later IMO.

@Vipitis
Copy link
Contributor Author

Vipitis commented Oct 15, 2025

I had a look at the destroy methods. device.destroy() now indeed works! I tweaked the implementation of the queryset.destroy() and added a comment. We should be good for now.

Thanks 🙏

As for depthSlice, fine if you want to look into that now. But can also be done later IMO.

I don't have a use for it myself, so would have to read up on the specifics. It's not crashing anything so should be fine to look into it whenever something comes up later.

@almarklein
Copy link
Member

A new version of Pillow was released yesterday, which builds for pypy are targeted are 311. So I bumped our CI to use the matching pypy.

Copy link
Member

@almarklein almarklein left a comment

Choose a reason for hiding this comment

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

Let's merge this and do a release.

@almarklein almarklein merged commit cbd97e2 into pygfx:main Oct 17, 2025
19 checks passed
@almarklein
Copy link
Member

Thanks Jan! 🙏

@Vipitis
Copy link
Contributor Author

Vipitis commented Oct 17, 2025

Thanks for helping with the finish

@Vipitis Vipitis deleted the wgpu26 branch October 17, 2025 10:25
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.

3 participants