Mesa (master): mesa: Don't glPopAttrib() GL_POINT_SPRITE_COORD_ORIGIN on < OpenGL-2.0
Kenneth Graunke
kwg at kemper.freedesktop.org
Fri Nov 9 06:54:35 UTC 2012
Module: Mesa
Branch: master
Commit: eabbe5c45f5d05822c5f841628afa4008398d553
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eabbe5c45f5d05822c5f841628afa4008398d553
Author: Mario Kleiner <mario.kleiner at tuebingen.mpg.de>
Date: Sun Oct 7 03:44:14 2012 +0200
mesa: Don't glPopAttrib() GL_POINT_SPRITE_COORD_ORIGIN on < OpenGL-2.0
The GL_POINT_BIT state attribute GL_POINT_SPRITE_COORD_ORIGIN
is only supported on OpenGL-2.0 or later. Prevent glPopAttrib()
from trying to restore it on OpenGL-1.4 implementations which
support GL_ARB_POINT_SPRITE, as otherwise the sequence...
glPushAttrib(GL_POINT_BIT);
glPopAttrib();
throws an GL_INVALID_ENUM error in glPopAttrib().
See also commit f778174ea1e431a7113f12c12beb4aba9e825a9f
NOTE: This is a candidate for the 9.0 branch.
Signed-off-by: Mario Kleiner <mario.kleiner at tuebingen.mpg.de>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
---
src/mesa/main/attrib.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c
index 49a3ab5..0997e54 100644
--- a/src/mesa/main/attrib.c
+++ b/src/mesa/main/attrib.c
@@ -1149,8 +1149,11 @@ _mesa_PopAttrib(void)
if (ctx->Extensions.NV_point_sprite)
_mesa_PointParameteri(GL_POINT_SPRITE_R_MODE_NV,
ctx->Point.SpriteRMode);
- _mesa_PointParameterf(GL_POINT_SPRITE_COORD_ORIGIN,
- (GLfloat)ctx->Point.SpriteOrigin);
+
+ if ((ctx->API == API_OPENGL && ctx->Version >= 20)
+ || ctx->API == API_OPENGL_CORE)
+ _mesa_PointParameterf(GL_POINT_SPRITE_COORD_ORIGIN,
+ (GLfloat)ctx->Point.SpriteOrigin);
}
}
break;
More information about the mesa-commit
mailing list