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 <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Tested-by: Lu Hua <huax.lu@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54295
This commit is contained in:
Ian Romanick 2012-08-31 15:26:27 -07:00
parent 0b90da3252
commit 51b069e7aa

View file

@ -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);
}