This series optimizes the code emitted for the unlit centroid workaround. Previously we emitted
mov(1) f0, g1.14 // move channel enables to flag pln(8) dst, ... // centroid interpolation (-f0) pln(8) dst, ... // non-centroid interpolation for unlit pixels Patch 2 predicates the centroid interpolation pln instruction -- maybe letting the shader do less work. Patch 3 reverses the order of the pln instructions and sets the dependency control hints, since they write to non-overlapping components of the destination and since some channel must be enabled for our shader to be executing. Patch 4 disables the workaround on Haswell, since the BSpec seems to state that it's only needed on Ivy Bridge. Unfortunately, the tests mentioned by Paul in commit 8313f444 pass with the workaround disabled on Ivy Bridge. The reasoning that the dependency control hints are safe has been confirmed to be valid by reversing the order of the pln instructions (so that the one predicated with -f0 is last) and observing GPU hangs. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev