-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade to wgpu v24 #17542
Upgrade to wgpu v24 #17542
Conversation
It looks like your PR is a breaking change, but you didn't provide a migration guide. Could you add some context on what users should update when this change get released in a new version of Bevy? |
I've changed how wgpu works with DX12 so that it no longer uses FXC. If wgpu ever defaults to DX12 (I think I've seen people have that happen, despite the fact that I thought VK was supposed to be the default) then it's going to try and use a dynamic DXC and crash since it'll be missing. Users can enable the static DXC feature to fix that, or switch to VK, but it might be a little confusing. Eventually once wgpu's DX12 backend is more stable we should consider making static-dxc on by default, and removing vulkan (and OpenGL) by default for smaller binary sizes. |
Kicking off an example run: TheBevyFlock/bevy-example-runner#108 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Assuming the example runner passes LGTM
@alice-i-cecile good to merge? |
The webgpu failures from the example runner reproduce for me locally (chrome 133, mac/m4 and win11/4080) with the
Expand a lot of errors
|
@pcwalton please review the previous two commits for gpu preprocessing changes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
crates/bevy_render/src/experimental/occlusion_culling/mesh_preprocess_types.wgsl
Show resolved
Hide resolved
The only issue remaining is texture_binding_array fails on macOS on the example runner. Not sure if there's a way to check logs or anything... The fact that it only fails on macOS is probably a wgpu bug though. I'd like to merge this PR, we can look into it later. |
on m1 mac
texture_binding_arraypcssssr
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't break anything with UI or text rendering, I don't know anything about anything else at all.
Seems like a wgpu bug |
CI broke on this in the windows dx12 example runner:
|
JMS55#32 should fix windows dx12 CI |
restore fallback behaviour for dx12 compiler
Didn't remove WgpuWrapper. Not sure if it's needed or not still.
Testing
Migration Guide
WGPU_DX12_COMPILER
environment variable is set at runtime, it is usedstatically-linked-dxc
feature is enabled, a custom version of DXC will be statically linked into your app at compile time.dxcompiler.dll
anddxil.dll
at runtime.