On Tue, 2015-07-21 at 11:13 -0700, Anuj Phogat wrote:
> On Tue, Jul 21, 2015 at 12:50 AM, Iago Toral <ito...@igalia.com> wrote:
> > On Tue, 2015-06-16 at 11:15 -0700, Anuj Phogat wrote:
> >> Signed-off-by: Anuj Phogat <anuj.pho...@gmail.com>
> >> ---
> >>  src/mesa/drivers/common/meta.c | 13 ++++++++++---
> >>  1 file changed, 10 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/src/mesa/drivers/common/meta.c 
> >> b/src/mesa/drivers/common/meta.c
> >> index 214a68a..fceb25d 100644
> >> --- a/src/mesa/drivers/common/meta.c
> >> +++ b/src/mesa/drivers/common/meta.c
> >> @@ -3132,9 +3132,16 @@ decompress_texture_image(struct gl_context *ctx,
> >>         * returned as red and two-channel texture values are returned as
> >>         * red/alpha.
> >>         */
> >> -      if ((baseTexFormat == GL_LUMINANCE ||
> >> -           baseTexFormat == GL_LUMINANCE_ALPHA ||
> >> -           baseTexFormat == GL_INTENSITY) ||
> >> +      if (((baseTexFormat == GL_LUMINANCE ||
> >> +            baseTexFormat == GL_LUMINANCE_ALPHA ||
> >> +            baseTexFormat == GL_INTENSITY) &&
> >> +           (destBaseFormat == GL_RGBA ||
> >> +            destBaseFormat == GL_RGB ||
> >> +            destBaseFormat == GL_RG ||
> >> +            destBaseFormat == GL_GREEN ||
> >> +            destBaseFormat == GL_BLUE ||
> >> +            destBaseFormat == GL_BGRA ||
> >> +            destBaseFormat == GL_BGR)) ||
> >
> > Is this needed to achieve correct behavior or just an optimization? I
> > would expect that if the dest format does not have G/B channels, setting
> > pixel transfer options for these channels would not have any functional
> > effect anyway.
> >
> This is just an optimization. We set pixel transfer operations based on these
> conditions and then call _mesa_ReadPixels, which falls back to slower path
> if transfer operations are set. I'll bump up the commit message of this patch.

Yes, a note in the commit log is worth it, thanks,

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

> >>            /* If we're reading back an RGB(A) texture (using 
> >> glGetTexImage) as
> >>          * luminance then we need to return L=tex(R).
> >>          */
> >
> >
> 


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

Reply via email to