de099bbe0aa027f87b0d50bcdfec1c20e2d583fa
[mesa.git] / src / mesa / main / api_noop.h
1 /* $Id: api_noop.h,v 1.5 2002/04/09 16:56:50 keithw Exp $ */
2
3 /*
4 * Mesa 3-D graphics library
5 * Version: 4.1
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 #ifndef _API_NOOP_H
28 #define _API_NOOP_H
29
30
31 #include "glheader.h"
32 #include "mtypes.h"
33 #include "context.h"
34
35 /* In states where certain vertex components are required for t&l or
36 * rasterization, we still need to keep track of the current values.
37 * These functions provide this service by keeping uptodate the
38 * 'ctx->Current' struct for all data elements not included in the
39 * currently enabled hardware vertex.
40 *
41 */
42 extern void _mesa_noop_EdgeFlag( GLboolean b );
43
44 extern void _mesa_noop_EdgeFlagv( const GLboolean *b );
45
46 extern void _mesa_noop_FogCoordfEXT( GLfloat a );
47
48 extern void _mesa_noop_FogCoordfvEXT( const GLfloat *v );
49
50 extern void _mesa_noop_Indexi( GLint i );
51
52 extern void _mesa_noop_Indexiv( const GLint *v );
53
54 extern void _mesa_noop_Normal3f( GLfloat a, GLfloat b, GLfloat c );
55
56 extern void _mesa_noop_Normal3fv( const GLfloat *v );
57
58 extern void _mesa_noop_Materialfv( GLenum face, GLenum pname, const GLfloat *param );
59
60 extern void _mesa_noop_Color4ub( GLubyte a, GLubyte b, GLubyte c, GLubyte d );
61
62 extern void _mesa_noop_Color4ubv( const GLubyte *v );
63
64 extern void _mesa_noop_Color4f( GLfloat a, GLfloat b, GLfloat c, GLfloat d );
65
66 extern void _mesa_noop_Color4fv( const GLfloat *v );
67
68 extern void _mesa_noop_Color3ub( GLubyte a, GLubyte b, GLubyte c );
69
70 extern void _mesa_noop_Color3ubv( const GLubyte *v );
71
72 extern void _mesa_noop_Color3f( GLfloat a, GLfloat b, GLfloat c );
73
74 extern void _mesa_noop_Color3fv( const GLfloat *v );
75
76 extern void _mesa_noop_MultiTexCoord1fARB( GLenum target, GLfloat a );
77
78 extern void _mesa_noop_MultiTexCoord1fvARB( GLenum target, const GLfloat *v );
79
80 extern void _mesa_noop_MultiTexCoord2fARB( GLenum target, GLfloat a,
81 GLfloat b );
82
83 extern void _mesa_noop_MultiTexCoord2fvARB( GLenum target, const GLfloat *v );
84
85 extern void _mesa_noop_MultiTexCoord3fARB( GLenum target, GLfloat a,
86 GLfloat b, GLfloat c);
87
88 extern void _mesa_noop_MultiTexCoord3fvARB( GLenum target, const GLfloat *v );
89
90 extern void _mesa_noop_MultiTexCoord4fARB( GLenum target, GLfloat a,
91 GLfloat b, GLfloat c, GLfloat d );
92
93 extern void _mesa_noop_MultiTexCoord4fvARB( GLenum target, const GLfloat *v );
94
95 extern void _mesa_noop_SecondaryColor3ubEXT( GLubyte a, GLubyte b, GLubyte c );
96
97 extern void _mesa_noop_SecondaryColor3ubvEXT( const GLubyte *v );
98
99 extern void _mesa_noop_SecondaryColor3fEXT( GLfloat a, GLfloat b, GLfloat c );
100
101 extern void _mesa_noop_SecondaryColor3fvEXT( const GLfloat *v );
102
103 extern void _mesa_noop_TexCoord1f( GLfloat a );
104
105 extern void _mesa_noop_TexCoord1fv( const GLfloat *v );
106
107 extern void _mesa_noop_TexCoord2f( GLfloat a, GLfloat b );
108
109 extern void _mesa_noop_TexCoord2fv( const GLfloat *v );
110
111 extern void _mesa_noop_TexCoord3f( GLfloat a, GLfloat b, GLfloat c );
112
113 extern void _mesa_noop_TexCoord3fv( const GLfloat *v );
114
115 extern void _mesa_noop_TexCoord4f( GLfloat a, GLfloat b, GLfloat c, GLfloat d );
116
117 extern void _mesa_noop_TexCoord4fv( const GLfloat *v );
118
119 extern void _mesa_noop_Vertex2fv( const GLfloat *v );
120
121 extern void _mesa_noop_Vertex3fv( const GLfloat *v );
122
123 extern void _mesa_noop_Vertex4fv( const GLfloat *v );
124
125 extern void _mesa_noop_Vertex2f( GLfloat a, GLfloat b );
126
127 extern void _mesa_noop_Vertex3f( GLfloat a, GLfloat b, GLfloat c );
128
129 extern void _mesa_noop_Vertex4f( GLfloat a, GLfloat b, GLfloat c, GLfloat d );
130
131 extern void _mesa_noop_VertexAttrib4fNV( GLuint index, GLfloat x,
132 GLfloat y, GLfloat z, GLfloat w );
133
134 extern void _mesa_noop_VertexAttrib4fvNV( GLuint index, const GLfloat *v );
135
136
137
138 /* Not strictly a noop -- translate Rectf down to Begin/End and
139 * vertices. Closer to the loopback operations, but doesn't meet the
140 * criteria for inclusion there (cannot be used in the Save table).
141 */
142 extern void _mesa_noop_Rectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
143
144
145 extern void _mesa_noop_DrawArrays(GLenum mode, GLint start, GLsizei count);
146 extern void _mesa_noop_DrawElements(GLenum mode, GLsizei count, GLenum type,
147 const GLvoid *indices);
148 extern void _mesa_noop_DrawRangeElements(GLenum mode,
149 GLuint start, GLuint end,
150 GLsizei count, GLenum type,
151 const GLvoid *indices);
152
153
154
155 #endif