diff options
author | Francisco Jerez <[email protected]> | 2010-11-01 19:06:30 -0700 |
---|---|---|
committer | Brian Paul <[email protected]> | 2010-11-04 13:58:02 -0600 |
commit | d8463623893b189dae5ab7288395ffb54849c572 (patch) | |
tree | 53424059a900147b815aafd8a7ba5a2851d8f093 /src | |
parent | ef6b7e0a30814badd201ca1b3e1f5afb4ba21fef (diff) |
meta: Don't leak alpha function/reference value changes.
Signed-off-by: Brian Paul <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/common/meta.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index c48709714d7..b7a092e64f6 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -104,6 +104,8 @@ struct save_state /** META_ALPHA_TEST */ GLboolean AlphaEnabled; + GLenum AlphaFunc; + GLclampf AlphaRef; /** META_BLEND */ GLbitfield BlendEnabled; @@ -328,6 +330,8 @@ _mesa_meta_begin(struct gl_context *ctx, GLbitfield state) if (state & META_ALPHA_TEST) { save->AlphaEnabled = ctx->Color.AlphaEnabled; + save->AlphaFunc = ctx->Color.AlphaFunc; + save->AlphaRef = ctx->Color.AlphaRef; if (ctx->Color.AlphaEnabled) _mesa_set_enable(ctx, GL_ALPHA_TEST, GL_FALSE); } @@ -576,6 +580,7 @@ _mesa_meta_end(struct gl_context *ctx) if (state & META_ALPHA_TEST) { if (ctx->Color.AlphaEnabled != save->AlphaEnabled) _mesa_set_enable(ctx, GL_ALPHA_TEST, save->AlphaEnabled); + _mesa_AlphaFunc(save->AlphaFunc, save->AlphaRef); } if (state & META_BLEND) { |