diff options
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/main/texpal.c | 16 | ||||
-rw-r--r-- | src/mesa/main/texpal.h | 4 |
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 */ |