From: Paul Berry Date: Thu, 8 Sep 2011 00:44:28 +0000 (-0700) Subject: mesa: Update clipping code to use ctx->Const.MaxClipPlanes. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=27bdc76eb92b11bcd61b829bd1372866cb9ef304;p=mesa.git mesa: Update clipping code to use ctx->Const.MaxClipPlanes. To support GLSL 1.30, we will need to increase MAX_CLIP_PLANES to 8. To avoid breaking drivers that do not yet support 8 clip planes, this patch modifies the Mesa core code that pertains to clipping to use ctx->Const.MaxClipPlanes rather than MAX_CLIP_PLANES, since ctx->Const.MaxClipPlanes will remain 6 for drivers that only support 6 clip planes. Reviewed-by: Brian Paul Reviewed-by: Kenneth Graunke Reviewed-by: Ian Romanick --- diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c index 9767740a3a6..d38a1a46696 100644 --- a/src/mesa/main/attrib.c +++ b/src/mesa/main/attrib.c @@ -493,7 +493,7 @@ pop_enable_group(struct gl_context *ctx, const struct gl_enable_attrib *enable) } } - for (i=0;iConst.MaxClipPlanes;i++) { const GLuint mask = 1 << i; if ((ctx->Transform.ClipPlanesEnabled & mask) != (enable->ClipPlanes & mask)) _mesa_set_enable(ctx, (GLenum) (GL_CLIP_PLANE0 + i), @@ -1247,7 +1247,7 @@ _mesa_PopAttrib(void) _math_matrix_analyse( ctx->ProjectionMatrixStack.Top ); /* restore clip planes */ - for (i = 0; i < MAX_CLIP_PLANES; i++) { + for (i = 0; i < ctx->Const.MaxClipPlanes; i++) { const GLuint mask = 1 << i; const GLfloat *eyePlane = xform->EyeUserPlane[i]; COPY_4V(ctx->Transform.EyeUserPlane[i], eyePlane); diff --git a/src/mesa/main/matrix.c b/src/mesa/main/matrix.c index 56973661cea..f479a22b073 100644 --- a/src/mesa/main/matrix.c +++ b/src/mesa/main/matrix.c @@ -776,7 +776,7 @@ void _mesa_init_transform( struct gl_context *ctx ) ctx->Transform.Normalize = GL_FALSE; ctx->Transform.RescaleNormals = GL_FALSE; ctx->Transform.RasterPositionUnclipped = GL_FALSE; - for (i=0;iConst.MaxClipPlanes;i++) { ASSIGN_4V( ctx->Transform.EyeUserPlane[i], 0.0, 0.0, 0.0, 0.0 ); } ctx->Transform.ClipPlanesEnabled = 0;