i965/vs: Set the PreferDP4 shader compiler option. 60/6560/1
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 18 Apr 2013 00:30:24 +0000 (17:30 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Sun, 12 May 2013 16:36:44 +0000 (09:36 -0700)
Doing matrix multiplies with DP4s is fewer instructions than MUL/ADD,
especially since we don't support MAD in the vertex shader.

Not observed to improve performance in any fixed function applications,
but is useful for the next patch.

I've left this unset for the fragment shader because the scalar backend
can't use DP4 and does have MAD support.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/dri/i965/brw_context.c

index 745a117..69b7e4d 100644 (file)
@@ -232,6 +232,8 @@ brwCreateContext(int api,
       ctx->ShaderCompilerOptions[i].LowerClipDistance = true;
    }
 
+   ctx->ShaderCompilerOptions[MESA_SHADER_VERTEX].PreferDP4 = true;
+
    ctx->Const.VertexProgram.MaxNativeInstructions = (16 * 1024);
    ctx->Const.VertexProgram.MaxAluInstructions = 0;
    ctx->Const.VertexProgram.MaxTexInstructions = 0;