summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMario Kleiner <mario.kleiner@tuebingen.mpg.de>2012-10-07 03:44:14 +0200
committerAndreas Boll <andreas.boll.dev@gmail.com>2013-01-20 15:08:27 +0100
commit2d00d104b4c0c7e51b6f969b658573cbe60b0046 (patch)
tree1b76f3c841040a59eb1ebdc912a24f486f6ba6ff
parent422f3bb8ab95f00e17aa969f7a09c7ceee5f8bef (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.c7
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;