diff --git a/src/gallium/drivers/r300/ci/r300-rv410-fails.txt b/src/gallium/drivers/r300/ci/r300-rv410-fails.txt index bc81dd720e5..1112976b85d 100644 --- a/src/gallium/drivers/r300/ci/r300-rv410-fails.txt +++ b/src/gallium/drivers/r300/ci/r300-rv410-fails.txt @@ -1032,7 +1032,6 @@ spec@glsl-1.10@execution@fs-sign-times-neg,Fail spec@glsl-1.10@execution@fs-sign-times-neg-abs,Fail spec@glsl-1.10@execution@fs-sign-times-sign,Fail spec@glsl-1.10@execution@glsl-1.10-built-in-matrix-state,Fail -spec@glsl-1.10@execution@glsl-fs-convolution-1,Fail spec@glsl-1.10@execution@glsl-fs-convolution-2,Fail spec@glsl-1.10@execution@glsl-fs-if-nested-loop,Fail spec@glsl-1.10@execution@glsl-vs-if-nested-loop,Fail diff --git a/src/gallium/drivers/r300/compiler/radeon_pair_schedule.c b/src/gallium/drivers/r300/compiler/radeon_pair_schedule.c index 19b20e3b679..369ada4b19e 100644 --- a/src/gallium/drivers/r300/compiler/radeon_pair_schedule.c +++ b/src/gallium/drivers/r300/compiler/radeon_pair_schedule.c @@ -1315,7 +1315,10 @@ rc_pair_schedule(struct radeon_compiler *cc, void *user) } else { s.CalcScore = calc_score_r300; } - s.max_tex_group = debug_get_num_option("RADEON_TEX_GROUP", 8); + /* max_tex_group is mostly R500 optimization, for R300-R400 we want to group as much + * as we can, otherwise we risk running out of TEX indirections. + */ + s.max_tex_group = debug_get_num_option("RADEON_TEX_GROUP", cc->is_r500 ? 8 : UINT_MAX); /* First go over and count all TEX. */ while (inst != &c->Base.Program.Instructions) {