Browse Source

r300/compiler: Fix regalloc for values with multiple writers

https://bugs.freedesktop.org/show_bug.cgi?id=40062
https://bugs.freedesktop.org/show_bug.cgi?id=36939

Note: This is a candidate for the 7.11 branch.
tags/mesa-8.0-rc1
Tom Stellard 14 years ago
parent
commit
2d1004d9aa
1 changed files with 6 additions and 3 deletions
  1. 6
    3
      src/gallium/drivers/r300/compiler/radeon_variable.c

+ 6
- 3
src/gallium/drivers/r300/compiler/radeon_variable.c View File

@@ -297,9 +297,12 @@ static void get_variable_helper(
{
struct rc_list * list_ptr;
for (list_ptr = *variable_list; list_ptr; list_ptr = list_ptr->Next) {
if (readers_intersect(variable, list_ptr->Item)) {
rc_variable_add_friend(list_ptr->Item, variable);
return;
struct rc_variable * var;
for (var = list_ptr->Item; var; var = var->Friend) {
if (readers_intersect(var, variable)) {
rc_variable_add_friend(var, variable);
return;
}
}
}
rc_list_add(variable_list, rc_list(&variable->C->Pool, variable));

Loading…
Cancel
Save