nir: Add ability to lower cross-invocation TCS loads.
This commit adds a new NIR pass which transforms a cross-invocation TCS load into a same-invocation load and a subgroup operation. The subgroup operation is selected based on the TCS input and output vertex counts and whether the VS and TCS have the same number of invocations. Supported subgroup operations are quad_swizze_amd, quad_broadcast and shuffle. Signed-off-by: Timur Kristóf <firstname.lastname@example.org>
Showing with 348 additions and 0 deletions