Mesa (master): mesa: add helper _mesa_is_format_etc2

Marek Olšák mareko at kemper.freedesktop.org
Mon Aug 11 19:59:27 UTC 2014


Module: Mesa
Branch: master
Commit: ddc8003c61480aa5cbab72435243aa6f99677440
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ddc8003c61480aa5cbab72435243aa6f99677440

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sat Aug  2 20:24:34 2014 +0200

mesa: add helper _mesa_is_format_etc2

v2: renamed GLboolean -> bool

Reviewed-by: Glenn Kennard <glenn.kennard at gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.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 f03425e..a4ddbd6 100644
--- a/src/mesa/main/formats.c
+++ b/src/mesa/main/formats.c
@@ -377,6 +377,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 457c8ab..8166b96 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);
 




More information about the mesa-commit mailing list