From b243ccb060dfdad849b9abc4749556e6fb3a83b1 Mon Sep 17 00:00:00 2001 From: "Juan A. Suarez Romero" Date: Fri, 27 Nov 2020 13:03:16 +0100 Subject: [PATCH] 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 Signed-off-by: Juan A. Suarez Romero Part-of: --- src/util/format/u_format.c | 12 ++++++++++++ src/util/format/u_format.h | 2 ++ 2 files changed, 14 insertions(+) diff --git a/src/util/format/u_format.c b/src/util/format/u_format.c index c9db9a2061c..b5cb27de3d9 100644 --- a/src/util/format/u_format.c +++ b/src/util/format/u_format.c @@ -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) diff --git a/src/util/format/u_format.h b/src/util/format/u_format.h index 10dc8beb6dd..d0fa84194eb 100644 --- a/src/util/format/u_format.h +++ b/src/util/format/u_format.h @@ -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;