Reviewed-by: Marek Olšák <marek.ol...@amd.com> Marek
On Fri, Sep 12, 2014 at 2:47 PM, Rob Clark <robdcl...@gmail.com> wrote: > From: Rob Clark <robcl...@freedesktop.org> > > Because of render-to-alpha (000x) shenanigans, freedreno needs to do > some special handling when rendering to alpha-only formats. And I > noticed that while we had _is_luminance(), _is_intensity(), etc, an > _is_alpha() helper was missing. So fix that. > > Signed-off-by: Rob Clark <robcl...@freedesktop.org> > --- > src/gallium/auxiliary/util/u_format.c | 17 +++++++++++++++++ > src/gallium/auxiliary/util/u_format.h | 2 ++ > 2 files changed, 19 insertions(+) > > diff --git a/src/gallium/auxiliary/util/u_format.c > b/src/gallium/auxiliary/util/u_format.c > index d53dd78..c1ce408 100644 > --- a/src/gallium/auxiliary/util/u_format.c > +++ b/src/gallium/auxiliary/util/u_format.c > @@ -92,6 +92,23 @@ util_format_is_luminance(enum pipe_format format) > } > > boolean > +util_format_is_alpha(enum pipe_format format) > +{ > + const struct util_format_description *desc = > + util_format_description(format); > + > + if ((desc->colorspace == UTIL_FORMAT_COLORSPACE_RGB || > + desc->colorspace == UTIL_FORMAT_COLORSPACE_SRGB) && > + desc->swizzle[0] == UTIL_FORMAT_SWIZZLE_0 && > + desc->swizzle[1] == UTIL_FORMAT_SWIZZLE_0 && > + desc->swizzle[2] == UTIL_FORMAT_SWIZZLE_0 && > + desc->swizzle[3] == UTIL_FORMAT_SWIZZLE_X) { > + return TRUE; > + } > + return FALSE; > +} > + > +boolean > util_format_is_pure_integer(enum pipe_format format) > { > const struct util_format_description *desc = > util_format_description(format); > diff --git a/src/gallium/auxiliary/util/u_format.h > b/src/gallium/auxiliary/util/u_format.h > index df31400..621574c 100644 > --- a/src/gallium/auxiliary/util/u_format.h > +++ b/src/gallium/auxiliary/util/u_format.h > @@ -661,6 +661,8 @@ util_format_has_alpha(enum pipe_format format); > boolean > util_format_is_luminance(enum pipe_format format); > > +boolean > +util_format_is_alpha(enum pipe_format format); > > boolean > util_format_is_luminance_alpha(enum pipe_format format); > -- > 1.9.3 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev