[Mesa-dev] [PATCH 1/5] mesa: add helper _mesa_is_format_etc2

Marek Olšák maraeo at gmail.com
Sun Aug 3 05:40:36 PDT 2014


From: Marek Olšák <marek.olsak at amd.com>

---
 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 1f20a9a..b830dbc 100644
--- a/src/mesa/main/formats.c
+++ b/src/mesa/main/formats.c
@@ -2068,6 +2068,31 @@ _mesa_get_format_color_encoding(mesa_format format)
 
 
 /**
+ * Return TRUE if format is an ETC2 compressed format specified
+ * by GL_ARB_ES3_compatibility.
+ */
+GLboolean
+_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 dc50bc8..166cd22 100644
--- a/src/mesa/main/formats.h
+++ b/src/mesa/main/formats.h
@@ -446,6 +446,9 @@ _mesa_is_format_signed(mesa_format format);
 extern GLboolean
 _mesa_is_format_integer(mesa_format format);
 
+extern GLboolean
+_mesa_is_format_etc2(mesa_format format);
+
 extern GLenum
 _mesa_get_format_color_encoding(mesa_format format);
 
-- 
1.9.1



More information about the mesa-dev mailing list