r600g/sb: fix value::is_fixed()

This prevents unnecessary (and wrong) register allocation in the
scheduler for preloaded values in fixed registers.

Fixes interpolation-mixed.shader_test on rv770
(and probably on all other pre-evergreen chips).

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Tested-by: Andreas Boll <andreas.boll.dev@gmail.com>
This commit is contained in:
Vadim Girlin
2013-10-29 05:49:21 +04:00
parent 08bf52712e
commit 8bd4476010
+2 -2
View File
@@ -255,8 +255,8 @@ void value::set_prealloc() {
bool value::is_fixed() {
if (array && array->gpr)
return true;
if (chunk)
return chunk->is_fixed();
if (chunk && chunk->is_fixed())
return true;
return flags & VLF_FIXED;
}