Am 16.12.2015 um 23:40 schrieb Ilia Mirkin: > On Tue, Dec 15, 2015 at 6:05 PM, Miklós Máté <[email protected]> wrote: >> + } else if (desc->special == 3) { >> + src[0] = args[0]; >> + src[1] = args[1]; >> + src[2] = ureg_swizzle(args[2], >> + TGSI_SWIZZLE_Z, TGSI_SWIZZLE_Z, TGSI_SWIZZLE_Z, TGSI_SWIZZLE_Z); >> + emit_insn(t, TGSI_OPCODE_DP2A, dst, 1, src, 3); >> + } > > Not strictly your fault, but in practice, no backends actually > implement DP2A. Not sure why -- i915, nv30, and r300 even have > explicit ops for this. You can use DP2 + ADD. Or go around all the > backends an implement it. > Well you know why: stuff not emitted by st/mesa tends to not get implemented. And st/mesa didn't have a reason to emit it as all extensions potentially using it weren't implemented by mesa (or at least not, as here, supported by the state tracker). I don't know if that's generally a useful enough instruction to have (I suppose probably not, new hw probably doesn't care in any case if it was dp2a or dp2 + add, and if this extension is the only source for it that isn't much). That said, I suppose that's exactly the reason why the nine state tracker implements this as DP2 + ADD too.
Though it's not entirely true that no backend implements it. llvmpipe/softpipe/ilo/svga by the looks of it. Roland _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
