xref: /reactos/dll/opengl/mesa/texobj.h (revision 69931a4a)
1 /* $Id: texobj.h,v 1.3 1997/09/23 00:58:15 brianp Exp $ */
2 
3 /*
4  * Mesa 3-D graphics library
5  * Version:  2.3
6  * Copyright (C) 1995-1996  Brian Paul
7  *
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.
12  *
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.
17  *
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.
21  */
22 
23 
24 /*
25  * $Log: texobj.h,v $
26  * Revision 1.3  1997/09/23 00:58:15  brianp
27  * now using hash table for texture objects
28  *
29  * Revision 1.2  1997/04/28 23:37:34  brianp
30  * added gl_test_texture_object_completeness()
31  *
32  * Revision 1.1  1996/09/13 01:38:16  brianp
33  * Initial revision
34  *
35  */
36 
37 
38 #ifndef TEXTOBJ_H
39 #define TEXTOBJ_H
40 
41 
42 #include "types.h"
43 
44 
45 /*
46  * Internal functions
47  */
48 
49 extern struct gl_texture_object *
50 gl_alloc_texture_object( struct gl_shared_state *shared, GLuint name,
51                          GLuint dimensions );
52 
53 
54 extern void gl_free_texture_object( struct gl_shared_state *shared,
55                                     struct gl_texture_object *t );
56 
57 
58 extern void gl_test_texture_object_completeness( struct gl_texture_object *t );
59 
60 
61 /*
62  * API functions
63  */
64 
65 extern void gl_GenTextures( GLcontext *ctx, GLsizei n, GLuint *textures );
66 
67 
68 extern void gl_DeleteTextures( GLcontext *ctx,
69                                GLsizei n, const GLuint *textures);
70 
71 
72 extern void gl_BindTexture( GLcontext *ctx, GLenum target, GLuint texture );
73 
74 
75 extern void gl_PrioritizeTextures( GLcontext *ctx,
76                                    GLsizei n, const GLuint *textures,
77                                    const GLclampf *priorities );
78 
79 
80 extern GLboolean gl_AreTexturesResident( GLcontext *ctx, GLsizei n,
81                                          const GLuint *textures,
82                                          GLboolean *residences );
83 
84 
85 extern GLboolean gl_IsTexture( GLcontext *ctx, GLuint texture );
86 
87 
88 #endif
89