[Mesa-dev] [PATCH 06/11] softpipe, util: Fix blending of R and RG formats.

Brian Paul brianp at vmware.com
Wed Nov 7 08:08:44 PST 2012


On 11/07/2012 08:26 AM, jfonseca at vmware.com wrote:
> From: José Fonseca<jfonseca at vmware.com>
>
> Alpha is also 1 for formats like R32G32_FLOAT.
> ---
>   src/gallium/auxiliary/util/u_format.c |   26 +-------------------------
>   1 file changed, 1 insertion(+), 25 deletions(-)
>
> diff --git a/src/gallium/auxiliary/util/u_format.c b/src/gallium/auxiliary/util/u_format.c
> index a41c468..f572a61 100644
> --- a/src/gallium/auxiliary/util/u_format.c
> +++ b/src/gallium/auxiliary/util/u_format.c
> @@ -61,30 +61,6 @@ util_format_is_float(enum pipe_format format)
>   }
>
>
> -/**
> - * Return the number of logical channels in the given format by
> - * examining swizzles.
> - * XXX this could be made into a public function if useful elsewhere.
> - */
> -static unsigned
> -nr_logical_channels(const struct util_format_description *desc)
> -{
> -   boolean swizzle_used[UTIL_FORMAT_SWIZZLE_MAX];
> -
> -   memset(swizzle_used, 0, sizeof(swizzle_used));
> -
> -   swizzle_used[desc->swizzle[0]] = TRUE;
> -   swizzle_used[desc->swizzle[1]] = TRUE;
> -   swizzle_used[desc->swizzle[2]] = TRUE;
> -   swizzle_used[desc->swizzle[3]] = TRUE;
> -
> -   return (swizzle_used[UTIL_FORMAT_SWIZZLE_X] +
> -           swizzle_used[UTIL_FORMAT_SWIZZLE_Y] +
> -           swizzle_used[UTIL_FORMAT_SWIZZLE_Z] +
> -           swizzle_used[UTIL_FORMAT_SWIZZLE_W]);
> -}
> -
> -
>   /** Test if the format contains RGB, but not alpha */
>   boolean
>   util_format_is_rgb_no_alpha(enum pipe_format format)
> @@ -94,7 +70,7 @@ util_format_is_rgb_no_alpha(enum pipe_format format)
>
>      if ((desc->colorspace == UTIL_FORMAT_COLORSPACE_RGB ||
>           desc->colorspace == UTIL_FORMAT_COLORSPACE_SRGB)&&
> -       nr_logical_channels(desc) == 3) {
> +       desc->swizzle[3] == UTIL_FORMAT_SWIZZLE_1) {
>         return TRUE;
>      }
>      return FALSE;

Candidate for 9.0 branch?

-Brian



More information about the mesa-dev mailing list