[Mesa-dev] [PATCH] st/mesa: fix WPOS adjustment

Michel Dänzer michel at daenzer.net
Tue Apr 19 03:44:54 PDT 2011


On Die, 2011-04-19 at 12:00 +0200, Christoph Bumiller wrote:
> On 16.04.2011 18:50, Christoph Bumiller wrote: 
> > I hope the new version is correct, the commit message describes why I
> > did the first change, and the second change is described in a comment.
> > 
> > Note that the MAD for inversion uses Height - 1 instead of Height.
> > 
> > With this, piglit glsl-arb-fragment-coord-conventions and
> > fbo-depth-sample-compare pass on nvc0.
> > 
> > I was assuming that integer pixel centers for size 100 range from 0 to
> > 99 and half-integer pixel centers from 0.5 to 99.5.
> > 
> Attached a better version of the patch, potentially saving an
> instruction and avoiding precision issues with NEAREST filtering that
> made piglit's blending-in-shader fail.
> 
> The only other location I found STATE_FB_WPOS_Y_TRANSFORM used was
> r600 classic, which should also work more correctly now since (at
> least according to gallium caps) it uses half-integer pixel center,
> and for H=100, 0.5 * -1 + 99 obviously isn't the desired 99.5.

FWIW, this fixes compiz alpha-blurred contents being off by one
vertically on r300g. Thanks!


-- 
Earthling Michel Dänzer           |                http://www.vmware.com
Libre software enthusiast         |          Debian, X and DRI developer


More information about the mesa-dev mailing list