summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_wm_glsl.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-07-02 16:17:50 -0700
committerEric Anholt <eric@anholt.net>2010-07-02 17:06:23 -0700
commit4e7d5d0e74c26cac182cea1be0f6b79bb664ad8c (patch)
treec71ecff054e381538c1c136f41c46f65f0aa2e43 /src/mesa/drivers/dri/i965/brw_wm_glsl.c
parent8f25d198e54a117b36e68582977a644d085a4a94 (diff)
downloadexternal_mesa3d-4e7d5d0e74c26cac182cea1be0f6b79bb664ad8c.zip
external_mesa3d-4e7d5d0e74c26cac182cea1be0f6b79bb664ad8c.tar.gz
external_mesa3d-4e7d5d0e74c26cac182cea1be0f6b79bb664ad8c.tar.bz2
i965: Add support for the DP2 opcode, which we use for dot(vec2, vec2).
The original glsl compiler would generate a.x * b.x + a.y * b.y, which we would do mul+mul+add for instead of this mul+mac. Fixes glsl-fs-dot-vec2.
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_wm_glsl.c')
-rw-r--r--src/mesa/drivers/dri/i965/brw_wm_glsl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_wm_glsl.c b/src/mesa/drivers/dri/i965/brw_wm_glsl.c
index e23ce7a..57be08a 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_glsl.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_glsl.c
@@ -1903,6 +1903,9 @@ static void brw_wm_emit_glsl(struct brw_context *brw, struct brw_wm_compile *c)
case OPCODE_SWZ:
emit_alu1(p, brw_MOV, dst, dst_flags, args[0]);
break;
+ case OPCODE_DP2:
+ emit_dp2(p, dst, dst_flags, args[0], args[1]);
+ break;
case OPCODE_DP3:
emit_dp3(p, dst, dst_flags, args[0], args[1]);
break;