KhronosGroup / KhronosGroup/Vulkan-Docs

Clarification on WAW AV/VIS

Open
#2,048 0 comments 2 reactions 0 assignees View on GitHub
Memory Model TSG
Dominant language
JavaScript
Stars
3.3k
Forks
549
Avg merge
5d 5h
Merged PRs (30d)
2

Description

The spec says

> If write W2 happens-after W, and their sets of memory locations overlap, then W will not be available/visible to all agents/references for those memory locations that overlap (and future AV/DOM/VIS ops cannot revive W’s write to those locations).

This seems to imply that it is sufficient that W to happen-before W2 without any intervening AV/DOM/VIS op for the W2 writes to supersede W writes. But this would contradict a note earlier in the spec and a sync example about requiring AV/DOM/VIS to handle WAW hazards.

The wording is suspiciously referring to "future" AV/DOM/VIS ops, which may imply that wording was supposed to contain an AV/DOM/VIS op that happens-before W2 and after W (which would be consistent with the note and example).

Could you please clarify this?

Contributor guide

Open the contributing guide

Research direction

Read the cited WAW passage together with the earlier note and synchronization example that discuss AV/DOM/VIS requirements. Determine whether the wording is consistent with those references and identify the intended interpretation. Done means the specification's treatment of the intervening operation is unambiguous.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.