Possible fix to _mesa_remove_extra_moves function in shader/prog_optimize.c (request testing)

Conn Clark conn.o.clark at gmail.com
Thu May 6 15:27:06 PDT 2010


On Thu, May 6, 2010 at 2:50 PM, Brian Paul <brianp at vmware.com> wrote:
> Conn Clark wrote:
>>
>> Hello,
>>
>> Here is a possible fix/hack to get _mesa_remove_extra_moves function
>> in shader/prog_optimize.c usable. As far as I could tell with my
>> testing there was an issue with this optimizing pass and OPCODE_MUL .
>> I just added an exception to for this one instruction and made it easy
>> to add others should further testing indicate they need to be added
>> too.
>>
>> It bumped my Nexuiz scores on demo1 from 5,8,and 12 to 5,9, and 13. It
>> also reduced the testing runtime from 234 seconds to 225 seconds.
>>
>>
>> I have only tested on my radeon hd 3100 based laptop but would like to
>> hear results from other types of cards too.
>
> I'm a bit nervous about enabling that function without a _lot_ more testing.
>  And any special case added for MUL would seem to apply to any ALU
> instruction.  That tells me that there's probably other issues to shake out
> of the code before we can enable it.
>
> If you're interested, you should at least run the glean and piglits tests
> which exercise shaders and GPU programs.
>
> -Brian
>

Brian,

 I couldn't agree more about the testing and that is the stage where I
am at. If you read my patch you probably noticed that I had a few ALU
instructions ready to drop into the problematic slot. Of course there
is still the chance that the MUL problem is with the R600/R700 support
itself. So far I have had only 3 testers besides myself (all of them
radeon users).  None of them has reported any problems yet. I will run
piglet and try and get glean running however.

Please don't take my current work as a push to get it included yet.

Thanks for your original work.

Conn
-- 

Conn O. Clark

Observation: In formal computer science advances are made
by standing on the shoulders of giants. Linux has proved
that if there are enough of you, you can advance just as
far by stepping on each others toes.


More information about the dri-devel mailing list