X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Ftexcompress.h;h=b00924d02ebadf8fef47aec3bae3bb6fb528c77a;hb=51c1c4d95a05b6eb6fce74e8d624615e4a1b38ab;hp=5b5e64e15dd945154f97f6709df2d9a688adb811;hpb=c3c19be8e0d0b13916cc128cf3c8e839935c912a;p=mesa.git diff --git a/src/mesa/main/texcompress.h b/src/mesa/main/texcompress.h index 5b5e64e15dd..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,58 +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 GLuint -_mesa_get_compressed_formats( GLcontext *ctx, GLint *formats ); - -extern GLuint -_mesa_compressed_texture_size( GLcontext *ctx, - GLsizei width, GLsizei height, GLsizei depth, - GLuint mesaFormat ); +extern GLenum +_mesa_gl_compressed_format_base_format(GLenum format); extern GLuint -_mesa_compressed_texture_size_glenum(GLcontext *ctx, - GLsizei width, GLsizei height, - GLsizei depth, GLenum glformat); +_mesa_get_compressed_formats(struct gl_context *ctx, GLint *formats); -extern GLint -_mesa_compressed_row_stride(GLuint mesaFormat, GLsizei width); +extern mesa_format +_mesa_glenum_to_compressed_format(GLenum format); +extern GLenum +_mesa_compressed_format_to_glenum(struct gl_context *ctx, mesa_format mesaFormat); extern GLubyte * _mesa_compressed_image_address(GLint col, GLint row, GLint img, - GLuint mesaFormat, + mesa_format mesaFormat, GLsizei width, const GLubyte *image); -extern void -_mesa_init_texture_s3tc( GLcontext *ctx ); - -extern void -_mesa_init_texture_fxt1( GLcontext *ctx ); - +/** 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); -#else /* _HAVE_FULL_GL */ +extern compressed_fetch_func +_mesa_get_compressed_fetch_func(mesa_format format); -/* no-op macros */ -#define _mesa_get_compressed_formats( c, f ) 0 -#define _mesa_compressed_texture_size( c, w, h, d, f ) 0 -#define _mesa_compressed_texture_size_glenum( c, w, h, d, f ) 0 -#define _mesa_compressed_row_stride( f, w) 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) -#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 */