Add subgroup_uniformity language extension#5431
Conversation
* Adds subgroup uniformity language * When supported uniformity analysis is performed at twice (at different scopes)
|
Previews, as seen when this build job started (c5a46a5): |
This strengthening could be done now, uncoupled from the subgroup uniformity change. |
* Add uniformity scope and related definitions and update text to use them * Add a note about combining scopes in the analysis
dneto0
left a comment
There was a problem hiding this comment.
This is much better, thank you.
I think it's not necessary to update the description of the subgroup_uniformity diagnostic.
A call to a subgroup or quad builtin function, but uniformity analysis cannot prove that the call occurs in uniform control flow. Additionally, when uniformity analysis cannot prove that the following parameter values are uniform: ...
I think that still holds, because it inherits the shift in uniformity scope for the subgroup and quad builtins.
It still feels a little inside-out to have the definitions of the uniformity scope in the bullet point for uniform control flow. It feels like it uniformity scopes should be defined more up front in the previous section. But this PR is an improvement to the spec and should not be blocked on that. (Also, I want to draft what I have in mind to see if it reads better.)
Spec: gpuweb/gpuweb#5431 CTS: gpuweb/cts#4516 Both are approved and waiting for final coordination to land. Fixed: 454979994 Change-Id: I7e20e3360536040941d7d7181d79bf111da05a63 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7236332 Commit-Queue: Alan Baker <alanbaker@google.com> Reviewed-by: Brandon Jones <bajones@chromium.org> Cr-Commit-Position: refs/heads/main@{#1557102}
Spec PR merged here: gpuweb/gpuweb#5431 Co-authored-by: Kai Ninomiya <kainino@chromium.org>
See: #5368