summaryrefslogtreecommitdiffstats
path: root/src/mesa/program/register_allocate.c
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2013-05-06 13:47:27 -0700
committerEric Anholt <[email protected]>2013-05-29 10:16:44 -0700
commit7e7600d10b9bf29d23b1aefc5c208fc73a21163f (patch)
tree5f30ed2bce72d598d90ef28fa1497e646ea79a8d /src/mesa/program/register_allocate.c
parent22f1add9687ac272bc731b6612bfee50bdbf2f7e (diff)
mesa: Fix test for optimistic coloring being necessary.
i965 and radeon use ra_set_node_reg() to force payload registers to specific registers while exposing those registers to the allocator still. We were treating those register nodes as unsuccessfully allocated in the ra_simplify() step, leading to walking the registers again to do optimistic coloring even if there was nothing left ot do. Acked-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/program/register_allocate.c')
-rw-r--r--src/mesa/program/register_allocate.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mesa/program/register_allocate.c b/src/mesa/program/register_allocate.c
index b8472a21093..16739fd3982 100644
--- a/src/mesa/program/register_allocate.c
+++ b/src/mesa/program/register_allocate.c
@@ -437,7 +437,7 @@ ra_simplify(struct ra_graph *g)
}
for (i = 0; i < g->count; i++) {
- if (!g->nodes[i].in_stack)
+ if (!g->nodes[i].in_stack && g->nodes[i].reg == -1)
return GL_FALSE;
}