diff options
author | Mario Kleiner <mario.kleiner@tuebingen.mpg.de> | 2012-10-07 03:44:14 +0200 |
---|---|---|
committer | Andreas Boll <andreas.boll.dev@gmail.com> | 2013-01-20 15:08:27 +0100 |
commit | 2d00d104b4c0c7e51b6f969b658573cbe60b0046 (patch) | |
tree | 1b76f3c841040a59eb1ebdc912a24f486f6ba6ff | |
parent | 422f3bb8ab95f00e17aa969f7a09c7ceee5f8bef (diff) |
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@tuebingen.mpg.de>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit eabbe5c45f5d05822c5f841628afa4008398d553)
-rw-r--r-- | 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 8cb2a689b60..2c6205e770f 100644 --- a/src/mesa/main/attrib.c +++ b/src/mesa/main/attrib.c @@ -1162,8 +1162,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; |