From 906febaf8bd37fffa4fc14c56eda1dd6e4b4dcda Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Fri, 27 Jul 2012 08:22:44 -0600 Subject: [PATCH] meta: fix glDrawPixels fallback test, stencil drawing Remove the check for pixel transfer ops. If any RGB/depth scale/bias is in effect, it'll be applied in the glTexImage step. If drawing stencil pixels we need to disable pixel transfer so that alpha scale/bias are not applied to the stencil data. These issues were spotted by Roland. Fixes Blender performance issues reported in http://bugs.freedesktop.org/show_bug.cgi?id=47375 NOTE: This is a candidate for the 8.0 branch. Tested-by: Barto Reviewed-by: Roland Scheidegger --- src/mesa/drivers/common/meta.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index fa15423..bf4d718 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -2281,8 +2281,7 @@ _mesa_meta_DrawPixels(struct gl_context *ctx, * Determine if we can do the glDrawPixels with texture mapping. */ fallback = GL_FALSE; - if (ctx->_ImageTransferState || - ctx->Fog.Enabled) { + if (ctx->Fog.Enabled) { fallback = GL_TRUE; } @@ -2317,6 +2316,7 @@ _mesa_meta_DrawPixels(struct gl_context *ctx, texIntFormat = GL_ALPHA; metaExtraSave = (MESA_META_COLOR_MASK | MESA_META_DEPTH_TEST | + MESA_META_PIXEL_TRANSFER | MESA_META_SHADER | MESA_META_STENCIL_TEST); } -- 2.7.4