[Mesa-dev] [PATCH] meta: fix glDrawPixels fallback test, stencil drawing

Roland Scheidegger sroland at vmware.com
Fri Jul 27 08:25:12 PDT 2012


Looks certainly good to me though maybe one of the intel guys should
take a look as they are the main user of this.

Reviewed-by: Roland Scheidegger <sroland at vmware.com>

Am 27.07.2012 16:26, schrieb Brian Paul:
> 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
> 
> Tested-by: Barto <mister.freeman at laposte.net>
> ---
>  src/mesa/drivers/common/meta.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
> index 82bbbf3..bef648e 100644
> --- a/src/mesa/drivers/common/meta.c
> +++ b/src/mesa/drivers/common/meta.c
> @@ -2253,8 +2253,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;
>     }
>  
> @@ -2290,7 +2289,8 @@ _mesa_meta_DrawPixels(struct gl_context *ctx,
>           metaExtraSave = (MESA_META_COLOR_MASK |
>                            MESA_META_DEPTH_TEST |
>                            MESA_META_SHADER |
> -                          MESA_META_STENCIL_TEST);
> +                          MESA_META_STENCIL_TEST |
> +                          MESA_META_PIXEL_TRANSFER);
>        }
>        else {
>           fallback = GL_TRUE;
> 




More information about the mesa-dev mailing list