https://bugs.freedesktop.org/show_bug.cgi?id=84977
--- Comment #11 from David Heidelberger (okias) david.heidelberger@ixit.cz --- Created attachment 108592 --> https://bugs.freedesktop.org/attachment.cgi?id=108592&action=edit r300_regalloc-separated_workaround.txt
I made separeted workaround with line
if (writemask == 12) can_change_writemask = 0;
$ diff -Naur r300_regalloc.txt r300_regalloc-separated_workaround.txt --- r300_regalloc.txt 2014-10-28 22:54:13.673516366 +0100 +++ r300_regalloc-separated_workaround.txt 2014-10-28 22:54:05.065450759 +0100 @@ -64,10 +64,10 @@ 25: src0.w = temp[5] LG2 temp[5].w, src0.w 26: src0.xyz = temp[5], src0.w = temp[6], src1.xyz = temp[3] - MAD temp[6].x, src0.y__, src1.x__, -src0.H__ + MAD temp[6].z, src0.__y, src1.__x, -src0.__H MAD temp[6].w, src0.x, src0.w, -src0.H 27: src0.xyz = temp[5], src0.w = temp[5], src1.xyz = temp[6], src1.w = temp[6], src2.xyz = const[4] - MAD temp[3].xy, src0.xy_, src1.wx_, src0.11_ + MAD temp[3].xy, src0.xy_, src1.wz_, src0.11_ MAD temp[5].w, src0.w, src2.x, src0.0 28: src0.xyz = temp[3], src0.w = temp[4] MAD temp[3].x, -src0.x__, src0.1__, src0.y__