[Mesa-dev] [PATCH 2/2] i915: fix wrong rendering of gl_PointSize on Pineview

Eric Anholt eric at anholt.net
Thu Mar 1 09:54:46 PST 2012


On Thu, 23 Feb 2012 14:19:19 +0800, Yuanhan Liu <yuanhan.liu at linux.intel.com> wrote:
> The current code would ignore the point size specified by gl_PointSize
> builtin variable in vertex shader on Pineview. This patch servers as
> fixing that.
> 
> This patch fixes the following issues on Pineview:
> webglc: https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/rendering/point-size.html
> piglit: glsl-vs-point-size
> 
> NOTE: This is a candidate for stable release branches.
> 
> v2: pick Eric's nice tip for fixing this issue in hardware rendering.
> 
> Signed-off-by: Yuanhan Liu <yuanhan.liu at linux.intel.com>
> ---
>  src/mesa/drivers/dri/i915/i915_fragprog.c |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i915/i915_fragprog.c b/src/mesa/drivers/dri/i915/i915_fragprog.c
> index 4f016a3..2d60523 100644
> --- a/src/mesa/drivers/dri/i915/i915_fragprog.c
> +++ b/src/mesa/drivers/dri/i915/i915_fragprog.c
> @@ -1361,6 +1361,10 @@ i915ValidateFragmentProgram(struct i915_context *i915)
>        EMIT_ATTR(_TNL_ATTRIB_POS, EMIT_3F_VIEWPORT, S4_VFMT_XYZ, 12);
>     }
>  
> +   /* Handle gl_PointSize builtin var here */
> +   if (ctx->Point._Attenuated || ctx->VertexProgram.PointSizeEnabled)
> +      EMIT_ATTR(_TNL_ATTRIB_POINTSIZE, EMIT_1F, S4_VFMT_POINT_WIDTH, 1);

All the other EMIT_ATTRs specify the number of bytes as the last arg.
It seems like this code shouldn't have worked.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20120301/8da3dce0/attachment.pgp>


More information about the mesa-dev mailing list