1 /* $Id: teximage.h,v 1.4 1997/11/02 20:20:47 brianp Exp $ */
4 * Mesa 3-D graphics library
6 * Copyright (C) 1995-1997 Brian Paul
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Library General Public License for more details.
18 * You should have received a copy of the GNU Library General Public
19 * License along with this library; if not, write to the Free
20 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25 * $Log: teximage.h,v $
26 * Revision 1.4 1997/11/02 20:20:47 brianp
27 * removed gl_unpack_texsubimage3D()
29 * Revision 1.3 1997/02/09 18:53:05 brianp
30 * added GL_EXT_texture3D support
32 * Revision 1.2 1996/11/07 04:13:24 brianp
33 * all new texture image handling, now pixel scale, bias, mapping work
35 * Revision 1.1 1996/09/13 01:38:16 brianp
48 /*** Internal functions ***/
51 extern struct gl_texture_image
*gl_alloc_texture_image( void );
54 extern void gl_free_texture_image( struct gl_texture_image
*teximage
);
57 extern struct gl_image
*
58 gl_unpack_texsubimage( GLcontext
*ctx
, GLint width
, GLint height
,
59 GLenum format
, GLenum type
, const GLvoid
*pixels
);
62 extern struct gl_texture_image
*
63 gl_unpack_texture( GLcontext
*ctx
,
68 GLsizei width
, GLsizei height
,
70 GLenum format
, GLenum type
,
71 const GLvoid
*pixels
);
73 extern struct gl_texture_image
*
74 gl_unpack_texture3D( GLcontext
*ctx
,
79 GLsizei width
, GLsizei height
, GLsizei depth
,
81 GLenum format
, GLenum type
,
82 const GLvoid
*pixels
);
85 extern void gl_tex_image_1D( GLcontext
*ctx
,
86 GLenum target
, GLint level
, GLint internalformat
,
87 GLsizei width
, GLint border
, GLenum format
,
88 GLenum type
, const GLvoid
*pixels
);
91 extern void gl_tex_image_2D( GLcontext
*ctx
,
92 GLenum target
, GLint level
, GLint internalformat
,
93 GLsizei width
, GLint height
, GLint border
,
94 GLenum format
, GLenum type
,
95 const GLvoid
*pixels
);
97 extern void gl_tex_image_3D( GLcontext
*ctx
,
98 GLenum target
, GLint level
, GLint internalformat
,
99 GLsizei width
, GLint height
, GLint depth
,
101 GLenum format
, GLenum type
,
102 const GLvoid
*pixels
);
105 /*** API entry points ***/
108 extern void gl_TexImage1D( GLcontext
*ctx
,
109 GLenum target
, GLint level
, GLint internalformat
,
110 GLsizei width
, GLint border
, GLenum format
,
111 GLenum type
, struct gl_image
*teximage
);
114 extern void gl_TexImage2D( GLcontext
*ctx
,
115 GLenum target
, GLint level
, GLint internalformat
,
116 GLsizei width
, GLsizei height
, GLint border
,
117 GLenum format
, GLenum type
,
118 struct gl_image
*teximage
);
120 extern void gl_GetTexImage( GLcontext
*ctx
, GLenum target
, GLint level
,
121 GLenum format
, GLenum type
, GLvoid
*pixels
);
125 extern void gl_TexSubImage1D( GLcontext
*ctx
,
126 GLenum target
, GLint level
, GLint xoffset
,
127 GLsizei width
, GLenum format
, GLenum type
,
128 struct gl_image
*image
);
131 extern void gl_TexSubImage2D( GLcontext
*ctx
,
132 GLenum target
, GLint level
,
133 GLint xoffset
, GLint yoffset
,
134 GLsizei width
, GLsizei height
,
135 GLenum format
, GLenum type
,
136 struct gl_image
*image
);
139 extern void gl_CopyTexImage1D( GLcontext
*ctx
,
140 GLenum target
, GLint level
,
141 GLenum internalformat
,
143 GLsizei width
, GLint border
);
146 extern void gl_CopyTexImage2D( GLcontext
*ctx
,
147 GLenum target
, GLint level
,
148 GLenum internalformat
, GLint x
, GLint y
,
149 GLsizei width
, GLsizei height
,
153 extern void gl_CopyTexSubImage1D( GLcontext
*ctx
,
154 GLenum target
, GLint level
,
155 GLint xoffset
, GLint x
, GLint y
,
159 extern void gl_CopyTexSubImage2D( GLcontext
*ctx
,
160 GLenum target
, GLint level
,
161 GLint xoffset
, GLint yoffset
,
163 GLsizei width
, GLsizei height
);