Attached patch implements support for the Extended Swizzle vertex program
opcode. Tested with progs/vp/swz2.txt and different swizzle components.
Created attachment 5457 [details] [review]
applied to cvs.
Any reason why it uses OP_MAD (or OP_MAD_2) instead of OP_ADD? Maybe it never
makes a difference, but even then I would think it's a better strategy to not
force that multiplier to get used. (Not to mention that a architecture-dependant
optimizer should always be able to optimize that whole instruction away on r300.)
OPCODE_ADD uses MAD/MAD_2, too, so I assumed I should use them for OPCODE_SWZ,
ah right, some of the things I don't quite understand why - mul is also handled
as MAD or MAD_2, and at least on r200 fglrx doesn't do that neither. The OP_ADD
is used however currently (for the move and move-like stuff if there are
Mass version move, cvs -> git
on Feb 22, 2017 at 01:50:50.
(provided by the Example extension).