[Mesa-dev] [PATCH 3/3] glsl: Reassociate multiplication of mat*mat*vec.

Jason Ekstrand jason at jlekstrand.net
Wed Apr 1 09:53:56 PDT 2015


On Mon, Mar 30, 2015 at 11:54 AM, Matt Turner <mattst88 at gmail.com> wrote:
> On Sat, Mar 28, 2015 at 11:03 AM, Jason Ekstrand <jason at jlekstrand.net> wrote:
>> On Fri, Mar 27, 2015 at 9:22 PM, Matt Turner <mattst88 at gmail.com> wrote:
>>> The typical case of mat4*mat4*vec4 is 80 scalar multiplications, but
>>> mat4*(mat4*vec4) is only 32.
>>>
>>> On HSW (with vec4 vertex shaders):
>>> instructions in affected programs:     4420 -> 3194 (-27.74%)
>>>
>>> On BDW (with scalar vertex shaders):
>>> instructions in affected programs:     12756 -> 6726 (-47.27%)
>>
>> Do you have any actual benchmark results with something that's
>> affected?  That would be nice to know.
>
> OglDrvShComp: 2.17761% +/- 0.324342% (n=12)
>
> It draws a bunch of different scenes (from other benchmarks), so I
> tried some of the other benchmarks, but couldn't find anything
> interesting. I'm guessing the patch is just improving compile
> performance which affects this benchmark.
>
> IIRC this is the one that Ken's loop unrolling patch really harmed
> performance of, so yeah, it's probably because of compile performance.
> Not interesting.

That's dissapointing.  It's probably worth it for VS.
--Jason


More information about the mesa-dev mailing list