Skip to content

[spv-in] Atomics support #4489

Closed
Closed
@schell

Description

@schell

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 a rust-gpu shader) leads to a parse error:

UnsupportedInstruction(Function, AtomicIIncrement)

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions