[Mesa-dev] [PATCH] i965: Use NIR by default for vertex shaders on GEN8+
Matt Turner
mattst88 at gmail.com
Thu May 7 18:17:46 PDT 2015
On Thu, May 7, 2015 at 4:50 PM, Jason Ekstrand <jason at jlekstrand.net> wrote:
> GLSL IR vs. NIR shader-db results for SIMD8 vertex shaders on Broadwell:
>
> total instructions in shared programs: 2724483 -> 2711790 (-0.47%)
> instructions in affected programs: 1860859 -> 1848166 (-0.68%)
> helped: 4387
> HURT: 4758
> GAINED: 1499
>
> The gained programs are ARB vertext programs that were previously going
> through the vec4 backend. Now that we have prog_to_nir, ARB vertex
> programs can go through the scalar backend so they show up as "gained" in
> the shader-db results.
Again, I'm kind of confused and disappointed that we're just okay with
hurting 4700 programs without more analysis. I guess I'll go do
that...
I'm concerned -- lots of shaders like left-4-dead-2/low/3699 go from
297 -> 161 instructions. More concerning, the number of send
instructions drop from 36 to 12, and a loop that was 111 instructions
long suddenly becomes
START B1 <-B0 <-B2
cmp.ge.f0(8) null g42<8,8,1>D g7<0,1,0>D
(+f0) break(8) JIP: 24 UIP: 24
END B1 ->B3 ->B2
START B2 <-B1
add(8) g42<1>D g42<8,8,1>D 1D
while(8) JIP: -32
END B2 ->B1
That deserves a lot more investigation. I'll take a gamble and say
something is broken.
More information about the mesa-dev
mailing list