texstore.h revision 709892459922a32096fe9dd8261d0d92337bb02f
1/* $Id: texstore.h,v 1.3 2001/03/19 02:25:35 keithw Exp $ */
2
3/*
4 * Mesa 3-D graphics library
5 * Version:  3.5
6 *
7 * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
8 *
9 * Permission is hereby granted, free of charge, to any person obtaining a
10 * copy of this software and associated documentation files (the "Software"),
11 * to deal in the Software without restriction, including without limitation
12 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
13 * and/or sell copies of the Software, and to permit persons to whom the
14 * Software is furnished to do so, subject to the following conditions:
15 *
16 * The above copyright notice and this permission notice shall be included
17 * in all copies or substantial portions of the Software.
18 *
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
20 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
22 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
23 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
24 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25 */
26
27/*
28 * Authors:
29 *   Brian Paul
30 */
31
32
33#ifndef TEXSTORE_H
34#define TEXSTORE_H
35
36
37#include "mtypes.h"
38
39
40extern void
41_mesa_transfer_teximage(GLcontext *ctx, GLuint dimensions,
42                        GLenum texFormat, GLchan *texAddr,
43                        GLint srcWidth, GLint srcHeight, GLint srcDepth,
44                        GLint dstXoffset, GLint dstYoffset, GLint dstZoffset,
45                        GLint dstRowStride, GLint dstImageStride,
46                        GLenum srcFormat, GLenum srcType,
47                        const GLvoid *srcAddr,
48                        const struct gl_pixelstore_attrib *srcPacking);
49
50
51extern void
52_mesa_store_teximage1d(GLcontext *ctx, GLenum target, GLint level,
53                       GLint internalFormat,
54                       GLint width, GLint border,
55                       GLenum format, GLenum type, const GLvoid *pixels,
56                       const struct gl_pixelstore_attrib *packing,
57                       struct gl_texture_object *texObj,
58                       struct gl_texture_image *texImage);
59
60
61extern void
62_mesa_store_teximage2d(GLcontext *ctx, GLenum target, GLint level,
63                       GLint internalFormat,
64                       GLint width, GLint height, GLint border,
65                       GLenum format, GLenum type, const void *pixels,
66                       const struct gl_pixelstore_attrib *packing,
67                       struct gl_texture_object *texObj,
68                       struct gl_texture_image *texImage);
69
70
71extern void
72_mesa_store_teximage3d(GLcontext *ctx, GLenum target, GLint level,
73                       GLint internalFormat,
74                       GLint width, GLint height, GLint depth, GLint border,
75                       GLenum format, GLenum type, const void *pixels,
76                       const struct gl_pixelstore_attrib *packing,
77                       struct gl_texture_object *texObj,
78                       struct gl_texture_image *texImage);
79
80
81extern void
82_mesa_store_texsubimage1d(GLcontext *ctx, GLenum target, GLint level,
83                          GLint xoffset, GLint width,
84                          GLenum format, GLenum type, const void *pixels,
85                          const struct gl_pixelstore_attrib *packing,
86                          struct gl_texture_object *texObj,
87                          struct gl_texture_image *texImage);
88
89
90extern void
91_mesa_store_texsubimage2d(GLcontext *ctx, GLenum target, GLint level,
92                          GLint xoffset, GLint yoffset,
93                          GLint width, GLint height,
94                          GLenum format, GLenum type, const void *pixels,
95                          const struct gl_pixelstore_attrib *packing,
96                          struct gl_texture_object *texObj,
97                          struct gl_texture_image *texImage);
98
99
100extern void
101_mesa_store_texsubimage3d(GLcontext *ctx, GLenum target, GLint level,
102                          GLint xoffset, GLint yoffset, GLint zoffset,
103                          GLint width, GLint height, GLint depth,
104                          GLenum format, GLenum type, const void *pixels,
105                          const struct gl_pixelstore_attrib *packing,
106                          struct gl_texture_object *texObj,
107                          struct gl_texture_image *texImage);
108
109
110extern void
111_mesa_store_compressed_teximage1d(GLcontext *ctx, GLenum target, GLint level,
112                                  GLint internalFormat,
113                                  GLint width, GLint border,
114                                  GLsizei imageSize, const GLvoid *data,
115                                  struct gl_texture_object *texObj,
116                                  struct gl_texture_image *texImage);
117
118extern void
119_mesa_store_compressed_teximage2d(GLcontext *ctx, GLenum target, GLint level,
120                                  GLint internalFormat,
121                                  GLint width, GLint height, GLint border,
122                                  GLsizei imageSize, const GLvoid *data,
123                                  struct gl_texture_object *texObj,
124                                  struct gl_texture_image *texImage);
125
126extern void
127_mesa_store_compressed_teximage3d(GLcontext *ctx, GLenum target, GLint level,
128                                  GLint internalFormat,
129                                  GLint width, GLint height, GLint depth,
130                                  GLint border,
131                                  GLsizei imageSize, const GLvoid *data,
132                                  struct gl_texture_object *texObj,
133                                  struct gl_texture_image *texImage);
134
135
136extern GLboolean
137_mesa_test_proxy_teximage(GLcontext *ctx, GLenum target, GLint level,
138                         GLint internalFormat, GLenum format, GLenum type,
139                         GLint width, GLint height, GLint depth, GLint border);
140
141
142#endif
143