summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600
diff options
context:
space:
mode:
authorVadim Girlin <[email protected]>2013-07-17 12:05:32 +0400
committerVadim Girlin <[email protected]>2013-07-17 18:27:30 +0400
commit44ebe7291ccd100f9e2ad8d5b7f86e9844ad6f3c (patch)
tree39b7c306d28178a3e145d69952aa64aedaf0376f /src/gallium/drivers/r600
parentf0d881106a5643521e5f2c75d3d38a9c4e0a35fc (diff)
r600g/sb: fix initial register allocation
Mark values that are members of the 'same register' constraint as preallocated in ra_init pass, this will prevent incorrect reallocation in scheduler in some cases. Should fix https://bugs.freedesktop.org/show_bug.cgi?id=66713 Signed-off-by: Vadim Girlin <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600')
-rw-r--r--src/gallium/drivers/r600/sb/sb_ra_coalesce.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/sb/sb_ra_coalesce.cpp b/src/gallium/drivers/r600/sb/sb_ra_coalesce.cpp
index 582f553db0e..7f388af6e81 100644
--- a/src/gallium/drivers/r600/sb/sb_ra_coalesce.cpp
+++ b/src/gallium/drivers/r600/sb/sb_ra_coalesce.cpp
@@ -593,6 +593,7 @@ int coalescer::color_reg_constraint(ra_constraint *c) {
color_chunk(cc, color);
cc->fix();
+ cc->set_prealloc();
}
return 0;