mesa: add compressed_fetch_func typedef
[mesa.git] / src / mesa / main / texcompress.h
index 83856429c54cb987547edf8fde867200e4ffebef..7e3de0e9d5b84c3ad8d3630904790c62c513da1b 100644 (file)
 #ifndef TEXCOMPRESS_H
 #define TEXCOMPRESS_H
 
-#include "mtypes.h"
 #include "formats.h"
+#include "glheader.h"
+#include "mfeatures.h"
 
-#if _HAVE_FULL_GL
+struct gl_context;
+
+extern GLenum
+_mesa_gl_compressed_format_base_format(GLenum format);
 
 extern GLuint
-_mesa_get_compressed_formats(struct gl_context *ctx, GLint *formats, GLboolean all);
+_mesa_get_compressed_formats(struct gl_context *ctx, GLint *formats);
 
 extern gl_format
 _mesa_glenum_to_compressed_format(GLenum format);
 
 extern GLenum
-_mesa_compressed_format_to_glenum(struct gl_context *ctx, GLuint mesaFormat);
+_mesa_compressed_format_to_glenum(struct gl_context *ctx, gl_format mesaFormat);
 
 extern GLubyte *
 _mesa_compressed_image_address(GLint col, GLint row, GLint img,
                                gl_format mesaFormat,
                                GLsizei width, const GLubyte *image);
 
-#else /* _HAVE_FULL_GL */
 
-/* no-op macros */
-#define _mesa_get_compressed_formats( c, f ) 0
-#define _mesa_compressed_image_address(c, r, i, f, w, i2 ) 0
-#define _mesa_compress_teximage( c, w, h, sF, s, sRS, dF, d, drs ) ((void)0)
+/** A function to fetch one texel from a compressed texture */
+typedef void (*compressed_fetch_func)(const GLubyte *map,
+                                      const GLuint imageOffsets[],
+                                      GLint rowStride,
+                                      GLint i, GLint j, GLint k,
+                                      GLfloat *texel);
+
 
-#endif /* _HAVE_FULL_GL */
+extern void
+_mesa_decompress_image(gl_format format, GLuint width, GLuint height,
+                       const GLubyte *src, GLint srcRowStride,
+                       GLfloat *dest);
 
 #endif /* TEXCOMPRESS_H */