r600g/sb: fix initial register allocation
authorVadim Girlin <vadimgirlin@gmail.com>
Wed, 17 Jul 2013 08:05:32 +0000 (12:05 +0400)
committerVadim Girlin <vadimgirlin@gmail.com>
Wed, 17 Jul 2013 14:27:30 +0000 (18:27 +0400)
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 <vadimgirlin@gmail.com>
src/gallium/drivers/r600/sb/sb_ra_coalesce.cpp

index 582f553db0e18f4d0c6f682edcd787a60f4faead..7f388af6e8169a1f211377461deafa504b39eb5c 100644 (file)
@@ -593,6 +593,7 @@ int coalescer::color_reg_constraint(ra_constraint *c) {
 
                color_chunk(cc, color);
                cc->fix();
+               cc->set_prealloc();
        }
 
        return 0;