On Fre, 2013-05-03 at 02:00 +0200, Roland Scheidegger wrote: 
> Am 03.05.2013 00:29, schrieb Dave Airlie:
> > On Fri, May 3, 2013 at 6:04 AM, Zack Rusin <za...@vmware.com> wrote:
> >>> Well in contrast to the IF/UIF they'd be really redundant unless I'm
> >>> missing something so just for supporting negation on inputs or not this
> >>> looks like not really worth it (and as said there are also other signed
> >>> instructions where supporting negation doesn't really make sense). OTOH
> >>> you're right it would be just 3 more instructions (imul/iadd/imad) I
> >>> believe so it wouldn't be too bad. But I'm fine with just supporting
> >>> negation on unsigned instructions, after all it's just two's complement
> >>> negation regardless if it's signed or not. And just document these umul
> >>> functions work for both signed and unsigned.
> >>
> >> k, I'll just push that last patch then. If someone won't like it or we'll 
> >> decide to do it in some other way we can always redo it later. For now 
> >> this will be enough to fix the umad handling.
> >>
> > 
> > I don't like this, sorry for being slow :-)
> > 
> > Mainly because I don't think any hw has the ability to apply negate on
> > non-float instructions (at least radeon doesn't), and I'd like gallium
> > to be an interface that reflects the hw.
> > 
> > Granted the hw also doesn't have IMAD/UMAD was have to decompose those 
> > anyways.
> 
> Well we already said before that negation (but not abs) was supported on
> signed inputs, this changes it to just say it's also supported on
> unsigned ones, but that's really just because uadd/umul/umad are
> ignorant of signedness.
> Sorry to hear the hw doesn't support it, but this is supported by d3d10
> so it's quite likely some hw indeed supports it. There's always some
> things some hw can't do natively.
> I'd be fine to just restrict it to some opcodes, e.g. exclude logic ops
> if that helps you.

FWIW, I don't think modifiers make sense for logic ops, as they just
operate on individual bits of the operands, regardless of any particular
encoding of the whole operands.


> Note that tgsi (and d3d10 for that matter) also for instance don't
> have a integer SUB opcode, so the natural way for encoding that would
> of course just be with a ADD with negate modifier on second arg, and I
> bet your hw could do that one.

I agree it shouldn't matter that much how this is expressed in TGSI. 

-- 
Earthling Michel Dänzer           |                   http://www.amd.com
Libre software enthusiast         |          Debian, X and DRI developer
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to