[Mesa-dev] [PATCH 00/10] i965/fs: Combine constants and unconditionally emit MADs

Matt Turner mattst88 at gmail.com
Mon Feb 9 14:17:33 PST 2015


On Mon, Feb 9, 2015 at 7:05 AM, Eero Tamminen <eero.t.tamminen at intel.com> wrote:
> Hi,
>
> On 02/05/2015 06:21 AM, Matt Turner wrote:
>>
>> total instructions in shared programs: 5895414 -> 5747578 (-2.51%)
>> instructions in affected programs:     3618111 -> 3470275 (-4.09%)
>> helped:                                20492
>> HURT:                                  4449
>> GAINED:                                54
>> LOST:                                  146
>>
>> and with NIR, that already emits MADs always:
>>
>> total instructions in shared programs: 7992936 -> 7772474 (-2.76%)
>> instructions in affected programs:     3738730 -> 3518268 (-5.90%)
>> helped:                                22082
>> HURT:                                  3445
>> GAINED:                                70
>> LOST:                                  78
>>
>> There are some particularly exciting individual improvements too:
>>
>> kerbal-space-program/667: FS SIMD8: 1024 -> 561 (-45.21%)
>> kerbal-space-program/676: FS SIMD8: 1021 -> 558 (-45.35%)
>
>
> From how old Kerbal version these shaders are from?

They were added to shader-db in November, so that would be my guess.

> I just noticed that recent Kerbal outputs large amount of register spill &
> alloc failure messages with INTEL_DEBUG=perf, whereas output I've saved from
> a last year Kerbal version, had much less of them.

I don't have anything to offer about those changes, but Kerbal uses
large arrays of immediate values that aren't marked as const and that
they variably index. Ken and I talked about it, and making those
uniforms would make out code significantly better.


More information about the mesa-dev mailing list