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:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user