[Mesa-dev] [PATCH] ir_to_mesa: Fix reallocating registers for shaders with loops

Kenneth Graunke kenneth at whitecape.org
Sun Mar 27 10:03:00 PDT 2011


On 03/27/2011 01:17 AM, Tom Stellard wrote:
> Registers that are used inside of loops need to be considered live
> starting with the very first instruction in the loop.
>
> This fixes the following piglit tests on r300:
> - glsl-fs-loop-redundant-condition
> - glsl-vs-loop-redundant-condition
> - glsl-vs-vec4-indexing-temp-dst-in-loop
>
> NOTE: This is a candidate for the 7.9 and 7.10 branches.

This also fixes glsl-vs-loop-redundant-condition on i965.

It doesn't fix glsl-fs-loop-redunant-condition on i965, but that's 
hardly surprising considering we're using a different IR and register 
allocator for FS.

Strangely, glsl-vs-vec4-indexing-temp-dst-inloop already passes on i965. 
  I'm not sure why it would work on i965 but not r300 if the bug is in 
the common code.  But it's quite possible.


More information about the mesa-dev mailing list