Mesa (master): util: function to check for rgbX format
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Dec 9 12:45:16 UTC 2020
Module: Mesa
Branch: master
Commit: b243ccb060dfdad849b9abc4749556e6fb3a83b1
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b243ccb060dfdad849b9abc4749556e6fb3a83b1
Author: Juan A. Suarez Romero <jasuarez at igalia.com>
Date: Fri Nov 27 13:03:16 2020 +0100
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 at igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7816>
---
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;
More information about the mesa-commit
mailing list