<p>Fragment shader subgroups are not required to be restricted to a single primitive (and such a restriction would negatively impact performance). So subgroup broadcasting can cross primitive boundaries.</p>
<p>Note that the most recent version of the Vulkan standard states that invocations in the same quad scopes are required to be within the same primitive scope.</p>

CC BY-SA 4.0
2021-03-05T15:02:18.727Z
2021-04-13T15:05:43.067Z
2021-04-13T15:05:43.067Z
Nicol Bolas
<p>Should I expect that every invocation/fragment within a subgroup, when using something like <code>subgroupBroadcast()</code>, will belong to the same triangle?</p>

<vulkan>
How do fragment shader invocations subgroups map onto triangles?
user369070
# How do fragment shader invocations subgroups map onto triangles?

(Asked by: username_0 on 2021-03-05)

Should I expect that every invocation/fragment within a subgroup, when using something like `subgroupBroadcast()`, will belong to the same triangle?

**Tags:** vulkan


---

## 1 answers

### Answer by username_1 on 2021-03-05. Score: 3 | Accepted answer

Fragment shader subgroups are not required to be restricted to a single primitive (and such a restriction would negatively impact performance). So subgroup broadcasting can cross primitive boundaries.

Note that the most recent version of the Vulkan standard states that invocations in the same quad scopes are required to be within the same primitive scope.


---

