mesa: Add _mesa_cpal_compressed_format_type
authorIan Romanick <ian.d.romanick@intel.com>
Mon, 12 Sep 2011 16:45:43 +0000 (11:45 -0500)
committerIan Romanick <ian.d.romanick@intel.com>
Mon, 19 Sep 2011 17:04:47 +0000 (10:04 -0700)
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Tested-by: Jin Yang <jin.a.yang@intel.com>
src/mesa/main/texpal.c
src/mesa/main/texpal.h

index 7608087f43bcb6fc0a56f542d7cc4a8cbffd450a..0684638f19eb5b10ead3040bcbbd16fe509ac705 100644 (file)
@@ -152,6 +152,22 @@ cpal_get_info(GLint level, GLenum internalFormat,
    return info;
 }
 
+void
+_mesa_cpal_compressed_format_type(GLenum internalFormat, GLenum *format,
+                                 GLenum *type)
+{
+   const struct cpal_format_info *info;
+
+   if (internalFormat < GL_PALETTE4_RGB8_OES
+       || internalFormat > GL_PALETTE8_RGB5_A1_OES) {
+      return;
+   }
+
+   info = &formats[internalFormat - GL_PALETTE4_RGB8_OES];
+   *format = info->format;
+   *type = info->type;
+}
+
 /**
  * Convert a call to glCompressedTexImage2D() where internalFormat is a
  *  compressed palette format into a regular GLubyte/RGBA glTexImage2D() call.
index e1809995468217061691702bb502e5077d0757fd..acfaa313ec516fd2ebb328fc032040d31ff2adcb 100644 (file)
@@ -38,4 +38,8 @@ extern unsigned
 _mesa_cpal_compressed_size(int level, GLenum internalFormat,
                           unsigned width, unsigned height);
 
+extern void
+_mesa_cpal_compressed_format_type(GLenum internalFormat, GLenum *format,
+                                 GLenum *type);
+
 #endif /* TEXPAL_H */