[Mesa-dev] [PATCH] i965/shader: Don't use OptimizeForAOS for NIR vec4 vertex shaders
Eduardo Lima Mitev
elima at igalia.com
Mon Aug 10 12:11:11 PDT 2015
On 08/07/2015 11:22 PM, Jason Ekstrand wrote:
> Shader-db results for vec4 programs using NIR on HSW:
>
> total instructions in shared programs: 1838157 -> 1828469 (-0.53%)
> instructions in affected programs: 275978 -> 266290 (-3.51%)
> helped: 2827
> HURT: 244
> GAINED: 0
> LOST: 0
> ---
I confirm these improvements, and see no piglit or dEQP regressions.
OptimizeForAOS option is lowering the GLSL-IR fdot operations in a way
that makes NIR-vec4 inefficient.
Reviewed-by: Eduardo Lima Mitev <elima at igalia.com>
> src/mesa/drivers/dri/i965/brw_shader.cpp | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp
> index 97f32a8..90ec7a4 100644
> --- a/src/mesa/drivers/dri/i965/brw_shader.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_shader.cpp
> @@ -129,8 +129,8 @@ brw_compiler_create(void *mem_ctx, const struct brw_device_info *devinfo)
> */
> compiler->glsl_compiler_options[MESA_SHADER_VERTEX].EmitNoIndirectOutput = true;
> compiler->glsl_compiler_options[MESA_SHADER_VERTEX].EmitNoIndirectTemp = true;
> + compiler->glsl_compiler_options[MESA_SHADER_VERTEX].OptimizeForAOS = false;
> }
> - compiler->glsl_compiler_options[MESA_SHADER_VERTEX].OptimizeForAOS = false;
>
> compiler->glsl_compiler_options[MESA_SHADER_VERTEX].NirOptions = nir_options;
> }
>
More information about the mesa-dev
mailing list