nv50: DPH
authorBen Skeggs <bskeggs@redhat.com>
Sat, 28 Aug 2010 16:10:09 +0000 (18:10 +0200)
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>
Wed, 1 Sep 2010 16:02:50 +0000 (18:02 +0200)
src/gallium/drivers/nv50/nv50_tgsi_to_nc.c

index 0ea2912..5ac61f1 100644 (file)
@@ -1337,6 +1337,13 @@ bld_instruction(struct bld_context *bld,
       FOR_EACH_DST0_ENABLED_CHANNEL(c, insn)
          dst0[c] = temp;
       break;
+   case TGSI_OPCODE_DPH:
+      src0 = bld_dot(bld, insn, 3);
+      src1 = emit_fetch(bld, insn, 1, 3);
+      temp = bld_insn_2(bld, NV_OP_ADD, src0, src1);
+      FOR_EACH_DST0_ENABLED_CHANNEL(c, insn)
+         dst0[c] = temp;
+      break;
    case TGSI_OPCODE_DST:
       if (insn->Dst[0].Register.WriteMask & 1)
          dst0[0] = bld_imm_f32(bld, 1.0f);