i965/vs: Set the PreferDP4 shader compiler option.
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 745a1172772d8cceeafe8056be98779b3cba87ee..69b7e4dead8cff7e1fe918da5d081c03c880a8c7 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;