applied Keith's fix for the Loki ice bug
[mesa.git] / src / mesa / main / texstate.h
1 /* $Id: texstate.h,v 1.2 1999/11/11 01:22:28 brianp Exp $ */
2
3 /*
4 * Mesa 3-D graphics library
5 * Version: 3.1
6 *
7 * Copyright (C) 1999 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
29
30
31 #ifndef TEXSTATE_H
32 #define TEXSTATE_H
33
34
35 #include "types.h"
36
37
38 /*** Called from API ***/
39
40 extern void
41 _mesa_GetTexEnvfv( GLenum target, GLenum pname, GLfloat *params );
42
43 extern void
44 _mesa_GetTexEnviv( GLenum target, GLenum pname, GLint *params );
45
46 extern void
47 _mesa_GetTexGendv( GLenum coord, GLenum pname, GLdouble *params );
48
49 extern void
50 _mesa_GetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );
51
52 extern void
53 _mesa_GetTexGeniv( GLenum coord, GLenum pname, GLint *params );
54
55 extern void
56 _mesa_GetTexLevelParameterfv( GLenum target, GLint level,
57 GLenum pname, GLfloat *params );
58
59 extern void
60 _mesa_GetTexLevelParameteriv( GLenum target, GLint level,
61 GLenum pname, GLint *params );
62
63 extern void
64 _mesa_GetTexParameterfv( GLenum target, GLenum pname, GLfloat *params );
65
66 extern void
67 _mesa_GetTexParameteriv( GLenum target, GLenum pname, GLint *params );
68
69
70 extern void
71 _mesa_TexEnvf( GLenum target, GLenum pname, GLfloat param );
72
73 extern void
74 _mesa_TexEnvfv( GLenum target, GLenum pname, const GLfloat *param );
75
76 extern void
77 _mesa_TexEnvi( GLenum target, GLenum pname, GLint param );
78
79 extern void
80 _mesa_TexEnviv( GLenum target, GLenum pname, const GLint *param );
81
82
83 extern void
84 _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params );
85
86 extern void
87 _mesa_TexParameterf( GLenum target, GLenum pname, GLfloat param );
88
89
90 extern void
91 _mesa_TexParameteri( GLenum target, GLenum pname, GLint param );
92
93 extern void
94 _mesa_TexParameteriv( GLenum target, GLenum pname, const GLint *params );
95
96
97 extern void
98 _mesa_TexGend( GLenum coord, GLenum pname, GLdouble param );
99
100 extern void
101 _mesa_TexGendv( GLenum coord, GLenum pname, const GLdouble *params );
102
103 extern void
104 _mesa_TexGenf( GLenum coord, GLenum pname, GLfloat param );
105
106 extern void
107 _mesa_TexGenfv( GLenum coord, GLenum pname, const GLfloat *params );
108
109 extern void
110 _mesa_TexGeni( GLenum coord, GLenum pname, GLint param );
111
112 extern void
113 _mesa_TexGeniv( GLenum coord, GLenum pname, const GLint *params );
114
115
116
117 extern void gl_SelectTextureTransform( GLcontext *ctx, GLenum target );
118
119
120 /*
121 * GL_ARB_multitexture
122 */
123 extern void
124 _mesa_ActiveTextureARB( GLenum target );
125
126 extern void
127 _mesa_ClientActiveTextureARB( GLenum target );
128
129
130
131 /*** Internal functions ***/
132
133 extern void
134 gl_put_texobj_on_dirty_list( GLcontext *ctx, struct gl_texture_object *t );
135
136 #ifdef VMS
137 #define gl_remove_texobj_from_dirty_list gl_remove_texobj_from_dirty_lis
138 #endif
139 extern void
140 gl_remove_texobj_from_dirty_list( struct gl_shared_state *shared,
141 struct gl_texture_object *tObj );
142
143 extern void
144 gl_update_dirty_texobjs( GLcontext *ctx );
145
146
147 #endif
148