Module: Mesa Branch: master Commit: a60084088baca0981e5b0f1512831683cd4f25bc URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a60084088baca0981e5b0f1512831683cd4f25bc
Author: Francis Galiegue <[email protected]> Date: Sun Jan 3 09:42:17 2010 -0700 mesa: fix blend enable/disable calls in meta.c code Fixes regression in some DRI drivers since the GL_EXT_draw_buffers2 changes. Signed-off-by: Brian Paul <[email protected]> --- src/mesa/drivers/common/meta.c | 22 ++++++++++++++++------ 1 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 0676173..c4dbfa6 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -336,9 +336,14 @@ _mesa_meta_begin(GLcontext *ctx, GLbitfield state) if (state & META_BLEND) { save->BlendEnabled = ctx->Color.BlendEnabled; if (ctx->Color.BlendEnabled) { - GLuint i; - for (i = 0; i < ctx->Const.MaxDrawBuffers; i++) { - _mesa_set_enablei(ctx, GL_BLEND, i, GL_FALSE); + if (ctx->Extensions.EXT_draw_buffers2) { + GLuint i; + for (i = 0; i < ctx->Const.MaxDrawBuffers; i++) { + _mesa_set_enablei(ctx, GL_BLEND, i, GL_FALSE); + } + } + else { + _mesa_set_enable(ctx, GL_BLEND, GL_FALSE); } } save->ColorLogicOpEnabled = ctx->Color.ColorLogicOpEnabled; @@ -572,9 +577,14 @@ _mesa_meta_end(GLcontext *ctx) if (state & META_BLEND) { if (ctx->Color.BlendEnabled != save->BlendEnabled) { - GLuint i; - for (i = 0; i < ctx->Const.MaxDrawBuffers; i++) { - _mesa_set_enablei(ctx, GL_BLEND, i, (save->BlendEnabled >> i) & 1); + if (ctx->Extensions.EXT_draw_buffers2) { + GLuint i; + for (i = 0; i < ctx->Const.MaxDrawBuffers; i++) { + _mesa_set_enablei(ctx, GL_BLEND, i, (save->BlendEnabled >> i) & 1); + } + } + else { + _mesa_set_enable(ctx, GL_BLEND, (save->BlendEnabled & 1)); } } if (ctx->Color.ColorLogicOpEnabled != save->ColorLogicOpEnabled) _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
