From: Brian Paul Date: Fri, 27 Jul 2012 14:22:44 +0000 (-0600) Subject: meta: fix glDrawPixels fallback test, stencil drawing X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=906febaf8bd37fffa4fc14c56eda1dd6e4b4dcda;p=mesa.git 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 --- diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index fa154238201..bf4d7180178 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); }