Document a deficiency in the _swrast_Translate() function with regard to point size.
This commit is contained in:
@@ -263,7 +263,7 @@ _swsetup_Translate( GLcontext *ctx, const void *vertex, SWvertex *dest )
|
||||
dest->win[2] = m[10] * tmp[2] + m[14];
|
||||
dest->win[3] = tmp[3];
|
||||
|
||||
|
||||
/** XXX try to limit these loops someday */
|
||||
for (i = 0 ; i < ctx->Const.MaxTextureCoordUnits ; i++)
|
||||
_tnl_get_attr( ctx, vertex, _TNL_ATTRIB_TEX0+i,
|
||||
dest->attrib[FRAG_ATTRIB_TEX0 + i] );
|
||||
@@ -284,6 +284,7 @@ _swsetup_Translate( GLcontext *ctx, const void *vertex, SWvertex *dest )
|
||||
_tnl_get_attr( ctx, vertex, _TNL_ATTRIB_COLOR_INDEX, tmp );
|
||||
dest->index = tmp[0];
|
||||
|
||||
/* XXX See _tnl_get_attr about pointsize ... */
|
||||
_tnl_get_attr( ctx, vertex, _TNL_ATTRIB_POINTSIZE, tmp );
|
||||
dest->pointSize = tmp[0];
|
||||
}
|
||||
|
||||
@@ -229,7 +229,15 @@ void _tnl_get_attr( GLcontext *ctx, const void *vin,
|
||||
|
||||
/* Else return the value from ctx->Current.
|
||||
*/
|
||||
_mesa_memcpy( dest, ctx->Current.Attrib[attr], 4*sizeof(GLfloat));
|
||||
if (attr == _TNL_ATTRIB_POINTSIZE) {
|
||||
/* If the hardware vertex doesn't have point size then use size from
|
||||
* GLcontext. XXX this will be wrong if drawing attenuated points!
|
||||
*/
|
||||
dest[0] = ctx->Point._Size;
|
||||
}
|
||||
else {
|
||||
_mesa_memcpy( dest, ctx->Current.Attrib[attr], 4*sizeof(GLfloat));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user