texstore.h revision 8f04c12e0ad876baa7eb9ed379e2b00150b376e0
18e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul/*
28e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul * Mesa 3-D graphics library
3f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul * Version:  6.1
48e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul *
5f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul * Copyright (C) 1999-2004  Brian Paul   All Rights Reserved.
68e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul *
78e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul * Permission is hereby granted, free of charge, to any person obtaining a
88e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul * copy of this software and associated documentation files (the "Software"),
98e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul * to deal in the Software without restriction, including without limitation
108e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul * the rights to use, copy, modify, merge, publish, distribute, sublicense,
118e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul * and/or sell copies of the Software, and to permit persons to whom the
128e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul * Software is furnished to do so, subject to the following conditions:
138e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul *
148e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul * The above copyright notice and this permission notice shall be included
158e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul * in all copies or substantial portions of the Software.
168e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul *
178e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
188e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
198e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
208e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
218e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
228e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
238e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul */
248e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
258e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
26f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul/**
27f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul * \file texstore.h
28f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul * Texture image storage routines.
29f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul *
30f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul * \author Brian Paul
31f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul */
32f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul
33f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul
348e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul#ifndef TEXSTORE_H
358e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul#define TEXSTORE_H
368e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
378e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
388e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul#include "mtypes.h"
398e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
40f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul/*** NEWTEXSTORE ***/
41f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul
42f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul/* Macro just to save some typing */
43f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul#define STORE_PARAMS \
44f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul	GLcontext *ctx, GLuint dims, \
45f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul	GLenum baseInternalFormat, \
46f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul	const struct gl_texture_format *dstFormat, \
47f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul	GLvoid *dstAddr, \
48f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul	GLint dstXoffset, GLint dstYoffset, GLint dstZoffset, \
49f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul	GLint dstRowStride, GLint dstImageStride, \
50f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul	GLint srcWidth, GLint srcHeight, GLint srcDepth, \
51f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul	GLenum srcFormat, GLenum srcType, \
52f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul	const GLvoid *srcAddr, \
53f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul	const struct gl_pixelstore_attrib *srcPacking
54f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul
55f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul
56f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paulextern GLboolean _mesa_texstore_rgba(STORE_PARAMS);
57f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paulextern GLboolean _mesa_texstore_color_index(STORE_PARAMS);
58f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paulextern GLboolean _mesa_texstore_depth_component16(STORE_PARAMS);
59f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paulextern GLboolean _mesa_texstore_depth_component_float32(STORE_PARAMS);
60f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paulextern GLboolean _mesa_texstore_rgb565(STORE_PARAMS);
61f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paulextern GLboolean _mesa_texstore_rgba8888(STORE_PARAMS);
62f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paulextern GLboolean _mesa_texstore_argb8888(STORE_PARAMS);
63f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paulextern GLboolean _mesa_texstore_rgb888(STORE_PARAMS);
64f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paulextern GLboolean _mesa_texstore_argb4444(STORE_PARAMS);
65f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paulextern GLboolean _mesa_texstore_argb1555(STORE_PARAMS);
66f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paulextern GLboolean _mesa_texstore_al88(STORE_PARAMS);
67f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paulextern GLboolean _mesa_texstore_rgb332(STORE_PARAMS);
68f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paulextern GLboolean _mesa_texstore_a8(STORE_PARAMS);
69f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paulextern GLboolean _mesa_texstore_ci8(STORE_PARAMS);
70f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paulextern GLboolean _mesa_texstore_ycbcr(STORE_PARAMS);
71f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paulextern GLboolean _mesa_texstore_rgba_float32(STORE_PARAMS);
72f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paulextern GLboolean _mesa_texstore_rgba_float16(STORE_PARAMS);
738f04c12e0ad876baa7eb9ed379e2b00150b376e0Brian Paulextern GLboolean _mesa_texstore_rgb_fxt1(STORE_PARAMS);
748f04c12e0ad876baa7eb9ed379e2b00150b376e0Brian Paulextern GLboolean _mesa_texstore_rgba_fxt1(STORE_PARAMS);
758f04c12e0ad876baa7eb9ed379e2b00150b376e0Brian Paulextern GLboolean _mesa_texstore_rgb_dxt1(STORE_PARAMS);
768f04c12e0ad876baa7eb9ed379e2b00150b376e0Brian Paulextern GLboolean _mesa_texstore_rgba_dxt1(STORE_PARAMS);
778f04c12e0ad876baa7eb9ed379e2b00150b376e0Brian Paulextern GLboolean _mesa_texstore_rgba_dxt3(STORE_PARAMS);
788f04c12e0ad876baa7eb9ed379e2b00150b376e0Brian Paulextern GLboolean _mesa_texstore_rgba_dxt5(STORE_PARAMS);
798f04c12e0ad876baa7eb9ed379e2b00150b376e0Brian Paul
808f04c12e0ad876baa7eb9ed379e2b00150b376e0Brian Paul
818f04c12e0ad876baa7eb9ed379e2b00150b376e0Brian Paulextern GLchan *
828f04c12e0ad876baa7eb9ed379e2b00150b376e0Brian Paul_mesa_make_temp_chan_image(GLcontext *ctx, GLuint dims,
838f04c12e0ad876baa7eb9ed379e2b00150b376e0Brian Paul                           GLenum logicalBaseFormat,
848f04c12e0ad876baa7eb9ed379e2b00150b376e0Brian Paul                           GLenum textureBaseFormat,
858f04c12e0ad876baa7eb9ed379e2b00150b376e0Brian Paul                           GLint srcWidth, GLint srcHeight, GLint srcDepth,
868f04c12e0ad876baa7eb9ed379e2b00150b376e0Brian Paul                           GLenum srcFormat, GLenum srcType,
878f04c12e0ad876baa7eb9ed379e2b00150b376e0Brian Paul                           const GLvoid *srcAddr,
888f04c12e0ad876baa7eb9ed379e2b00150b376e0Brian Paul                           const struct gl_pixelstore_attrib *srcPacking);
898f04c12e0ad876baa7eb9ed379e2b00150b376e0Brian Paul
90f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul
91f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul#if !NEWTEXSTORE
928e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
938e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paulextern void
948e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul_mesa_transfer_teximage(GLcontext *ctx, GLuint dimensions,
951c85aa33321821b44bea83d3dee702ab4e05f406Brian Paul                        GLenum baseInternalFormat,
967d58f44f73be59bd3583e6dfeedf56c43f7fbd55Brian Paul                        const struct gl_texture_format *texDestFormat,
977d58f44f73be59bd3583e6dfeedf56c43f7fbd55Brian Paul                        GLvoid *texDestAddr,
988e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                        GLint srcWidth, GLint srcHeight, GLint srcDepth,
998e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                        GLint dstXoffset, GLint dstYoffset, GLint dstZoffset,
1008e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                        GLint dstRowStride, GLint dstImageStride,
1018e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                        GLenum srcFormat, GLenum srcType,
1028e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                        const GLvoid *srcAddr,
1038e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                        const struct gl_pixelstore_attrib *srcPacking);
1048e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
105f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul#endif /* NEWTEXSTORE */
106f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97Brian Paul
1078e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
1088e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paulextern void
1098e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul_mesa_store_teximage1d(GLcontext *ctx, GLenum target, GLint level,
1108e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                       GLint internalFormat,
1118e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                       GLint width, GLint border,
1128e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                       GLenum format, GLenum type, const GLvoid *pixels,
1138e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                       const struct gl_pixelstore_attrib *packing,
1148e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                       struct gl_texture_object *texObj,
1158e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                       struct gl_texture_image *texImage);
1168e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
1178e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
1188e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paulextern void
1198e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul_mesa_store_teximage2d(GLcontext *ctx, GLenum target, GLint level,
1208e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                       GLint internalFormat,
1218e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                       GLint width, GLint height, GLint border,
122d6643331ab1a2215338be19177296d255170c798Kendall Bennett                       GLenum format, GLenum type, const GLvoid *pixels,
1238e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                       const struct gl_pixelstore_attrib *packing,
1248e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                       struct gl_texture_object *texObj,
1258e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                       struct gl_texture_image *texImage);
1268e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
1278e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
1288e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paulextern void
1298e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul_mesa_store_teximage3d(GLcontext *ctx, GLenum target, GLint level,
1308e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                       GLint internalFormat,
1318e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                       GLint width, GLint height, GLint depth, GLint border,
132d6643331ab1a2215338be19177296d255170c798Kendall Bennett                       GLenum format, GLenum type, const GLvoid *pixels,
1338e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                       const struct gl_pixelstore_attrib *packing,
1348e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                       struct gl_texture_object *texObj,
1358e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                       struct gl_texture_image *texImage);
1368e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
1378e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
1388e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paulextern void
1398e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul_mesa_store_texsubimage1d(GLcontext *ctx, GLenum target, GLint level,
1408e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                          GLint xoffset, GLint width,
141d6643331ab1a2215338be19177296d255170c798Kendall Bennett                          GLenum format, GLenum type, const GLvoid *pixels,
1428e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                          const struct gl_pixelstore_attrib *packing,
1438e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                          struct gl_texture_object *texObj,
1448e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                          struct gl_texture_image *texImage);
1458e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
1468e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
1478e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paulextern void
1488e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul_mesa_store_texsubimage2d(GLcontext *ctx, GLenum target, GLint level,
1498e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                          GLint xoffset, GLint yoffset,
1508e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                          GLint width, GLint height,
151d6643331ab1a2215338be19177296d255170c798Kendall Bennett                          GLenum format, GLenum type, const GLvoid *pixels,
1528e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                          const struct gl_pixelstore_attrib *packing,
1538e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                          struct gl_texture_object *texObj,
1548e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                          struct gl_texture_image *texImage);
1558e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
1568e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
1578e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paulextern void
1588e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul_mesa_store_texsubimage3d(GLcontext *ctx, GLenum target, GLint level,
1598e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                          GLint xoffset, GLint yoffset, GLint zoffset,
1608e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                          GLint width, GLint height, GLint depth,
161d6643331ab1a2215338be19177296d255170c798Kendall Bennett                          GLenum format, GLenum type, const GLvoid *pixels,
1628e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                          const struct gl_pixelstore_attrib *packing,
1638e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                          struct gl_texture_object *texObj,
1648e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                          struct gl_texture_image *texImage);
1658e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
1668e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
1672aadbf41dfd4f63c6118d0ad2d8659d289cbe454Brian Paulextern void
1688e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul_mesa_store_compressed_teximage1d(GLcontext *ctx, GLenum target, GLint level,
1698e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                                  GLint internalFormat,
1708e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                                  GLint width, GLint border,
1718e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                                  GLsizei imageSize, const GLvoid *data,
1728e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                                  struct gl_texture_object *texObj,
1738e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                                  struct gl_texture_image *texImage);
1748e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
1758e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paulextern void
1768e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul_mesa_store_compressed_teximage2d(GLcontext *ctx, GLenum target, GLint level,
1778e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                                  GLint internalFormat,
1788e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                                  GLint width, GLint height, GLint border,
1798e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                                  GLsizei imageSize, const GLvoid *data,
1808e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                                  struct gl_texture_object *texObj,
1818e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                                  struct gl_texture_image *texImage);
1828e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
1838e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paulextern void
1848e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul_mesa_store_compressed_teximage3d(GLcontext *ctx, GLenum target, GLint level,
1858e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                                  GLint internalFormat,
1868e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                                  GLint width, GLint height, GLint depth,
1878e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                                  GLint border,
1888e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                                  GLsizei imageSize, const GLvoid *data,
1898e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                                  struct gl_texture_object *texObj,
1908e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul                                  struct gl_texture_image *texImage);
1918e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
1928e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul
193e4276667dafc8de0c6e64af8300fc7598437de6eBrian Paulextern void
19489fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul_mesa_store_compressed_texsubimage1d(GLcontext *ctx, GLenum target,
19589fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                     GLint level,
19689fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                     GLint xoffset, GLsizei width,
19789fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                     GLenum format,
19889fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                     GLsizei imageSize, const GLvoid *data,
19989fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                     struct gl_texture_object *texObj,
20089fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                     struct gl_texture_image *texImage);
20189fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul
20289fb06fcc11cbe3f23521312155d6c55d869f526Brian Paulextern void
20389fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul_mesa_store_compressed_texsubimage2d(GLcontext *ctx, GLenum target,
20489fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                     GLint level,
20589fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                     GLint xoffset, GLint yoffset,
20689fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                     GLsizei width, GLsizei height,
20789fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                     GLenum format,
20889fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                     GLsizei imageSize, const GLvoid *data,
20989fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                     struct gl_texture_object *texObj,
21089fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                     struct gl_texture_image *texImage);
21189fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul
21289fb06fcc11cbe3f23521312155d6c55d869f526Brian Paulextern void
21389fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul_mesa_store_compressed_texsubimage3d(GLcontext *ctx, GLenum target,
21489fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                GLint level,
21589fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                GLint xoffset, GLint yoffset, GLint zoffset,
21689fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                GLsizei width, GLsizei height, GLsizei depth,
21789fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                GLenum format,
21889fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                GLsizei imageSize, const GLvoid *data,
21989fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                struct gl_texture_object *texObj,
22089fb06fcc11cbe3f23521312155d6c55d869f526Brian Paul                                struct gl_texture_image *texImage);
221e4276667dafc8de0c6e64af8300fc7598437de6eBrian Paul
222e4276667dafc8de0c6e64af8300fc7598437de6eBrian Paul
2233893e638e6521b9c070e01c0b31d22754ff97a88Brian Paulextern void
224d5bbbd41c431ad93c0867d5b0b234426d8570499Brian Paul_mesa_generate_mipmap(GLcontext *ctx, GLenum target,
2253893e638e6521b9c070e01c0b31d22754ff97a88Brian Paul                      const struct gl_texture_unit *texUnit,
2263893e638e6521b9c070e01c0b31d22754ff97a88Brian Paul                      struct gl_texture_object *texObj);
2273893e638e6521b9c070e01c0b31d22754ff97a88Brian Paul
2288e39ad2cd67d49be40ff0822f3269affdf83d601Brian Paul#endif
229