From: Ian Romanick Date: Fri, 31 Aug 2012 22:26:27 +0000 (-0700) Subject: meta: Don't save and restore fog state when there is no fog state X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=51b069e7aa81cdc8f38db71554ae3dd12ce0a6c4;p=mesa.git meta: Don't save and restore fog state when there is no fog state I wonder if the better solution is to have _mesa_meta_GenerateMipmap not use MESA_META_ALL for the GLSL path. Even on compatibility profiles there is no reason to save and restore fog on this path. NOTE: This is a candidate for the 9.0 branch. Signed-off-by: Ian Romanick Reviewed-by: Brian Paul Tested-by: Lu Hua Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54295 --- diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 4b448fed51b..36672a71d73 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -538,7 +538,9 @@ _mesa_meta_begin(struct gl_context *ctx, GLbitfield state) _mesa_set_enable(ctx, GL_DEPTH_TEST, GL_FALSE); } - if (state & MESA_META_FOG) { + if ((state & MESA_META_FOG) + && ctx->API != API_OPENGL_CORE + && ctx->API != API_OPENGLES2) { save->Fog = ctx->Fog.Enabled; if (ctx->Fog.Enabled) _mesa_set_enable(ctx, GL_FOG, GL_FALSE); @@ -856,7 +858,9 @@ _mesa_meta_end(struct gl_context *ctx) _mesa_DepthMask(save->Depth.Mask); } - if (state & MESA_META_FOG) { + if ((state & MESA_META_FOG) + && ctx->API != API_OPENGL_CORE + && ctx->API != API_OPENGLES2) { _mesa_set_enable(ctx, GL_FOG, save->Fog); }