i915: Add support for OPCODE_DP2.
authorEric Anholt <eric@anholt.net>
Tue, 17 Aug 2010 22:42:40 +0000 (15:42 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 17 Aug 2010 23:39:17 +0000 (16:39 -0700)
Fixes glsl-fs-dot-vec2.

src/mesa/drivers/dri/i915/i915_fragprog.c

index f1505dc5e73a532d66086cdb26ac5c1cfdbeddc9..2ba0d2c591e251c34249a96393442f2f0a5d851e 100644 (file)
@@ -472,6 +472,18 @@ upload_program(struct i915_fragment_program *p)
                         swizzle(tmp, X, X, X, X));
          break;
 
+      case OPCODE_DP2:
+         src0 = src_vector(p, &inst->SrcReg[0], program);
+         src1 = src_vector(p, &inst->SrcReg[1], program);
+        i915_emit_arith(p,
+                        A0_DP3,
+                         get_result_vector(p, inst),
+                         get_result_flags(inst), 0,
+                        swizzle(src0, X, Y, ZERO, ZERO),
+                        swizzle(src1, X, Y, ZERO, ZERO),
+                        0);
+         break;
+
       case OPCODE_DP3:
          EMIT_2ARG_ARITH(A0_DP3);
          break;