KhronosGroup / KhronosGroup/SPIRV-Tools

spirv-fuzz: Add RMW instructions

Open
#4,419 3 comments 0 reactions 0 assignees View on GitHub
component:fuzzer
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.