[Mesa-dev] [PATCH 3/3] meta: Abort meta path if ReadPixels need rgb to luminance conversion

Tapani Pälli tapani.palli at intel.com
Thu Jun 11 01:41:45 PDT 2015



On 06/11/2015 02:54 AM, Anuj Phogat wrote:
> After recent addition of pbo testing in piglit test getteximage-luminance,
> it fails on i965. This patch makes a sub test pass.
>
> Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
> Cc: <mesa-stable at lists.freedesktop.org>
> ---
>   src/mesa/drivers/common/meta_tex_subimage.c | 8 ++++++++
>   1 file changed, 8 insertions(+)
>
> diff --git a/src/mesa/drivers/common/meta_tex_subimage.c b/src/mesa/drivers/common/meta_tex_subimage.c
> index ad6e787..65753f7 100644
> --- a/src/mesa/drivers/common/meta_tex_subimage.c
> +++ b/src/mesa/drivers/common/meta_tex_subimage.c
> @@ -34,6 +34,7 @@
>   #include "macros.h"
>   #include "meta.h"
>   #include "pbo.h"
> +#include "readpix.h"
>   #include "shaderapi.h"
>   #include "state.h"
>   #include "teximage.h"
> @@ -257,6 +258,7 @@ _mesa_meta_pbo_GetTexSubImage(struct gl_context *ctx, GLuint dims,
>      GLuint pbo = 0, pbo_tex = 0, fbos[2] = { 0, 0 };
>      int full_height, image_height;
>      struct gl_texture_image *pbo_tex_image;
> +   struct gl_renderbuffer *rb = NULL;
>      GLenum status;
>      bool success = false;
>      int z;
> @@ -273,6 +275,12 @@ _mesa_meta_pbo_GetTexSubImage(struct gl_context *ctx, GLuint dims,
>      if (ctx->_ImageTransferState)
>         return false;
>
> +
> +   if (!tex_image) {
> +      if (_mesa_need_rgb_to_luminance_conversion(rb->Format, format))

this will cause segfault as rb is set to NULL

> +         return false;
> +   }
> +
>      /* For arrays, use a tall (height * depth) 2D texture but taking into
>       * account the inter-image padding specified with the image height packing
>       * property.
>


// Tapani


More information about the mesa-dev mailing list