freedreno/ir3: separate arrays from groups

Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
Rob Clark 2018-01-29 12:32:24 -05:00
parent 55f14a1ac4
commit 0a6ddf964f

View file

@ -137,6 +137,14 @@ restart:
if (instr->opc == OPC_META_PHI)
conflict = true;
/* Mixing array elements and higher register classes
* (ie. groups) doesn't really work out in RA. See:
*
* https://trello.com/c/DqeDkeVf/156-bug-with-stk-70frag
*/
if (instr->regs[0]->flags & IR3_REG_ARRAY)
conflict = true;
/* we also can't have an instr twice in the group: */
for (j = i + 1; (j < n) && !conflict; j++)
if (in_neighbor_list(ops->get(arr, j), instr, i))