Subversion Repositories shark

Rev

Rev 55 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
55 pj 1
/* $Id: teximage.h,v 1.1 2003-02-28 11:42:05 pj 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
#ifndef TEXIMAGE_H
29
#define TEXIMAGE_H
30
 
31
 
32
#include "mtypes.h"
33
 
34
 
35
/*** Internal functions ***/
36
 
37
 
38
extern GLint
39
_mesa_base_tex_format( GLcontext *ctx, GLint format );
40
 
41
 
42
extern struct gl_texture_image *
43
_mesa_alloc_texture_image( void );
44
 
45
 
46
extern void
47
_mesa_free_texture_image( struct gl_texture_image *teximage );
48
 
49
 
50
extern void
51
_mesa_init_teximage_fields(GLcontext *ctx, GLenum target,
52
                           struct gl_texture_image *img,
53
                           GLsizei width, GLsizei height, GLsizei depth,
54
                           GLint border, GLenum internalFormat);
55
 
56
 
57
extern void
58
_mesa_set_tex_image(struct gl_texture_object *tObj,
59
                    GLenum target, GLint level,
60
                    struct gl_texture_image *texImage);
61
 
62
 
63
extern struct gl_texture_object *
64
_mesa_select_tex_object(GLcontext *ctx, const struct gl_texture_unit *texUnit,
65
                        GLenum target);
66
 
67
 
68
extern struct gl_texture_image *
69
_mesa_select_tex_image(GLcontext *ctx, const struct gl_texture_unit *texUnit,
70
                       GLenum target, GLint level);
71
 
72
 
73
extern GLint
74
_mesa_max_texture_levels(GLcontext *ctx, GLenum target);
75
 
76
 
77
/*** API entry point functions ***/
78
 
79
 
80
extern void
81
_mesa_TexImage1D( GLenum target, GLint level, GLint internalformat,
82
                  GLsizei width, GLint border,
83
                  GLenum format, GLenum type, const GLvoid *pixels );
84
 
85
 
86
extern void
87
_mesa_TexImage2D( GLenum target, GLint level, GLint internalformat,
88
                  GLsizei width, GLsizei height, GLint border,
89
                  GLenum format, GLenum type, const GLvoid *pixels );
90
 
91
 
92
extern void
93
_mesa_TexImage3D( GLenum target, GLint level, GLint internalformat,
94
                  GLsizei width, GLsizei height, GLsizei depth, GLint border,
95
                  GLenum format, GLenum type, const GLvoid *pixels );
96
 
97
 
98
extern void
99
_mesa_TexImage3DEXT( GLenum target, GLint level, GLenum internalformat,
100
                     GLsizei width, GLsizei height, GLsizei depth,
101
                     GLint border, GLenum format, GLenum type,
102
                     const GLvoid *pixels );
103
 
104
 
105
extern void
106
_mesa_GetTexImage( GLenum target, GLint level,
107
                   GLenum format, GLenum type, GLvoid *pixels );
108
 
109
 
110
extern void
111
_mesa_TexSubImage1D( GLenum target, GLint level, GLint xoffset,
112
                     GLsizei width,
113
                     GLenum format, GLenum type,
114
                     const GLvoid *pixels );
115
 
116
 
117
extern void
118
_mesa_TexSubImage2D( GLenum target, GLint level,
119
                     GLint xoffset, GLint yoffset,
120
                     GLsizei width, GLsizei height,
121
                     GLenum format, GLenum type,
122
                     const GLvoid *pixels );
123
 
124
 
125
extern void
126
_mesa_TexSubImage3D( GLenum target, GLint level,
127
                     GLint xoffset, GLint yoffset, GLint zoffset,
128
                     GLsizei width, GLsizei height, GLsizei depth,
129
                     GLenum format, GLenum type,
130
                     const GLvoid *pixels );
131
 
132
 
133
extern void
134
_mesa_CopyTexImage1D( GLenum target, GLint level, GLenum internalformat,
135
                      GLint x, GLint y, GLsizei width, GLint border );
136
 
137
 
138
extern void
139
_mesa_CopyTexImage2D( GLenum target, GLint level,
140
                      GLenum internalformat, GLint x, GLint y,
141
                      GLsizei width, GLsizei height, GLint border );
142
 
143
 
144
extern void
145
_mesa_CopyTexSubImage1D( GLenum target, GLint level, GLint xoffset,
146
                         GLint x, GLint y, GLsizei width );
147
 
148
 
149
extern void
150
_mesa_CopyTexSubImage2D( GLenum target, GLint level,
151
                         GLint xoffset, GLint yoffset,
152
                         GLint x, GLint y, GLsizei width, GLsizei height );
153
 
154
 
155
extern void
156
_mesa_CopyTexSubImage3D( GLenum target, GLint level,
157
                         GLint xoffset, GLint yoffset, GLint zoffset,
158
                         GLint x, GLint y, GLsizei width, GLsizei height );
159
 
160
 
161
 
162
extern void
163
_mesa_CompressedTexImage1DARB(GLenum target, GLint level,
164
                              GLenum internalformat, GLsizei width,
165
                              GLint border, GLsizei imageSize,
166
                              const GLvoid *data);
167
 
168
extern void
169
_mesa_CompressedTexImage2DARB(GLenum target, GLint level,
170
                              GLenum internalformat, GLsizei width,
171
                              GLsizei height, GLint border, GLsizei imageSize,
172
                              const GLvoid *data);
173
 
174
extern void
175
_mesa_CompressedTexImage3DARB(GLenum target, GLint level,
176
                              GLenum internalformat, GLsizei width,
177
                              GLsizei height, GLsizei depth, GLint border,
178
                              GLsizei imageSize, const GLvoid *data);
179
 
180
#ifdef VMS
181
#define _mesa_CompressedTexSubImage1DARB _mesa_CompressedTexSubImage1DAR
182
#define _mesa_CompressedTexSubImage2DARB _mesa_CompressedTexSubImage2DAR
183
#define _mesa_CompressedTexSubImage3DARB _mesa_CompressedTexSubImage3DAR
184
#endif
185
extern void
186
_mesa_CompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset,
187
                                 GLsizei width, GLenum format,
188
                                 GLsizei imageSize, const GLvoid *data);
189
 
190
extern void
191
_mesa_CompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset,
192
                                 GLint yoffset, GLsizei width, GLsizei height,
193
                                 GLenum format, GLsizei imageSize,
194
                                 const GLvoid *data);
195
 
196
extern void
197
_mesa_CompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset,
198
                                 GLint yoffset, GLint zoffset, GLsizei width,
199
                                 GLsizei height, GLsizei depth, GLenum format,
200
                                 GLsizei imageSize, const GLvoid *data);
201
 
202
extern void
203
_mesa_GetCompressedTexImageARB(GLenum target, GLint lod, GLvoid *img);
204
 
205
 
206
#endif