[Mesa-dev] [PATCH 2/2] i965/fs: Take # of components into account in try_rewrite_rhs_to_dst.
eric at anholt.net
Wed Feb 15 11:32:49 PST 2012
On Tue, 14 Feb 2012 12:43:22 -0800, Kenneth Graunke <kenneth at whitecape.org> wrote:
> Commit dc7f449d1ac53a66e6efb56ccf2a5953418a26ca introduced a new method
> for avoiding MOVs: try to rewrite the destination of the instruction
> that produced the RHS so it writes into the LHS.
> Unfortunately, this is not safe for swizzled texturing operations, as
> they return a set of four contiguous registers. Consider the following:
> (assign (x)
> (var_ref vec_ctor_x)
> (swiz x (tex vec4 (var_ref m_sampY) (var_ref m_cordY) 0 1 ())))
> In this case, the source and destination registers are equal, since
> reg_offset is 0 for both. Yet, this is only a partial move: the texture
> operation generates four registers, and the LHS only covers one.
> Fixes color distortion in XBMC when using GLSL shaders.
> NOTE: This is a candidate for the 8.0 branch (with the previous commit).
Nice! Series is
Reviewed-by: Eric Anholt <eric at anholt.net>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 197 bytes
Desc: not available
More information about the mesa-dev