Mesa (7.9): meta: Don't leak alpha function/reference value changes.

Ian Romanick idr at kemper.freedesktop.org
Wed Dec 15 22:06:28 UTC 2010


Module: Mesa
Branch: 7.9
Commit: 5c7169009695175dd3be3e9b8d2cd73fb947627c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5c7169009695175dd3be3e9b8d2cd73fb947627c

Author: Francisco Jerez <currojerez at riseup.net>
Date:   Mon Nov  1 19:06:30 2010 -0700

meta: Don't leak alpha function/reference value changes.

Signed-off-by: Brian Paul <brianp at vmware.com>
(cherry picked from commit d8463623893b189dae5ab7288395ffb54849c572)

---

 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 758bcf8..a6b7d92 100644
--- a/src/mesa/drivers/common/meta.c
+++ b/src/mesa/drivers/common/meta.c
@@ -105,6 +105,8 @@ struct save_state
 
    /** META_ALPHA_TEST */
    GLboolean AlphaEnabled;
+   GLenum AlphaFunc;
+   GLclampf AlphaRef;
 
    /** META_BLEND */
    GLbitfield BlendEnabled;
@@ -329,6 +331,8 @@ _mesa_meta_begin(GLcontext *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(GLcontext *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) {




More information about the mesa-commit mailing list