diff options
author | Ben Skeggs <[email protected]> | 2010-08-28 18:10:09 +0200 |
---|---|---|
committer | Christoph Bumiller <[email protected]> | 2010-09-01 18:02:50 +0200 |
commit | e02c63bc10fd935537441917a10fef63fb3f9bfa (patch) | |
tree | 87655437ed41d44a7c1d75549171e26108040bd5 /src/gallium/drivers | |
parent | 7145ab214f1bd0d84671936dddb87db05f2861f6 (diff) |
nv50: DPH
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r-- | src/gallium/drivers/nv50/nv50_tgsi_to_nc.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c b/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c index 0ea2912846d..5ac61f108e4 100644 --- a/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c +++ b/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c @@ -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); |