KhronosGroup / KhronosGroup/SPIRV-Tools
spirv-fuzz: Add RMW instructions
- Dominant language
- C++
- Stars
- 1.4k
- Forks
- 709
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 28
Description
Add a transformation (and associated fuzzer pass) to add atomic RMW instructions to the module.
The transformation should cover all of the RMW instructions available with the Shader capability.
We can add an RMW operating on any SSBO or workgroup pointer from a dead block
We can add an RMW operating on any SSBO or workgroup pointer with the "pointee is irrelevant" fact from any block
Contributor guide
Research direction
Start by locating the existing spirv-fuzz transformation and fuzzer-pass implementations that handle instruction insertion and pointer facts. Confirm the design covers every RMW instruction available with the Shader capability and both permitted SSBO/workgroup pointer cases, then verify the associated fuzzer pass exercises them.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100