mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
nir/opt_uniform_atomics: fix elect detection
fossil-db (GFX10.3): Totals from 30 (0.02% of 139391) affected shaders: SGPRs: 1736 -> 1712 (-1.38%) CodeSize: 262116 -> 254728 (-2.82%) Instrs: 50341 -> 48857 (-2.95%) Cycles: 486384 -> 477556 (-1.82%) VMEM: 4821 -> 4589 (-4.81%) Copies: 5013 -> 4890 (-2.45%) Branches: 2108 -> 1983 (-5.93%) PreSGPRs: 1444 -> 1418 (-1.80%) Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8654>
This commit is contained in:
parent
eb70c52abe
commit
f8072c133d
1 changed files with 3 additions and 5 deletions
|
|
@ -128,13 +128,11 @@ get_dim(nir_ssa_scalar scalar)
|
|||
static unsigned
|
||||
match_invocation_comparison(nir_ssa_scalar scalar)
|
||||
{
|
||||
if (!nir_ssa_scalar_is_alu(scalar))
|
||||
return 0;
|
||||
|
||||
if (nir_ssa_scalar_alu_op(scalar) == nir_op_iand) {
|
||||
bool is_alu = nir_ssa_scalar_is_alu(scalar);
|
||||
if (is_alu && nir_ssa_scalar_alu_op(scalar) == nir_op_iand) {
|
||||
return match_invocation_comparison(nir_ssa_scalar_chase_alu_src(scalar, 0)) |
|
||||
match_invocation_comparison(nir_ssa_scalar_chase_alu_src(scalar, 1));
|
||||
} else if (nir_ssa_scalar_alu_op(scalar) == nir_op_ieq) {
|
||||
} else if (is_alu && nir_ssa_scalar_alu_op(scalar) == nir_op_ieq) {
|
||||
if (!nir_ssa_scalar_chase_alu_src(scalar, 0).def->divergent)
|
||||
return get_dim(nir_ssa_scalar_chase_alu_src(scalar, 1));
|
||||
if (!nir_ssa_scalar_chase_alu_src(scalar, 1).def->divergent)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue