[Mesa-dev] [PATCH] i965: Use NIR by default for vertex shaders on GEN8+
jason at jlekstrand.net
Thu May 7 17:44:32 PDT 2015
On May 7, 2015 5:38 PM, "Ian Romanick" <idr at freedesktop.org> wrote:
> On 05/07/2015 04:50 PM, Jason Ekstrand 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"
> > the shader-db results.
> I thought we already did this... why didn't this happen when NIR became
> the default for the FS backend? And has that reason (assuming there was
> one) been resolved?
We couldn't do copy propagation of values in the attribute register file.
That, it turn was blocked on reworking the LOAD_PAYLOAD instruction. I
pushed a series this morning that fixed both of those and cut 7.5% off of
all SIMD8 VS instructions when using NIR. It also helps GLSL IR but by
only 1% or so.
> > ---
> > src/mesa/drivers/dri/i965/brw_context.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> > diff --git a/src/mesa/drivers/dri/i965/brw_context.c
> > index fd7420a..8615e5e 100644
> > --- a/src/mesa/drivers/dri/i965/brw_context.c
> > +++ b/src/mesa/drivers/dri/i965/brw_context.c
> > @@ -588,7 +588,7 @@ brw_initialize_context_constants(struct brw_context
ctx->Const.ShaderCompilerOptions[MESA_SHADER_VERTEX].OptimizeForAOS = false;
> > - if (brw_env_var_as_boolean("INTEL_USE_NIR", false))
> > + if (brw_env_var_as_boolean("INTEL_USE_NIR", true))
> > }
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the mesa-dev