-
Notifications
You must be signed in to change notification settings - Fork 963
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
[spv-in] Atomics support #4489
Comments
I've submitted a proposal to NLNet to fund this issue. If they accept my proposal I'll likely pick this up after the holidays. |
So |
This is just parsing, not fully translating them, as far as im aware. @schell is that a correct assessment? |
@tombh @cwfitzgerald #5702 was the parsing portion of support for |
Oh snap, how did I miss that! That's awesome |
Great news @schell! I atomically increment your awesomeness 😆 |
OMG that's a good one 🤣 ! 🙇 |
Add support for parsing and executing OpAtomicCompareExchange in the SPIR-V frontend. This concludes the work to support atomics in the SPIR-V frontend, excluding test clean-up. Fixes gfx-rs#6296. Fixes gfx-rs#6590. Connections: - [naga spv-in] Support for OpAtomicCompareExchange gfx-rs#6296 - [spv-in] Atomics support gfx-rs#4489
Add support for parsing and executing OpAtomicCompareExchange in the SPIR-V frontend. This concludes the work to support atomics in the SPIR-V frontend, excluding test clean-up. Fixes gfx-rs#6296. Fixes gfx-rs#6590. Connections: - [naga spv-in] Support for OpAtomicCompareExchange gfx-rs#6296 - [spv-in] Atomics support gfx-rs#4489 Co-authored-by: Jim Blandy <jimb@red-bean.com>
Add support for parsing and executing OpAtomicCompareExchange in the SPIR-V frontend. This concludes the work to support atomics in the SPIR-V frontend, excluding test clean-up. Fixes #6296. Fixes #6590. Connections: - [naga spv-in] Support for OpAtomicCompareExchange #6296 - [spv-in] Atomics support #4489 Co-authored-by: Jim Blandy <jimb@red-bean.com>
Well - this has been great. This work is now all wrapped up and tied with a bow! Thanks @jimblandy ! 🙇 😿 😄 🚀 ☕ ☕ ☕ |
This is amazing! Thank you so much! |
Thank you too, @cwfitzgerald 🙇 :) |
Naga's SPIR-V frontend does not currently handle atomic operations. Using an atomic operation (in this case
spirv_std::arch::atomic_i_increment
in arust-gpu
shader) leads to a parse error:I'm treating this as the tracking issue for adding atomics to the spv frontend.
Milestone 1
Completion of milestone 1 will be a proof-of-strategy, after which that strategy can be re-applied to complete atomics support for all operations. First atomic operations support will be documented in the renderling devlog as a method / PoC to help in the completion of other operations.
Milestone 2
Rinse and repeat, adding support for more atomic operations, until all have been exhausted.
Milestone 3 & Follow up work
Cleaning up tests, bugfixes that might pop up, and generally making this feature more maintainable - tying up any loose ends.
The text was updated successfully, but these errors were encountered: