/*
* Mesa 3-D graphics library
- * Version: 6.1
+ * Version: 7.1
*
- * Copyright (C) 1999-2004 Brian Paul All Rights Reserved.
+ * Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
GLboolean specular = (ctx->Fog.ColorSumEnabled ||
(ctx->Light.Enabled &&
ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR));
+ GLboolean attribs = (ctx->FragmentProgram._Current ||
+ ctx->Texture._EnabledCoordUnits ||
+ swrast->_FogEnabled ||
+ specular);
+
+ /*
+ * XXX this is a mess that should be cleaned up someday
+ */
if (ctx->RenderMode==GL_RENDER) {
if (ctx->Point.PointSprite) {
else
USE(sprite_point);
}
- else if (ctx->Point.SmoothFlag) {
+ else if (ctx->Point.SmoothFlag && !attribs) {
/* Smooth points */
if (rgbMode) {
if (ctx->Point._Attenuated || ctx->VertexProgram.PointSizeEnabled) {
}
else if (ctx->Point._Attenuated || ctx->VertexProgram.PointSizeEnabled) {
if (rgbMode) {
- if (ctx->Texture._EnabledCoordUnits) {
+ if (attribs) {
if (ctx->Point.SmoothFlag) {
USE(atten_antialiased_rgba_point);
}
USE(atten_general_ci_point);
}
}
- else if ((ctx->Texture._EnabledCoordUnits
- || specular
- || swrast->_FogEnabled) && rgbMode) {
+ else if (attribs && rgbMode) {
/* textured, fogged */
USE(textured_rgba_point);
}
/*
* Mesa 3-D graphics library
- * Version: 6.5.3
+ * Version: 7.1
*
* Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
*
if (span->primitive == GL_BITMAP && span->array->ChanType != GL_FLOAT) {
convert_color_type(span, GL_FLOAT, 0);
}
- interpolate_active_attribs(ctx, span, ~0);
+ if (span->primitive != GL_POINT) {
+ /* for points, we populated the arrays already */
+ interpolate_active_attribs(ctx, span, ~0);
+ }
span->array->ChanType = GL_FLOAT;
if (!(span->arrayMask & SPAN_Z))