Reviewed-by: Iago Toral Quiroga <ito...@igalia.com>

On Fri, 2015-06-26 at 13:15 -0700, Anuj Phogat wrote:
> Currently used ctx->_ImageTransferState check is not sufficient
> because it doesn't include the read color clamping enabled with
> GL_CLAMP_READ_COLOR. So, use the helper function
> _mesa_get_readpixels_transfer_ops().
> 
> Also, transfer operations don't affect glGetTexImage(). So, do
> the check only for glReadPixles.
> 
> Without this patch, arb_color_buffer_float-readpixels test fails, when
> forced to use meta pbo path.
> 
> V2: Add a comment and bump up the commit message.
> 
> Signed-off-by: Anuj Phogat <anuj.pho...@gmail.com>
> Cc: <mesa-sta...@lists.freedesktop.org>
> Cc: Iago Toral <ito...@igalia.com>
> Cc: Jason Ekstrand <jason.ekstr...@intel.com>
> ---
>  src/mesa/drivers/common/meta_tex_subimage.c | 13 +++++++++----
>  1 file changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/src/mesa/drivers/common/meta_tex_subimage.c 
> b/src/mesa/drivers/common/meta_tex_subimage.c
> index d2474f5..90d78e5 100644
> --- a/src/mesa/drivers/common/meta_tex_subimage.c
> +++ b/src/mesa/drivers/common/meta_tex_subimage.c
> @@ -273,12 +273,17 @@ _mesa_meta_pbo_GetTexSubImage(struct gl_context *ctx, 
> GLuint dims,
>         format == GL_COLOR_INDEX)
>        return false;
>  
> -   if (ctx->_ImageTransferState)
> -      return false;
> -
> -
> +   /* Don't use meta path for readpixels in below conditions. */
>     if (!tex_image) {
>        rb = ctx->ReadBuffer->_ColorReadBuffer;
> +
> +      /* _mesa_get_readpixels_transfer_ops() includes the cases of read
> +       * color clamping along with the ctx->_ImageTransferState.
> +       */
> +      if (_mesa_get_readpixels_transfer_ops(ctx, rb->Format, format,
> +                                            type, GL_FALSE))
> +         return false;
> +
>        if (_mesa_need_rgb_to_luminance_conversion(rb->Format, format))
>           return false;
>     }


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to