From ddc8003c61480aa5cbab72435243aa6f99677440 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sat, 2 Aug 2014 20:24:34 +0200 Subject: [PATCH] mesa: add helper _mesa_is_format_etc2 v2: renamed GLboolean -> bool Reviewed-by: Glenn Kennard Reviewed-by: Ian Romanick --- src/mesa/main/formats.c | 25 +++++++++++++++++++++++++ src/mesa/main/formats.h | 3 +++ 2 files changed, 28 insertions(+) diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c index f03425e4169..a4ddbd66963 100644 --- a/src/mesa/main/formats.c +++ b/src/mesa/main/formats.c @@ -376,6 +376,31 @@ _mesa_get_format_color_encoding(mesa_format format) } +/** + * Return TRUE if format is an ETC2 compressed format specified + * by GL_ARB_ES3_compatibility. + */ +bool +_mesa_is_format_etc2(mesa_format format) +{ + switch (format) { + case MESA_FORMAT_ETC2_RGB8: + case MESA_FORMAT_ETC2_SRGB8: + case MESA_FORMAT_ETC2_RGBA8_EAC: + case MESA_FORMAT_ETC2_SRGB8_ALPHA8_EAC: + case MESA_FORMAT_ETC2_R11_EAC: + case MESA_FORMAT_ETC2_RG11_EAC: + case MESA_FORMAT_ETC2_SIGNED_R11_EAC: + case MESA_FORMAT_ETC2_SIGNED_RG11_EAC: + case MESA_FORMAT_ETC2_RGB8_PUNCHTHROUGH_ALPHA1: + case MESA_FORMAT_ETC2_SRGB8_PUNCHTHROUGH_ALPHA1: + return GL_TRUE; + default: + return GL_FALSE; + } +} + + /** * For an sRGB format, return the corresponding linear color space format. * For non-sRGB formats, return the format as-is. diff --git a/src/mesa/main/formats.h b/src/mesa/main/formats.h index 457c8abf822..8166b964c7f 100644 --- a/src/mesa/main/formats.h +++ b/src/mesa/main/formats.h @@ -476,6 +476,9 @@ _mesa_is_format_signed(mesa_format format); extern GLboolean _mesa_is_format_integer(mesa_format format); +extern bool +_mesa_is_format_etc2(mesa_format format); + extern GLenum _mesa_get_format_color_encoding(mesa_format format); -- 2.30.2