aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2011-09-12 11:45:43 -0500
committerIan Romanick <[email protected]>2011-09-19 10:04:47 -0700
commitb433e7ba073c66d974dfd8a180ab3970acf18105 (patch)
tree3aefe5207a6c9cb9da2bbba22b9aef357970add5
parenta2cab751beed5d130c4085d4215f8b7ad25d9cb1 (diff)
mesa: Add _mesa_cpal_compressed_format_type
Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Tested-by: Jin Yang <[email protected]>
-rw-r--r--src/mesa/main/texpal.c16
-rw-r--r--src/mesa/main/texpal.h4
2 files changed, 20 insertions, 0 deletions
diff --git a/src/mesa/main/texpal.c b/src/mesa/main/texpal.c
index 7608087f43b..0684638f19e 100644
--- a/src/mesa/main/texpal.c
+++ b/src/mesa/main/texpal.c
@@ -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.
diff --git a/src/mesa/main/texpal.h b/src/mesa/main/texpal.h
index e1809995468..acfaa313ec5 100644
--- a/src/mesa/main/texpal.h
+++ b/src/mesa/main/texpal.h
@@ -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 */