util: function to check for rgbX format

Function that checks if the format has its alpha component forced to 1.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7816>
This commit is contained in:
Juan A. Suarez Romero 2020-11-27 13:03:16 +01:00 committed by Marge Bot
parent aff845da67
commit b243ccb060
2 changed files with 14 additions and 0 deletions

View File

@ -125,6 +125,18 @@ util_format_has_alpha(enum pipe_format format)
desc->swizzle[3] != PIPE_SWIZZLE_1;
}
/** Test if format has alpha as 1 (like RGBX) */
boolean
util_format_has_alpha1(enum pipe_format format)
{
const struct util_format_description *desc =
util_format_description(format);
return (desc->colorspace == UTIL_FORMAT_COLORSPACE_RGB ||
desc->colorspace == UTIL_FORMAT_COLORSPACE_SRGB) &&
desc->nr_channels == 4 &&
desc->swizzle[3] == PIPE_SWIZZLE_1;
}
boolean
util_format_is_luminance(enum pipe_format format)

View File

@ -692,6 +692,8 @@ util_format_is_float(enum pipe_format format) ATTRIBUTE_CONST;
boolean
util_format_has_alpha(enum pipe_format format) ATTRIBUTE_CONST;
boolean
util_format_has_alpha1(enum pipe_format format) ATTRIBUTE_CONST;
boolean
util_format_is_luminance(enum pipe_format format) ATTRIBUTE_CONST;