-
Notifications
You must be signed in to change notification settings - Fork 960
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
Fix for DX12 bug not realesed, affecting downstream users #2592
Comments
It looks like cherry picking 4d7f6eb on top of v0.12 gives the expected behavior. |
I think we would be okay semver wise to cherry pick the wgpu-hal and release it as a patch. |
Now this is a similar but separate issue: vulkan also gives me problems in v0.12, patching with d45e6b4 fixes it. (if you want me to i can create a new issue for this) I feel both this commits could be released as patches without breaking anything. |
I believe ash version is technically a public dependency because of https://github.com/gfx-rs/wgpu/blob/master/wgpu-hal/src/vulkan/adapter.rs#L916 and other "from raw" apis, so it would be a breaking change. It's also an MSRV bump, which we consider breaking. If you'd be up for making a PR for the DX12 fix into the v0.12 branch, that would be much appreciated! |
Uh, I'm not quite convinced that porting 4d7f6eb to 0.12 is the solution here. It just makes the error non-fatal. Not just this error - any validation error. wgpu's goal is to guarantee safety. If a validation error happens, it means we have a logical error to fix. We can't just ignore it and continue like nothing happened. What needs to happen here is somebody looking at the root cause and fixing an actual issue. Alternatively, if Bevy is doing something unexpected, changing Bevy code, as a workaround. |
I think the idea is that this isn't actually a bug in wgpu, this is an acknowledged issue in the d3d12 and dxgi debug layers. |
Yes this should be a bug with d12 and not actually in wgpu, so the fix is really to ignore it i think, this link https://stackoverflow.com/questions/69805245/directx-12-application-is-crashing-in-windows-11 mentions some solutions but i don't know enough d12 to know what it would mean to implement. |
Oh interesting. I suppose it's good news. |
wgpu-hal 0.12.5 is out. |
Description
There is a bug with DX12 that makes wgpu 0.12.0 error and crash. This error has been fixed as of the latest commit, but has not yet been released, which makes for example bevy unusable by affected users.
Attempting to patch using the latest branch is also not an option as it introduces breaking changes.
I would like to know if there is a way of releasing the fix without introducing breaking changes.
Repro steps
cargo run --example boids
Expected vs observed behavior
The expected behavior is that the example works, instead it errors like this:
Extra materials
I bisected the fix to commit 4d7f6eb, i.e. this commit and after it, the expected behavior occurs.
This is the full output of the example when run on 4d7f6eb:
Essentially the error is handled as non fatal and execution can continue without errors (program works as expected).
This is related to the underlying DX12 bug: https://stackoverflow.com/questions/69805245/directx-12-application-is-crashing-in-windows-11
Platform
OS: Windows 11
Integrated GC: AMD Radeon(TM) Graphics
Discrete GC: NVIDIA GeForce GTX 1650 Ti
Environment
RUST_LOG = error,wgpu_core::instance=info
WGPU_POWER_PREF = high
WGPU_BACKEND = DX12
The text was updated successfully, but these errors were encountered: