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

Brian brianp at vmware.com
Tue Apr 19 07:27:13 PDT 2011


On 04/19/2011 04:00 AM, 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.
>
> Please review.

All the relevant piglit tests seem to pass with softpipe, llvmpipe and 
swrast.

Tested-by: Brian Paul <brianp at vmware.com>

-Brian


More information about the mesa-dev mailing list