X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Ftexcompress.h;h=b00924d02ebadf8fef47aec3bae3bb6fb528c77a;hb=e727f8c8b814b9c36d4a8b52829c2bf7281765be;hp=5e73a3149bddf6979f6ba985034ddef7b3359e67;hpb=006a526edb0f5a67679309a867a1af22d94e1687;p=mesa.git diff --git a/src/mesa/main/texcompress.h b/src/mesa/main/texcompress.h index 5e73a3149bd..b00924d02eb 100644 --- a/src/mesa/main/texcompress.h +++ b/src/mesa/main/texcompress.h @@ -1,6 +1,5 @@ /* * Mesa 3-D graphics library - * Version: 6.5.1 * * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. * @@ -17,40 +16,51 @@ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. */ #ifndef TEXCOMPRESS_H #define TEXCOMPRESS_H -#include "mtypes.h" #include "formats.h" +#include "glheader.h" -#if _HAVE_FULL_GL +struct gl_context; + +extern GLenum +_mesa_gl_compressed_format_base_format(GLenum format); extern GLuint -_mesa_get_compressed_formats(GLcontext *ctx, GLint *formats, GLboolean all); +_mesa_get_compressed_formats(struct gl_context *ctx, GLint *formats); -extern gl_format +extern mesa_format _mesa_glenum_to_compressed_format(GLenum format); extern GLenum -_mesa_compressed_format_to_glenum(GLcontext *ctx, GLuint mesaFormat); +_mesa_compressed_format_to_glenum(struct gl_context *ctx, mesa_format mesaFormat); extern GLubyte * _mesa_compressed_image_address(GLint col, GLint row, GLint img, - gl_format mesaFormat, + mesa_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, + GLint rowStride, + GLint i, GLint j, + GLfloat *texel); + +extern compressed_fetch_func +_mesa_get_compressed_fetch_func(mesa_format format); + -#endif /* _HAVE_FULL_GL */ +extern void +_mesa_decompress_image(mesa_format format, GLuint width, GLuint height, + const GLubyte *src, GLint srcRowStride, + GLfloat *dest); #endif /* TEXCOMPRESS_H */