aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2012-10-03 10:03:22 -0700
committerEric Anholt <[email protected]>2012-10-10 13:22:56 -0700
commitd4bcc6591812ebe72a363cf98371de5e5016f481 (patch)
tree90b2c98da46e8a3c4d2815559f15761a648c7e5b /src/mesa/drivers/dri/i965/brw_vec4_emit.cpp
parent9237f0ea8d176fb5dcd41868dcc723fe34f6b1f3 (diff)
i965/vs: Try again when we've successfully spilled a reg.
Before, we'd spill one reg, then continue on without actually register allocating, then assertion fail when we tried to use a vgrf number as a register number. Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_vec4_emit.cpp')
-rw-r--r--src/mesa/drivers/dri/i965/brw_vec4_emit.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp b/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp
index 22671f3f6ce..5a941d90c30 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp
@@ -823,7 +823,10 @@ vec4_visitor::run()
}
}
- reg_allocate();
+ while (!reg_allocate()) {
+ if (failed)
+ break;
+ }
if (failed)
return false;