i965: Use NIR by default for vertex shaders on GEN8+
authorJason Ekstrand <jason.ekstrand@intel.com>
Thu, 7 May 2015 22:07:49 +0000 (15:07 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 18 May 2015 22:32:00 +0000 (15:32 -0700)
GLSL IR vs. NIR shader-db results for SIMD8 vertex shaders on Broadwell:

   total instructions in shared programs: 2742062 -> 2681339 (-2.21%)
   instructions in affected programs:     1514770 -> 1454047 (-4.01%)
   helped:                                5813
   HURT:                                  1120

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.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Acked-by: Matt Turner <mattst88@gmail.com>
src/mesa/drivers/dri/i965/brw_context.c

index 673529a..ea56859 100644 (file)
@@ -590,7 +590,7 @@ brw_initialize_context_constants(struct brw_context *brw)
       ctx->Const.ShaderCompilerOptions[MESA_SHADER_VERTEX].EmitNoIndirectTemp = true;
       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))
          ctx->Const.ShaderCompilerOptions[MESA_SHADER_VERTEX].NirOptions = &nir_options;
    }