broadcom/compiler: support subgroup quad
These can all be implemented as specialized shuffles, so we use the NIR lowering to do that. Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27211>
This commit is contained in:
committed by
Marge Bot
parent
69d3b90839
commit
93df9800e8
@@ -1594,6 +1594,10 @@ lower_subgroup_intrinsics(struct v3d_compile *c,
|
||||
case nir_intrinsic_vote_any:
|
||||
case nir_intrinsic_vote_feq:
|
||||
case nir_intrinsic_vote_ieq:
|
||||
case nir_intrinsic_quad_broadcast:
|
||||
case nir_intrinsic_quad_swap_horizontal:
|
||||
case nir_intrinsic_quad_swap_vertical:
|
||||
case nir_intrinsic_quad_swap_diagonal:
|
||||
c->has_subgroups = true;
|
||||
break;
|
||||
default:
|
||||
@@ -1715,6 +1719,7 @@ v3d_attempt_compile(struct v3d_compile *c)
|
||||
.lower_inverse_ballot = true,
|
||||
.lower_subgroup_masks = true,
|
||||
.lower_relative_shuffle = true,
|
||||
.lower_quad = true,
|
||||
};
|
||||
NIR_PASS(_, c->s, nir_lower_subgroups, &subgroup_opts);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user