Hi,
the attached patch should be an improvement over Vadim Girlin's patch fixing LIT instruction for r600g (commit 2fe39b46e73aea37152777fe11d489e0b1bc3f92).
Instructions used in tgsi_lit have been reordered to always write to a dst channel after the same channel in src has been read (so if src == dst, input values are not overwritten before being used).
I've sent the accompagnying test case to piglit ML.
Pierre-Eric
dri-devel@lists.freedesktop.org