-
Notifications
You must be signed in to change notification settings - Fork 948
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
Arcanization of wgpu core resources #3626
Conversation
Bump cargo-run-wasm from 0.3.0 to 0.3.2 (gfx-rs#3629)
string::new doesn't take any arguments
Update outdated notice of GL being unsupported (gfx-rs#3638)
Not sure if you're aware, but I believe staging buffers aren't being released currently (run bunnymark, spawn some bunnies and watch the GPU's shared memory usage skyrocket (on Vulkan it spams |
@Elabajaba it should be fixed now :) |
Integrating last master changes
I've fixed the compiler errors for the Metal backend (should I open a pull request on your branch @gents83?) but there's a final issue to solve: when shutting down a wgpu application using the Metal backend, the following errors occur:
I have checked the current trunk/master branch of upstream wgpu and can confirm these errors do not occur there. |
Lovely! Sure - let's do that, I'll review it and merge it if possible 👍
Ah! Oki - it's possible that there is some missing Arc between fence and command buffer from the message and the Command Buffer is getting released before the fence (or maybe it's just a wrong destruction order). |
Trying to debug it right now, and actually a command buffer associated with the wait value (or higher) is never added to the fence. The last command buffer to be added always has a value of On upstream, the last Edit 1: Maybe I'm missing something, but I've debug-logged all increments to
Edit 2: From https://doc.rust-lang.org/std/sync/atomic/struct.AtomicU64.html#method.fetch_add:
Am I right to assume that all calls to Edit 2: Yup, this seems to fix it! I'll open another PR on your branch so you can review @gents83 |
From https://doc.rust-lang.org/std/sync/atomic/struct.AtomicU64.html#method.fetch_add: > Adds to the current value, returning the previous value.
Tested on my own project: with my proposed changes this PR nows builds on all platforms: https://github.com/niklaskorz/linon/actions/runs/4638085286 Unfortunatly, wgpu still does not run on the web, but that is tracked in rust-lang/cargo#3430. |
Fix compiler errors for Metal backend
Fix usage of active_submission_index.fetch_add
Fix release build
I ran into some deadlocks that happen on both trunk and this branch in #4686, so I submitted a fix against this branch here: gents83#17 |
@SludgePhD Nice! The plan is to merge this on monday, so I suspect we should wait post merge to fix a pre-existing issue. |
Shorten lock durations to avoid deadlocks - thanks a lot @SludgePhD :)
Alright, brace yourselves folks! 🥁 |
@teoxoy with some latest changes from trunk I had that test in particular failing if separated in different sumbissions. |
…6978ae2d251. r=webgpu-reviewers,supply-chain-reviewers,ErichDonGubler,teoxoy Note: This revision contains the arcanization work # Changelog * #4702 Add `WasmNotSendSync` By daxpedda in gfx-rs/wgpu#4702 * #4707 Add more metal keywords By fornwall in gfx-rs/wgpu#4707 * #4706 [naga] remove `span` and `validate` features By teoxoy in gfx-rs/wgpu#4706 * #4709 [dx12] filter out haswell iGPUs By teoxoy in gfx-rs/wgpu#4709 * #4712 Fix typo in pull request template. By jimblandy in gfx-rs/wgpu#4712 * #4598 Add more lints By daxpedda in gfx-rs/wgpu#4598 * #4713 [naga wgsl-in] Include base when printing pointer and array types. By jimblandy in gfx-rs/wgpu#4713 * #4718 [vk] check that adapters are Vulkan compliant By teoxoy in gfx-rs/wgpu#4718 * #4719 [naga] Let constant evaluation of `As` preserve `Splat` expressions. By jimblandy in gfx-rs/wgpu#4719 * #4725 Corrects typo in examples FrameCounter By cantudo in gfx-rs/wgpu#4725 * #3626 Arcanization of wgpu core resources By gents83 in gfx-rs/wgpu#3626 Differential Revision: https://phabricator.services.mozilla.com/D194048
…6978ae2d251. r=webgpu-reviewers,supply-chain-reviewers,ErichDonGubler,teoxoy Note: This revision contains the arcanization work # Changelog * #4702 Add `WasmNotSendSync` By daxpedda in gfx-rs/wgpu#4702 * #4707 Add more metal keywords By fornwall in gfx-rs/wgpu#4707 * #4706 [naga] remove `span` and `validate` features By teoxoy in gfx-rs/wgpu#4706 * #4709 [dx12] filter out haswell iGPUs By teoxoy in gfx-rs/wgpu#4709 * #4712 Fix typo in pull request template. By jimblandy in gfx-rs/wgpu#4712 * #4598 Add more lints By daxpedda in gfx-rs/wgpu#4598 * #4713 [naga wgsl-in] Include base when printing pointer and array types. By jimblandy in gfx-rs/wgpu#4713 * #4718 [vk] check that adapters are Vulkan compliant By teoxoy in gfx-rs/wgpu#4718 * #4719 [naga] Let constant evaluation of `As` preserve `Splat` expressions. By jimblandy in gfx-rs/wgpu#4719 * #4725 Corrects typo in examples FrameCounter By cantudo in gfx-rs/wgpu#4725 * #3626 Arcanization of wgpu core resources By gents83 in gfx-rs/wgpu#3626 Differential Revision: https://phabricator.services.mozilla.com/D194048
…6978ae2d251. r=webgpu-reviewers,supply-chain-reviewers,ErichDonGubler,teoxoy Note: This revision contains the arcanization work # Changelog * #4702 Add `WasmNotSendSync` By daxpedda in gfx-rs/wgpu#4702 * #4707 Add more metal keywords By fornwall in gfx-rs/wgpu#4707 * #4706 [naga] remove `span` and `validate` features By teoxoy in gfx-rs/wgpu#4706 * #4709 [dx12] filter out haswell iGPUs By teoxoy in gfx-rs/wgpu#4709 * #4712 Fix typo in pull request template. By jimblandy in gfx-rs/wgpu#4712 * #4598 Add more lints By daxpedda in gfx-rs/wgpu#4598 * #4713 [naga wgsl-in] Include base when printing pointer and array types. By jimblandy in gfx-rs/wgpu#4713 * #4718 [vk] check that adapters are Vulkan compliant By teoxoy in gfx-rs/wgpu#4718 * #4719 [naga] Let constant evaluation of `As` preserve `Splat` expressions. By jimblandy in gfx-rs/wgpu#4719 * #4725 Corrects typo in examples FrameCounter By cantudo in gfx-rs/wgpu#4725 * #3626 Arcanization of wgpu core resources By gents83 in gfx-rs/wgpu#3626 Differential Revision: https://phabricator.services.mozilla.com/D194048 UltraBlame original commit: eb839abb42abde594497e419517260997fa1fc4d
…6978ae2d251. r=webgpu-reviewers,supply-chain-reviewers,ErichDonGubler,teoxoy Note: This revision contains the arcanization work # Changelog * #4702 Add `WasmNotSendSync` By daxpedda in gfx-rs/wgpu#4702 * #4707 Add more metal keywords By fornwall in gfx-rs/wgpu#4707 * #4706 [naga] remove `span` and `validate` features By teoxoy in gfx-rs/wgpu#4706 * #4709 [dx12] filter out haswell iGPUs By teoxoy in gfx-rs/wgpu#4709 * #4712 Fix typo in pull request template. By jimblandy in gfx-rs/wgpu#4712 * #4598 Add more lints By daxpedda in gfx-rs/wgpu#4598 * #4713 [naga wgsl-in] Include base when printing pointer and array types. By jimblandy in gfx-rs/wgpu#4713 * #4718 [vk] check that adapters are Vulkan compliant By teoxoy in gfx-rs/wgpu#4718 * #4719 [naga] Let constant evaluation of `As` preserve `Splat` expressions. By jimblandy in gfx-rs/wgpu#4719 * #4725 Corrects typo in examples FrameCounter By cantudo in gfx-rs/wgpu#4725 * #3626 Arcanization of wgpu core resources By gents83 in gfx-rs/wgpu#3626 Differential Revision: https://phabricator.services.mozilla.com/D194048 UltraBlame original commit: eb839abb42abde594497e419517260997fa1fc4d
…6978ae2d251. r=webgpu-reviewers,supply-chain-reviewers,ErichDonGubler,teoxoy Note: This revision contains the arcanization work # Changelog * #4702 Add `WasmNotSendSync` By daxpedda in gfx-rs/wgpu#4702 * #4707 Add more metal keywords By fornwall in gfx-rs/wgpu#4707 * #4706 [naga] remove `span` and `validate` features By teoxoy in gfx-rs/wgpu#4706 * #4709 [dx12] filter out haswell iGPUs By teoxoy in gfx-rs/wgpu#4709 * #4712 Fix typo in pull request template. By jimblandy in gfx-rs/wgpu#4712 * #4598 Add more lints By daxpedda in gfx-rs/wgpu#4598 * #4713 [naga wgsl-in] Include base when printing pointer and array types. By jimblandy in gfx-rs/wgpu#4713 * #4718 [vk] check that adapters are Vulkan compliant By teoxoy in gfx-rs/wgpu#4718 * #4719 [naga] Let constant evaluation of `As` preserve `Splat` expressions. By jimblandy in gfx-rs/wgpu#4719 * #4725 Corrects typo in examples FrameCounter By cantudo in gfx-rs/wgpu#4725 * #3626 Arcanization of wgpu core resources By gents83 in gfx-rs/wgpu#3626 Differential Revision: https://phabricator.services.mozilla.com/D194048 UltraBlame original commit: eb839abb42abde594497e419517260997fa1fc4d
@gents83 |
Oh! I am guessing that is because I removed the surface_as_hal_mut()? Is it the only case where it's needed? |
As it's a platform feature, I exposed it as mut: #3123, I don't know if it is appropriate to add surface initialization parameter. |
Connections
Closes #2710
Closes #4139
Closes #3193
Closes #4686
Steps done:
STATUS: