projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
55f14a1
)
freedreno/ir3: separate arrays from groups
author
Rob Clark
<robdclark@gmail.com>
Mon, 29 Jan 2018 17:32:24 +0000
(12:32 -0500)
committer
Rob Clark
<robdclark@gmail.com>
Sat, 10 Feb 2018 19:54:58 +0000
(14:54 -0500)
Signed-off-by: Rob Clark <robdclark@gmail.com>
src/gallium/drivers/freedreno/ir3/ir3_group.c
patch
|
blob
|
history
diff --git
a/src/gallium/drivers/freedreno/ir3/ir3_group.c
b/src/gallium/drivers/freedreno/ir3/ir3_group.c
index 2719b6459e31978ebfdc32a9be062b9cda38ab0b..961fae5c1e96c645a30d5a16c8ba8086d0277225 100644
(file)
--- a/
src/gallium/drivers/freedreno/ir3/ir3_group.c
+++ b/
src/gallium/drivers/freedreno/ir3/ir3_group.c
@@
-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))