diff --git a/src/gallium/drivers/r300/compiler/radeon_pair_schedule.c b/src/gallium/drivers/r300/compiler/radeon_pair_schedule.c index df54b08..4ccbd46 100644 --- a/src/gallium/drivers/r300/compiler/radeon_pair_schedule.c +++ b/src/gallium/drivers/r300/compiler/radeon_pair_schedule.c @@ -1114,7 +1114,8 @@ static void emit_instruction( update_max_score(s, &s->ReadyRGB, &max_score, &max_inst, &max_list); update_max_score(s, &s->ReadyAlpha, &max_score, &max_inst, &max_list); - if (tex_count >= s->max_tex_group || max_score == -1 + if ((tex_count >= s->max_tex_group && s->C->is_r500) + || max_score == -1 || (s->TEXCount > 0 && tex_count == s->TEXCount) || (!s->C->is_r500 && tex_count > 0 && max_score == -1)) { emit_all_tex(s, before);