ReactOS  0.4.13-dev-242-g611e6d7
types.h
Go to the documentation of this file.
1 /* $Id: types.h,v 1.50 1998/02/03 23:45:36 brianp Exp $ */
2 
3 /*
4  * Mesa 3-D graphics library
5  * Version: 2.6
6  * Copyright (C) 1995-1997 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: types.h,v $
26  * Revision 1.50 1998/02/03 23:45:36 brianp
27  * added space parameter to clip interpolation functions
28  *
29  * Revision 1.49 1998/01/06 02:40:52 brianp
30  * added DavidB's clipping interpolation optimization
31  *
32  * Revision 1.48 1997/12/31 06:10:03 brianp
33  * added Henk Kok's texture validation optimization (AnyDirty flag)
34  *
35  * Revision 1.47 1997/12/06 18:06:50 brianp
36  * moved several static display list vars into GLcontext
37  *
38  * Revision 1.46 1997/10/29 01:33:29 brianp
39  * added DriverMgrCtx field to gl_context struct
40  *
41  * Revision 1.45 1997/10/29 01:29:09 brianp
42  * added GL_EXT_point_parameters extension from Daniel Barrero
43  *
44  * Revision 1.44 1997/10/16 01:59:08 brianp
45  * added GL_EXT_shared_texture_palette extension
46  *
47  * Revision 1.43 1997/10/16 01:13:03 brianp
48  * removed teximage Dirty, DirtyPalette flags, mondello code
49  *
50  * Revision 1.42 1997/09/29 23:27:08 brianp
51  * added Dirty and DriverData fields for texturing
52  *
53  * Revision 1.41 1997/09/27 00:13:44 brianp
54  * added GL_EXT_paletted_texture extension
55  *
56  * Revision 1.40 1997/09/23 00:57:38 brianp
57  * now using hash table for texture objects
58  *
59  * Revision 1.39 1997/09/22 02:33:58 brianp
60  * display lists now implemented with hash table
61  *
62  * Revision 1.38 1997/08/13 01:30:55 brianp
63  * LightTwoSide is now a GLboolean
64  *
65  * Revision 1.37 1997/08/01 02:23:27 brianp
66  * removed unused gl_list_group struct
67  *
68  * Revision 1.36 1997/06/20 02:07:50 brianp
69  * replaced Current.IntColor with Current.ByteColor
70  * removed ColorShift field
71  *
72  * Revision 1.35 1997/06/20 02:02:37 brianp
73  * added Color4ubv API pointer
74  *
75  * Revision 1.34 1997/05/31 16:57:14 brianp
76  * added MESA_NO_RASTER env var support
77  *
78  * Revision 1.33 1997/05/28 04:06:03 brianp
79  * implemented projection near/far value stack for Driver.NearFar() function
80  *
81  * Revision 1.32 1997/05/26 21:15:13 brianp
82  * added Red/Green/Blue/AlphaBits to GLvisual struct
83  *
84  * Revision 1.31 1997/05/03 00:49:31 brianp
85  * added SampleFunc, Current, and Dirty to gl_texture_object
86  *
87  * Revision 1.30 1997/05/01 02:07:35 brianp
88  * added shared state variable NextFreeTextureName
89  *
90  * Revision 1.29 1997/04/24 01:50:53 brianp
91  * optimized glColor3f, glColor3fv, glColor4fv
92  *
93  * Revision 1.28 1997/04/21 01:20:41 brianp
94  * added MATRIX_2D_NO_ROT
95  *
96  * Revision 1.27 1997/04/20 16:18:15 brianp
97  * added glOrtho and glFrustum API pointers
98  *
99  * Revision 1.26 1997/04/16 23:55:33 brianp
100  * added optimized glTexCoord2f code
101  *
102  * Revision 1.25 1997/04/14 22:18:23 brianp
103  * added optimized glVertex3fv code
104  *
105  * Revision 1.24 1997/04/14 02:03:05 brianp
106  * added MinMagThresh to texture object
107  *
108  * Revision 1.23 1997/04/12 16:54:05 brianp
109  * new NEW_POLYGON state flag
110  *
111  * Revision 1.22 1997/04/12 12:26:39 brianp
112  * added quad_func and rect_func, removed polygon_func
113  *
114  * Revision 1.21 1997/04/07 02:57:13 brianp
115  * added API.Vertex[23] functions
116  *
117  * Revision 1.20 1997/04/01 04:19:37 brianp
118  * added API pointer for glLoadIdentity
119  * added matrix type constants and fields
120  *
121  * Revision 1.19 1997/03/13 03:05:54 brianp
122  * changed AlphaRefInt to AlphaRefUbyte
123  *
124  * Revision 1.18 1997/03/04 19:17:38 brianp
125  * added a few members to gl_texture_image struct
126  *
127  * Revision 1.17 1997/02/10 19:49:29 brianp
128  * added glResizeBuffersMESA() code
129  *
130  * Revision 1.16 1997/02/09 19:53:43 brianp
131  * now use TEXTURE_xD enable constants
132  *
133  * Revision 1.15 1997/02/09 18:42:41 brianp
134  * added GL_EXT_texture3D support
135  *
136  * Revision 1.14 1997/01/28 22:14:36 brianp
137  * now there's separate state for CI and RGBA logic op enabled
138  *
139  * Revision 1.13 1997/01/21 03:09:41 brianp
140  * added definition: union node;
141  *
142  * Revision 1.12 1997/01/09 21:26:23 brianp
143  * added RefCount to gl_image struct
144  *
145  * Revision 1.11 1996/12/18 20:01:39 brianp
146  * added material bitmask constants and ColorMaterialBitmask
147  *
148  * Revision 1.10 1996/12/11 20:16:30 brianp
149  * changed GLaccum types to signed
150  *
151  * Revision 1.9 1996/11/08 02:21:04 brianp
152  * added NoRaster flag to context
153  *
154  * Revision 1.8 1996/11/07 04:11:34 brianp
155  * now pass gl_image struct pointer to glTexImage[12]D()
156  *
157  * Revision 1.7 1996/11/06 04:21:58 brianp
158  * added Format to struct gl_image
159  *
160  * Revision 1.6 1996/10/11 03:41:12 brianp
161  * removed OffsetBias field
162  *
163  * Revision 1.5 1996/10/11 00:23:04 brianp
164  * changed Polygon/Line/PointZoffset to GLfloat
165  *
166  * Revision 1.4 1996/09/25 03:22:53 brianp
167  * added NO_DRAW_BIT for glDrawBuffer(GL_NONE)
168  *
169  * Revision 1.3 1996/09/19 03:17:56 brianp
170  * removed Window field from struct gl_frame_buffer
171  *
172  * Revision 1.2 1996/09/15 14:20:54 brianp
173  * added GLframebuffer and GLvisual datatypes
174  *
175  * Revision 1.1 1996/09/13 01:38:16 brianp
176  * Initial revision
177  *
178  */
179 
180 
181 #ifndef TYPES_H
182 #define TYPES_H
183 
184 
185 #include "GL/gl.h"
186 #include "config.h"
187 
188 
189 struct HashTable;
190 
191 
192 /*
193  * Accumulation buffer data type:
194  */
195 #if ACCUM_BITS==8
196  typedef GLbyte GLaccum;
197 #elif ACCUM_BITS==16
198  typedef GLshort GLaccum;
199 #else
200  illegal number of accumulation bits
201 #endif
202 
203 
204 /*
205  * Stencil buffer data type:
206  */
207 #if STENCIL_BITS==8
209 #else
210  illegal number of stencil bits
211 #endif
212 
213 
214 
215 /*
216  * Depth buffer data type:
217  */
218 typedef GLint GLdepth;
219 
220 
221 
222 #include "fixed.h"
223 
224 
225 
226 typedef struct gl_visual GLvisual;
227 
228 typedef struct gl_context GLcontext;
229 
231 
232 
233 
234 /*
235  * Point, line, triangle, quadrilateral and rectangle rasterizer functions:
236  */
238 
239 typedef void (*line_func)( GLcontext *ctx, GLuint v1, GLuint v2, GLuint pv );
240 
241 typedef void (*triangle_func)( GLcontext *ctx,
242  GLuint v1, GLuint v2, GLuint v3, GLuint pv );
243 
244 typedef void (*quad_func)( GLcontext *ctx, GLuint v1, GLuint v2,
245  GLuint v3, GLuint v4, GLuint pv );
246 
247 typedef void (*rect_func)( GLcontext *ctx, GLint x, GLint y,
248  GLint width, GLint height );
249 
250 /*
251  * The auxiliary interpolation function for clipping
252  */
254 
255 
256 /*
257  * For texture sampling:
258  */
259 struct gl_texture_object;
260 
261 typedef void (*TextureSampleFunc)( const struct gl_texture_object *tObj,
262  GLuint n,
263  const GLfloat s[], const GLfloat t[],
264  const GLfloat u[], const GLfloat lambda[],
265  GLubyte r[], GLubyte g[],
266  GLubyte b[],GLubyte a[] );
267 
268 
269 /* Generic internal image format */
270 struct gl_image {
273  GLint Components; /* 1, 2, 3 or 4 */
274  GLenum Format; /* GL_COLOR_INDEX, GL_RED, GL_RGB, etc */
275  GLenum Type; /* GL_UNSIGNED_BYTE or GL_FLOAT or GL_BITMAP */
277  GLboolean Interleaved; /* If TRUE and Format==GL_RGB, GL_RGBA or
278  * GL_LUMINANCE_ALPHA then each row is
279  * stored as RRR..RGGG..GBBB.B instead of
280  * RGBRGBRGBRGB..RGB. This is only used
281  * for glDrawPixels.
282  */
284 };
285 
286 
287 
288 /* Texture image record */
290  GLenum Format; /* GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA,
291  * GL_INTENSITY, GL_RGB, GL_RGBA, or
292  * GL_COLOR_INDEX
293  */
294  GLenum IntFormat; /* Internal format as given by the user */
295  GLuint Border; /* 0 or 1 */
296  GLuint Width; /* = 2^WidthLog2 + 2*Border */
297  GLuint Height; /* = 2^HeightLog2 + 2*Border */
298  GLuint Width2; /* = Width - 2*Border */
299  GLuint Height2; /* = Height - 2*Border */
300  GLuint WidthLog2; /* = log2(Width2) */
301  GLuint HeightLog2; /* = log2(Height2) */
302  GLuint MaxLog2; /* = MAX(WidthLog2, HeightLog2) */
303  GLubyte *Data; /* Image data as unsigned bytes */
304 
305  /* For device driver: */
306  void *DriverData; /* Arbitrary device driver data */
307 };
308 
309 
310 
311 /*
312  * All gl* API functions in api.c jump through pointers in this struct.
313  */
314 struct gl_api_table {
318  const GLuint *, GLboolean * );
323  GLfloat, GLfloat, const struct gl_image *bitmap );
333  void (*ClipPlane)( GLcontext *, GLenum, const GLfloat * );
335  void (*Color3fv)( GLcontext *, const GLfloat * );
337  void (*Color4fv)( GLcontext *, const GLfloat * );
339  void (*Color4ubv)( GLcontext *, const GLubyte * );
348  GLint, GLint, GLsizei, GLint );
352  GLint, GLint, GLsizei );
354  GLint, GLint, GLsizei, GLsizei );
367  GLsizei, GLsizei, GLenum, GLenum, const GLvoid * );
372  void (*End)( GLcontext * );
383  void (*Fogfv)( GLcontext *, GLenum, const GLfloat * );
386  GLdouble, GLdouble );
397  const GLubyte* (*GetString)( GLcontext *, GLenum name );
411  const GLclampf * );
418  GLvoid * );
420  GLenum, GLint, GLenum, GLfloat * );
422  GLenum, GLint, GLenum, GLint * );
441  /* LoadMatrixd implemented with glLoadMatrixf */
442  void (*LoadMatrixf)( GLcontext *, const GLfloat * );
446  const GLfloat *, GLboolean );
448  GLfloat, GLfloat, GLint, GLint, const GLfloat *,
449  GLboolean );
452  GLint, GLfloat, GLfloat );
455  /* MultMatrixd implemented with glMultMatrixf */
456  void (*MultMatrixf)( GLcontext *, const GLfloat * );
459  void (*Normal3fv)( GLcontext *, const GLfloat * );
462  GLdouble, GLdouble );
484  GLenum, GLvoid * );
498  const GLvoid *);
502  GLint, GLenum, GLenum, struct gl_image * );
504  GLint, GLenum, GLenum, struct gl_image * );
506  GLenum, GLenum, struct gl_image * );
509  struct gl_image * );
511  /* Translated implemented by Translatef */
516  void (*Vertex3fv)( GLcontext *, const GLfloat * );
519 };
520 
521 
522 
523 #include "dd.h"
524 
525 
526 /*
527  * Bit flags used for updating material values.
528  */
529 #define FRONT_AMBIENT_BIT 0x1
530 #define BACK_AMBIENT_BIT 0x2
531 #define FRONT_DIFFUSE_BIT 0x4
532 #define BACK_DIFFUSE_BIT 0x8
533 #define FRONT_SPECULAR_BIT 0x10
534 #define BACK_SPECULAR_BIT 0x20
535 #define FRONT_EMISSION_BIT 0x40
536 #define BACK_EMISSION_BIT 0x80
537 #define FRONT_SHININESS_BIT 0x100
538 #define BACK_SHININESS_BIT 0x200
539 #define FRONT_INDEXES_BIT 0x400
540 #define BACK_INDEXES_BIT 0x800
541 
542 #define FRONT_MATERIAL_BITS (FRONT_EMISSION_BIT | FRONT_AMBIENT_BIT | \
543  FRONT_DIFFUSE_BIT | FRONT_SPECULAR_BIT | \
544  FRONT_SHININESS_BIT | FRONT_INDEXES_BIT)
545 
546 #define BACK_MATERIAL_BITS (BACK_EMISSION_BIT | BACK_AMBIENT_BIT | \
547  BACK_DIFFUSE_BIT | BACK_SPECULAR_BIT | \
548  BACK_SHININESS_BIT | BACK_INDEXES_BIT)
549 
550 #define ALL_MATERIAL_BITS (FRONT_MATERIAL_BITS | BACK_MATERIAL_BITS)
551 
552 
553 
554 /*
555  * Specular exponent and material shininess lookup table sizes:
556  */
557 #define EXP_TABLE_SIZE 512
558 #define SHINE_TABLE_SIZE 200
559 
560 struct gl_light {
561  GLfloat Ambient[4]; /* ambient color */
562  GLfloat Diffuse[4]; /* diffuse color */
563  GLfloat Specular[4]; /* specular color */
564  GLfloat Position[4]; /* position in eye coordinates */
565  GLfloat Direction[4]; /* spotlight dir in eye coordinates */
567  GLfloat SpotCutoff; /* in degress */
568  GLfloat CosCutoff; /* = cos(SpotCutoff) */
572  GLboolean Enabled; /* On/off flag */
573 
574  struct gl_light *NextEnabled; /* Ptr to next enabled light or NULL */
575 
576  /* Derived fields */
577  GLfloat VP_inf_norm[3]; /* Norm direction to infinite light */
578  GLfloat h_inf_norm[3]; /* Norm( VP_inf_norm + <0,0,1> ) */
579  GLfloat NormDirection[3]; /* normalized spotlight direction */
580  GLfloat SpotExpTable[EXP_TABLE_SIZE][2]; /* to replace a pow() call */
581  GLfloat MatAmbient[2][3]; /* material ambient * light ambient */
582  GLfloat MatDiffuse[2][3]; /* material diffuse * light diffuse */
583  GLfloat MatSpecular[2][3]; /* material spec * light specular */
584  GLfloat dli; /* CI diffuse light intensity */
585  GLfloat sli; /* CI specular light intensity */
586 };
587 
588 
590  GLfloat Ambient[4]; /* ambient color */
591  GLboolean LocalViewer; /* Local (or infinite) view point? */
592  GLboolean TwoSide; /* Two (or one) sided lighting? */
593 };
594 
595 
596 struct gl_material {
602  GLfloat AmbientIndex; /* for color index lighting */
603  GLfloat DiffuseIndex; /* for color index lighting */
604  GLfloat SpecularIndex; /* for color index lighting */
605  GLfloat ShineTable[SHINE_TABLE_SIZE]; /* to replace a pow() call */
606 };
607 
608 
609 
610 /*
611  * Attribute structures:
612  * We define a struct for each attribute group to make pushing and
613  * popping attributes easy. Also it's a good organization.
614  */
615 
616 
618  GLfloat ClearColor[4]; /* Accumulation buffer clear color */
619 };
620 
621 
623  GLuint ClearIndex; /* Index to use for glClear */
624  GLfloat ClearColor[4]; /* Color to use for glClear */
625 
626  GLuint IndexMask; /* Color index write mask */
627  GLuint ColorMask; /* bit 3=red,2=green,1=blue,0=alpha*/
628  GLboolean SWmasking; /* Do color/CI masking in software? */
629 
630  GLenum DrawBuffer; /* Which buffer to draw into */
631 
632  /* alpha testing */
633  GLboolean AlphaEnabled; /* Alpha test enabled flag */
634  GLenum AlphaFunc; /* Alpha test function */
635  GLfloat AlphaRef; /* Alpha reference value */
636  GLubyte AlphaRefUbyte; /* AlphaRef scaled to an integer */
637 
638  /* blending */
639  GLboolean BlendEnabled; /* Blending enabled flag */
640  GLenum BlendSrc; /* Blending source operator */
641  GLenum BlendDst; /* Blending destination operator */
642 
643  /* logic op */
644  GLenum LogicOp; /* Logic operator */
645  GLboolean IndexLogicOpEnabled; /* Color index logic op enabled flag */
646  GLboolean ColorLogicOpEnabled; /* RGBA logic op enabled flag */
647  GLboolean SWLogicOpEnabled; /* Do logic ops in software? */
648 
649  GLboolean DitherFlag; /* Dither enable flag */
650 };
651 
652 
654  GLubyte ByteColor[4]; /* Current RGBA color */
655  GLuint Index; /* Current color index */
656  GLfloat Normal[3]; /* Current normal vector */
657  GLfloat TexCoord[4]; /* Current texture coordinate */
658  GLfloat RasterPos[4]; /* Current raster position */
659  GLfloat RasterDistance; /* Current raster distance */
660  GLfloat RasterColor[4]; /* Current raster color */
661  GLuint RasterIndex; /* Current raster index */
662  GLfloat RasterTexCoord[4]; /* Current raster texture coord */
663  GLboolean RasterPosValid; /* Raster position valid flag */
664  GLboolean EdgeFlag; /* Current edge flag */
665 };
666 
667 
669  GLenum Func; /* Function for depth buffer compare */
670  GLfloat Clear; /* Value to clear depth buffer to */
671  GLboolean Test; /* Depth buffering enabled flag */
672  GLboolean Mask; /* Depth buffer writable? */
673 };
674 
675 
721 };
722 
723 
725  /* Enable bits */
745  /* Map Grid endpoints and divisions */
751 };
752 
753 
755  GLboolean Enabled; /* Fog enabled flag */
756  GLfloat Color[4]; /* Fog color */
757  GLfloat Density; /* Density >= 0.0 */
758  GLfloat Start; /* Start distance in eye coords */
759  GLfloat End; /* End distance in eye coords */
760  GLfloat Index; /* Fog index */
761  GLenum Mode; /* Fog mode */
762 };
763 
764 
766  /* always one of GL_FASTEST, GL_NICEST, or GL_DONT_CARE */
772 };
773 
774 
776  struct gl_light Light[MAX_LIGHTS]; /* Array of lights */
777  struct gl_lightmodel Model; /* Lighting model */
778  struct gl_material Material[2]; /* Material 0=front, 1=back */
779  GLboolean Enabled; /* Lighting enabled flag */
780  GLenum ShadeModel; /* GL_FLAT or GL_SMOOTH */
781  GLenum ColorMaterialFace; /* GL_FRONT, BACK or FRONT_AND_BACK */
782  GLenum ColorMaterialMode; /* GL_AMBIENT, GL_DIFFUSE, etc */
783  GLuint ColorMaterialBitmask; /* bitmask formed from Face and Mode */
785 
786  /* Derived for optimizations: */
787  struct gl_light *FirstEnabled; /* Ptr to 1st enabled light */
788  GLboolean Fast; /* Use fast shader? */
790 };
791 
792 
794  GLboolean SmoothFlag; /* GL_LINE_SMOOTH enabled? */
795  GLboolean StippleFlag; /* GL_LINE_STIPPLE enabled? */
796  GLushort StipplePattern; /* Stipple pattern */
797  GLint StippleFactor; /* Stipple repeat factor */
798  GLfloat Width; /* Line width */
799 };
800 
801 
804 };
805 
806 
809  GLfloat RedBias, RedScale; /* Pixel xfer bias & scale values */
818  GLfloat ZoomX; /* Pixel zoom X factor */
819  GLfloat ZoomY; /* Pixel zoom Y factor */
820  /* TODO: Do the following belong here??? */
821  GLint MapStoSsize; /* Size of each pixel map */
831  GLint MapStoS[MAX_PIXEL_MAP_TABLE]; /* Pixel map tables */
841 };
842 
843 
845  GLboolean SmoothFlag; /* True if GL_POINT_SMOOTH is enabled */
846  GLfloat Size; /* Point size */
847 };
848 
849 
851  GLenum FrontFace; /* Either GL_CW or GL_CCW */
852  GLenum FrontMode; /* Either GL_POINT, GL_LINE or GL_FILL */
853  GLenum BackMode; /* Either GL_POINT, GL_LINE or GL_FILL */
854  GLboolean Unfilled; /* True if back or front mode is not GL_FILL */
855  GLboolean CullFlag; /* Culling on/off flag */
856  GLenum CullFaceMode; /* Culling mode GL_FRONT or GL_BACK */
857  GLuint CullBits; /* Used for cull testing */
858  GLboolean SmoothFlag; /* True if GL_POLYGON_SMOOTH is enabled */
859  GLboolean StippleFlag; /* True if GL_POLYGON_STIPPLE is enabled */
860  GLfloat OffsetFactor; /* Polygon offset factor */
861  GLfloat OffsetUnits; /* Polygon offset units */
862  GLboolean OffsetPoint; /* Offset in GL_POINT mode? */
863  GLboolean OffsetLine; /* Offset in GL_LINE mode? */
864  GLboolean OffsetFill; /* Offset in GL_FILL mode? */
865  GLboolean OffsetAny; /* OR of OffsetPoint, OffsetLine, OffsetFill */
866 };
867 
868 
870  GLboolean Enabled; /* Scissor test enabled? */
871  GLint X, Y; /* Lower left corner of box */
872  GLsizei Width, Height; /* Size of box */
873 };
874 
875 
877  GLboolean Enabled; /* Enabled flag */
878  GLenum Function; /* Stencil function */
879  GLenum FailFunc; /* Fail function */
880  GLenum ZPassFunc; /* Depth buffer pass function */
881  GLenum ZFailFunc; /* Depth buffer fail function */
882  GLstencil Ref; /* Reference value */
883  GLstencil ValueMask; /* Value mask */
884  GLstencil Clear; /* Clear value */
885  GLstencil WriteMask; /* Write mask */
886 };
887 
888 
889 #define Q_BIT 1
890 #define R_BIT 2
891 #define S_BIT 4
892 #define T_BIT 8
893 
894 #define TEXTURE_1D 1
895 #define TEXTURE_2D 2
896 
897 
899  GLuint Enabled; /* Bitwise-OR of TEXTURE_XD values */
900  GLenum EnvMode; /* GL_MODULATE, GL_DECAL, GL_BLEND */
902  GLuint TexGenEnabled; /* Bitwise-OR of [QRST]_BIT values */
903  GLenum GenModeS; /* Tex coord generation mode, either */
904  GLenum GenModeT; /* GL_OBJECT_LINEAR, or */
905  GLenum GenModeR; /* GL_EYE_LINEAR, or */
906  GLenum GenModeQ; /* GL_SPHERE_MAP */
917  struct gl_texture_object *Current; /* = Current1D, 2D or NULL */
918 #ifdef GL_VERSION_1_1
919  struct gl_texture_object *Proxy1D;
920  struct gl_texture_object *Proxy2D;
921 #endif
923 };
924 
925 
927  GLenum MatrixMode; /* Matrix mode */
930  GLboolean AnyClip; /* Any ClipEnabled[] true? */
931  GLboolean Normalize; /* Normalize all normals? */
932 };
933 
934 
936  GLint X, Y; /* position */
937  GLsizei Width, Height; /* size */
938  GLfloat Near, Far; /* Depth buffer range */
939  GLfloat Sx, Sy, Sz; /* NDC to WinCoord scaling */
940  GLfloat Tx, Ty, Tz; /* NDC to WinCoord translation */
941 };
942 
943 
944 /* For the attribute stack: */
947  void *data;
949 };
950 
951 
952 
953 /*
954  * Client pixel packing/unpacking attributes
955  */
963 };
964 
965 
966 /*
967  * Client vertex array attributes
968  */
972  GLsizei VertexStride; /* user-specified stride */
973  GLsizei VertexStrideB; /* actual stride in bytes */
974  void *VertexPtr;
976 
978  GLsizei NormalStride; /* user-specified stride */
979  GLsizei NormalStrideB; /* actual stride in bytes */
980  void *NormalPtr;
982 
985  GLsizei ColorStride; /* user-specified stride */
986  GLsizei ColorStrideB; /* actual stride in bytes */
987  void *ColorPtr;
989 
991  GLsizei IndexStride; /* user-specified stride */
992  GLsizei IndexStrideB; /* actual stride in bytes */
993  void *IndexPtr;
995 
998  GLsizei TexCoordStride; /* user-specified stride */
999  GLsizei TexCoordStrideB; /* actual stride in bytes */
1002 
1003  GLsizei EdgeFlagStride; /* user-specified stride */
1004  GLsizei EdgeFlagStrideB; /* actual stride in bytes */
1007 };
1008 
1009 
1010 
1011 struct gl_feedback {
1017 };
1018 
1019 
1020 
1023  GLuint BufferSize; /* size of SelectBuffer */
1024  GLuint BufferCount; /* number of values in SelectBuffer */
1025  GLuint Hits; /* number of records in SelectBuffer */
1030 };
1031 
1032 
1033 
1034 /*
1035  * 1-D Evaluator control points
1036  */
1037 struct gl_1d_map {
1038  GLuint Order; /* Number of control points */
1040  GLfloat *Points; /* Points to contiguous control points */
1041  GLboolean Retain; /* Reference counter */
1042 };
1043 
1044 
1045 /*
1046  * 2-D Evaluator control points
1047  */
1048 struct gl_2d_map {
1049  GLuint Uorder; /* Number of control points in U dimension */
1050  GLuint Vorder; /* Number of control points in V dimension */
1053  GLfloat *Points; /* Points to contiguous control points */
1054  GLboolean Retain; /* Reference counter */
1055 };
1056 
1057 
1058 /*
1059  * All evalutator control points
1060  */
1062  /* 1-D maps */
1072 
1073  /* 2-D maps */
1083 };
1084 
1085 
1086 
1087 /* Texture object record */
1089  GLint RefCount; /* reference count */
1090  GLuint Name; /* an unsigned integer */
1091  GLuint Dimensions; /* 1 or 2 or 3 */
1092  GLfloat Priority; /* in [0,1] */
1093  GLint BorderColor[4]; /* as integers in [0,255] */
1094  GLenum WrapS; /* GL_CLAMP or GL_REPEAT */
1095  GLenum WrapT; /* GL_CLAMP or GL_REPEAT */
1096  GLenum WrapR; /* GL_CLAMP or GL_REPEAT */
1097  GLenum MinFilter; /* minification filter */
1098  GLenum MagFilter; /* magnification filter */
1099  GLfloat MinMagThresh; /* min/mag threshold */
1101 
1102  /* GL_EXT_paletted_texture */
1107 
1108  /* For device driver: */
1109  GLboolean Dirty; /* Set when any texobj state changes */
1110  void *DriverData; /* Arbitrary device driver data */
1111 
1112  GLboolean Complete; /* Complete set of images? */
1114  struct gl_texture_object *Next; /* Next in linked list */
1115 };
1116 
1117 
1118 
1119 /*
1120  * State which can be shared by multiple contexts:
1121  */
1123  GLint RefCount; /* Reference count */
1124  struct HashTable *DisplayList; /* Display lists hash table */
1125  struct HashTable *TexObjects; /* Texture objects hash table */
1126  struct gl_texture_object *TexObjectList;/* Linked list of texture objects */
1127  struct gl_texture_object *Default1D; /* Default texture objects */
1129 };
1130 
1131 
1132 
1133 /*
1134  * Describes the color, depth, stencil and accum buffer parameters.
1135  */
1136 struct gl_visual {
1137  GLboolean RGBAflag; /* Is frame buffer in RGBA mode, not CI? */
1138  GLboolean DBflag; /* Is color buffer double buffered? */
1139 
1140  GLfloat RedScale; /* These values are used to scale color */
1141  GLfloat GreenScale; /* components from the range [0,1] to */
1142  GLfloat BlueScale; /* integer values. It should be the case */
1143  GLfloat AlphaScale; /* that scale = 2^bits - 1 where bits is */
1144  /* the number of bits for the component */
1145  /* in the frame buffer. */
1146  GLboolean EightBitColor;/* TRUE if all the above scales are 255.0 */
1147 
1148  GLfloat InvRedScale; /* = 1 / RedScale */
1149  GLfloat InvGreenScale; /* = 1 / GreenScale */
1150  GLfloat InvBlueScale; /* = 1 / BlueScale */
1151  GLfloat InvAlphaScale; /* = 1 / AlphaScale */
1152 
1153  GLint RedBits; /* Bits per color component */
1157 
1158  GLint IndexBits; /* Bits/pixel if in color index mode */
1159 
1160  GLint AccumBits; /* Number of bits per color channel, or 0 */
1161  GLint DepthBits; /* Number of bits in depth buffer, or 0 */
1162  GLint StencilBits; /* Number of bits in stencil buffer, or 0 */
1163 
1164  /* Software alpha planes: */
1167 };
1168 
1169 
1170 
1171 /*
1172  * A "frame buffer" is a color buffer and its optional ancillary buffers:
1173  * depth, accum, stencil, and software-simulated alpha buffers.
1174  */
1176  GLvisual *Visual; /* The corresponding visual */
1177 
1178  GLint Width; /* Width of frame buffer in pixels */
1179  GLint Height; /* Height of frame buffer in pixels */
1180 
1181  GLdepth *Depth; /* array [Width*Height] of GLdepth values */
1182 
1183  /* Stencil buffer */
1184  GLstencil *Stencil; /* array [Width*Height] of GLstencil values */
1185 
1186  /* Accumulation buffer */
1187  GLaccum *Accum; /* array [4*Width*Height] of GLaccum values */
1188 
1189  /* Software alpha planes: */
1190  GLubyte *FrontAlpha; /* array [Width*Height] of GLubyte */
1191  GLubyte *BackAlpha; /* array [Width*Height] of GLubyte */
1192  GLubyte *Alpha; /* Points to front or back alpha buffer */
1193 
1194  /* Drawing bounds: intersection of window size and scissor box */
1196 };
1197 
1198 
1199 
1200 /*
1201  * Bitmasks to indicate what auxillary information must be interpolated
1202  * when clipping (ClipMask).
1203  */
1204 #define CLIP_FCOLOR_BIT 0x01
1205 #define CLIP_BCOLOR_BIT 0x02
1206 #define CLIP_FINDEX_BIT 0x04
1207 #define CLIP_BINDEX_BIT 0x08
1208 #define CLIP_TEXTURE_BIT 0x10
1209 
1210 
1211 
1212 /*
1213  * Bitmasks to indicate which rasterization options are enabled (RasterMask)
1214  */
1215 #define ALPHATEST_BIT 0x001 /* Alpha-test pixels */
1216 #define BLEND_BIT 0x002 /* Blend pixels */
1217 #define DEPTH_BIT 0x004 /* Depth-test pixels */
1218 #define FOG_BIT 0x008 /* Per-pixel fog */
1219 #define LOGIC_OP_BIT 0x010 /* Apply logic op in software */
1220 #define SCISSOR_BIT 0x020 /* Scissor pixels */
1221 #define STENCIL_BIT 0x040 /* Stencil pixels */
1222 #define MASKING_BIT 0x080 /* Do glColorMask() or glIndexMask() */
1223 #define ALPHABUF_BIT 0x100 /* Using software alpha buffer */
1224 #define WINCLIP_BIT 0x200 /* Clip pixels/primitives to window */
1225 #define FRONT_AND_BACK_BIT 0x400 /* Write to front and back buffers */
1226 #define NO_DRAW_BIT 0x800 /* Don't write any pixels */
1227 
1228 
1229 /*
1230  * Bits to indicate what state has to be updated (NewState)
1231  */
1232 #define NEW_LIGHTING 0x1
1233 #define NEW_RASTER_OPS 0x2
1234 #define NEW_TEXTURING 0x4
1235 #define NEW_POLYGON 0x8
1236 #define NEW_ALL 0xf
1237 
1238 
1239 /*
1240  * Different kinds of 4x4 transformation matrices:
1241  */
1242 #define MATRIX_GENERAL 0 /* general 4x4 matrix */
1243 #define MATRIX_IDENTITY 1 /* identity matrix */
1244 #define MATRIX_ORTHO 2 /* orthographic projection matrix */
1245 #define MATRIX_PERSPECTIVE 3 /* perspective projection matrix */
1246 #define MATRIX_2D 4 /* 2-D transformation */
1247 #define MATRIX_2D_NO_ROT 5 /* 2-D scale & translate only */
1248 #define MATRIX_3D 6 /* 3-D transformation */
1249 
1250 
1251 /*
1252  * Forward declaration of display list datatypes:
1253  */
1254 union node;
1255 typedef union node Node;
1256 
1257 
1258 
1259 /*
1260  * The library context:
1261  */
1262 
1263 struct gl_context {
1264  /* State possibly shared with other contexts in the address space */
1266 
1267  /* API function pointer tables */
1268  struct gl_api_table API; /* For api.c */
1269  struct gl_api_table Save; /* Display list save funcs */
1270  struct gl_api_table Exec; /* Execute funcs */
1271 
1274 
1275  /* Driver function pointer table */
1277 
1278  void *DriverCtx; /* Points to device driver context/state */
1279  void *DriverMgrCtx; /* Points to device driver manager (optional)*/
1280 
1281  /* Modelview matrix and stack */
1283  GLuint ModelViewMatrixType; /* = one of MATRIX_* values */
1285  GLfloat ModelViewInv[16]; /* Inverse of ModelViewMatrix */
1288 
1289  /* Projection matrix and stack */
1291  GLuint ProjectionMatrixType; /* = one of MATRIX_* values */
1296 
1297  /* Texture matrix and stack */
1299  GLuint TextureMatrixType; /* = one of MATRIX_* values */
1303 
1304  /* Display lists */
1305  GLuint CallDepth; /* Current recursion calling depth */
1306  GLboolean ExecuteFlag; /* Execute GL commands? */
1307  GLboolean CompileFlag; /* Compile GL commands into display list? */
1308  Node *CurrentListPtr; /* Head of list being compiled */
1309  GLuint CurrentListNum; /* Number of the list being compiled */
1310  Node *CurrentBlock; /* Pointer to current block of nodes */
1311  GLuint CurrentPos; /* Index into current block of nodes */
1312 
1313  /* Renderer attribute stack */
1316 
1317  /* Renderer attribute groups */
1337 
1338  /* Client attribute stack */
1341  /* Client attribute groups */
1342  struct gl_array_attrib Array; /* Vertex arrays */
1343  struct gl_pixelstore_attrib Pack; /* Pixel packing */
1344  struct gl_pixelstore_attrib Unpack; /* Pixel unpacking */
1345 
1346  struct gl_evaluators EvalMap; /* All evaluators */
1347  struct gl_feedback Feedback; /* Feedback */
1348  struct gl_selection Select; /* Selection */
1349 
1350  GLenum ErrorValue; /* Last error code */
1351 
1352  GLboolean DirectContext; /* Important for real GLX */
1353 
1354  /* Miscellaneous */
1355  GLuint NewState; /* bitwise OR of NEW_* flags */
1356  GLenum RenderMode; /* either GL_RENDER, GL_SELECT, GL_FEEDBACK */
1357  GLenum Primitive; /* glBegin primitive or GL_BITMAP */
1358  GLuint StippleCounter; /* Line stipple counter */
1359  GLuint ClipMask; /* OR of CLIP_* values from above */
1360  interp_func ClipInterpAuxFunc; /* The auxiliary interpolation function */
1361  GLuint RasterMask; /* OR of rasterization flags */
1362  GLboolean LightTwoSide; /* Compute two-sided lighting? */
1363  GLboolean DirectTriangles;/* Directly call (*ctx->TriangleFunc) ? */
1364  GLfloat PolygonZoffset; /* Z offset for GL_FILL polygons */
1365  GLfloat LineZoffset; /* Z offset for GL_LINE polygons */
1366  GLfloat PointZoffset; /* Z offset for GL_POINT polygons */
1367  GLboolean NeedNormals; /* Are vertex normal vectors needed? */
1368  GLboolean FastDrawPixels;/* Use optimized glDrawPixels? */
1369  GLboolean MutablePixels; /* Can rasterization change pixel's color? */
1370  GLboolean MonoPixels; /* Are all pixels likely to be same color? */
1371 
1372  /* Current Primitive functions */
1378 
1379  /* The vertex buffer being used by this context */
1381 
1382  /* The pixel buffer being used by this context */
1383  struct pixel_buffer* PB;
1384 
1385 #ifdef PROFILE
1386  /* Performance measurements */
1387  GLuint BeginEndCount; /* number of glBegin/glEnd pairs */
1388  GLdouble BeginEndTime; /* seconds spent between glBegin/glEnd */
1389  GLuint VertexCount; /* number of vertices processed */
1390  GLdouble VertexTime; /* total time in seconds */
1391  GLuint PointCount; /* number of points rendered */
1392  GLdouble PointTime; /* total time in seconds */
1393  GLuint LineCount; /* number of lines rendered */
1394  GLdouble LineTime; /* total time in seconds */
1395  GLuint PolygonCount; /* number of polygons rendered */
1396  GLdouble PolygonTime; /* total time in seconds */
1397  GLuint ClearCount; /* number of glClear calls */
1398  GLdouble ClearTime; /* seconds spent in glClear */
1399  GLuint SwapCount; /* number of swap-buffer calls */
1400  GLdouble SwapTime; /* seconds spent in swap-buffers */
1401 #endif
1402 
1403  /* For debugging/development only */
1405 
1406  /* Dither disable via MESA_NO_DITHER env var */
1408 };
1409 
1410 
1411 #endif
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
Definition: glfuncs.h:240
double GLdouble
Definition: gl.h:163
GLint VertexSize
Definition: types.h:970
GLboolean Map2Vertex3
Definition: types.h:708
GLboolean BackAlphaEnabled
Definition: types.h:1166
void(* ClearColor)(GLcontext *, GLclampf, GLclampf, GLclampf, GLclampf)
Definition: types.h:329
GLboolean EdgeFlag
Definition: types.h:664
void * IndexPtr
Definition: types.h:993
void(* Clear)(GLcontext *, GLbitfield)
Definition: types.h:327
struct gl_1d_map Map1Vertex3
Definition: types.h:1063
GLfloat NormDirection[3]
Definition: types.h:579
void(* CallList)(GLcontext *, GLuint list)
Definition: types.h:325
GLint ColorSize
Definition: types.h:983
GLboolean BlendEnabled
Definition: types.h:639
GLfloat ModelViewStack[MAX_MODELVIEW_STACK_DEPTH][16]
Definition: types.h:1287
GLboolean DepthTest
Definition: types.h:683
GLenum EnvMode
Definition: types.h:900
void(* LoadIdentity)(GLcontext *)
Definition: types.h:440
GLfloat MapRtoR[MAX_PIXEL_MAP_TABLE]
Definition: types.h:837
void(* IndexMask)(GLcontext *, GLuint)
Definition: types.h:426
GLboolean FrontAlphaEnabled
Definition: types.h:1165
GLuint CallDepth
Definition: types.h:1305
GLint MapItoGsize
Definition: types.h:824
void(* Flush)(GLcontext *)
Definition: types.h:382
GLboolean Map2TextureCoord2
Definition: types.h:705
GLint level
Definition: gl.h:1546
GLfloat HitMinZ
Definition: types.h:1029
GLfloat ObjectPlaneR[4]
Definition: types.h:909
GLint GLint GLsizei width
Definition: gl.h:1546
void(* TexGenfv)(GLcontext *, GLenum coord, GLenum, const GLfloat *)
Definition: types.h:500
GLboolean Fog
Definition: types.h:685
void(* EvalMesh1)(GLcontext *, GLenum, GLint, GLint)
Definition: types.h:376
GLuint Vorder
Definition: types.h:1050
struct gl_1d_map Map1Normal
Definition: types.h:1067
GLsizei TexCoordStrideB
Definition: types.h:999
void(* FrontFace)(GLcontext *, GLenum)
Definition: types.h:384
GLboolean SWLogicOpEnabled
Definition: types.h:647
GLubyte Palette[MAX_TEXTURE_PALETTE_SIZE *4]
Definition: types.h:1103
void(* Color4ubv)(GLcontext *, const GLubyte *)
Definition: types.h:339
GLint MapItoI[MAX_PIXEL_MAP_TABLE]
Definition: types.h:832
GLint MapRtoRsize
Definition: types.h:827
GLboolean Map1Color4
Definition: types.h:692
void(* ClearDepth)(GLcontext *, GLclampd)
Definition: types.h:330
GLint Height
Definition: types.h:272
void(* ColorPointer)(GLcontext *, GLint, GLenum, GLsizei, const GLvoid *)
Definition: types.h:343
void(* ReadBuffer)(GLcontext *, GLenum)
Definition: types.h:482
GLsizei IndexStrideB
Definition: types.h:992
void(* CopyPixels)(GLcontext *, GLint, GLint, GLsizei, GLsizei, GLenum)
Definition: types.h:346
void(* IndexPointer)(GLcontext *, GLenum, GLsizei, const GLvoid *)
Definition: types.h:429
void(* ListBase)(GLcontext *, GLuint)
Definition: types.h:439
void(* Fogfv)(GLcontext *, GLenum, const GLfloat *)
Definition: types.h:383
#define MAX_PIXEL_MAP_TABLE
Definition: config.h:96
GLboolean(* AreTexturesResident)(GLcontext *, GLsizei, const GLuint *, GLboolean *)
Definition: types.h:317
GLfloat ZoomX
Definition: types.h:818
GLfloat AlphaRef
Definition: types.h:635
GLuint Dimensions
Definition: types.h:1091
GLuint NameStack[MAX_NAME_STACK_DEPTH]
Definition: types.h:1027
GLint IndexBits
Definition: types.h:1158
void(* InitNames)(GLcontext *)
Definition: types.h:430
GLstencil Ref
Definition: types.h:882
void(* LineStipple)(GLcontext *, GLint factor, GLushort)
Definition: types.h:437
Definition: hash.c:67
GLubyte GLubyte GLubyte GLubyte w
Definition: glext.h:6102
GLfloat Near
Definition: types.h:938
void(* DepthRange)(GLcontext *, GLclampd, GLclampd)
Definition: types.h:360
#define SHINE_TABLE_SIZE
Definition: types.h:558
struct gl_1d_map Map1Vertex4
Definition: types.h:1064
void(* Begin)(GLcontext *, GLenum)
Definition: types.h:320
GLuint Count
Definition: types.h:1016
void(* interp_func)(GLcontext *, GLuint, GLuint, GLfloat, GLuint, GLuint)
Definition: types.h:253
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
void(* Translatef)(GLcontext *, GLfloat, GLfloat, GLfloat)
Definition: types.h:512
GLuint CullBits
Definition: types.h:857
GLsizei VertexStride
Definition: types.h:972
void(* DisableClientState)(GLcontext *, GLenum)
Definition: types.h:362
void(* PolygonOffset)(GLcontext *, GLfloat, GLfloat)
Definition: types.h:470
void(* ColorTable)(GLcontext *, GLenum, GLenum, struct gl_image *)
Definition: types.h:344
void(* LoadName)(GLcontext *, GLuint)
Definition: types.h:443
GLfloat MapGrid2v2
Definition: types.h:750
GLfloat MapGrid2v1
Definition: types.h:750
GLboolean Map2TextureCoord1
Definition: types.h:704
GLint BorderColor[4]
Definition: types.h:1093
GLboolean ExecuteFlag
Definition: types.h:1306
GLfloat Tx
Definition: types.h:940
GLframebuffer * Buffer
Definition: types.h:1273
void(* GetIntegerv)(GLcontext *, GLenum, GLint *)
Definition: types.h:396
void(* EvalCoord2f)(GLcontext *, GLfloat, GLfloat)
Definition: types.h:375
GLfloat ModelViewMatrix[16]
Definition: types.h:1284
GLboolean Enabled
Definition: types.h:877
GLboolean Map1TextureCoord3
Definition: types.h:731
GLboolean Normalize
Definition: types.h:710
GLint MapItoRsize
Definition: types.h:823
GLstencil * Stencil
Definition: types.h:1184
void(* TexCoord2f)(GLcontext *, GLfloat, GLfloat)
Definition: types.h:495
struct gl_2d_map Map2Texture2
Definition: types.h:1080
void(* PassThrough)(GLcontext *, GLfloat)
Definition: types.h:463
GLboolean Map1Color4
Definition: types.h:726
GLboolean Map1Index
Definition: types.h:727
GLfloat RedBias
Definition: types.h:809
void(* LogicOp)(GLcontext *, GLenum)
Definition: types.h:444
GLenum ZFailFunc
Definition: types.h:881
void(* rect_func)(GLcontext *ctx, GLint x, GLint y, GLint width, GLint height)
Definition: types.h:247
GLboolean TexCoordEnabled
Definition: types.h:1001
GLfloat DiffuseIndex
Definition: types.h:603
struct gl_attrib_node * next
Definition: types.h:948
GLuint NewState
Definition: types.h:1355
GLuint MaxLog2
Definition: types.h:302
GLfloat EyePlaneT[4]
Definition: types.h:912
void(* TexCoord4f)(GLcontext *, GLfloat, GLfloat, GLfloat, GLfloat)
Definition: types.h:496
void(* ColorMask)(GLcontext *, GLboolean, GLboolean, GLboolean, GLboolean)
Definition: types.h:340
GLenum GenModeQ
Definition: types.h:906
void(* DrawElements)(GLcontext *, GLenum, GLsizei, GLenum, const GLvoid *)
Definition: types.h:365
GLboolean Map2Color4
Definition: types.h:735
struct HashTable * TexObjects
Definition: types.h:1125
GLsizei Height
Definition: types.h:872
POINT last
Definition: font.c:46
GLboolean LsbFirst
Definition: types.h:962
struct gl_1d_map Map1Texture4
Definition: types.h:1071
GLenum WrapR
Definition: types.h:1096
unsigned char GLubyte
Definition: gl.h:157
GLubyte GLstencil
Definition: types.h:208
GLfloat BaseColor[2][4]
Definition: types.h:789
GLenum Function
Definition: types.h:878
GLfloat Normal[3]
Definition: types.h:656
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint factor
Definition: glfuncs.h:178
struct gl_texture_object * Default1D
Definition: types.h:1127
GLfloat Far
Definition: types.h:938
void(* GetColorTable)(GLcontext *, GLenum, GLenum, GLenum, GLvoid *)
Definition: types.h:391
GLfloat SpotExpTable[EXP_TABLE_SIZE][2]
Definition: types.h:580
GLboolean LineSmooth
Definition: types.h:688
GLfloat v2
Definition: types.h:1052
GLboolean MapStencilFlag
Definition: types.h:817
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
#define MAX_TEXTURE_PALETTE_SIZE
Definition: config.h:122
void(* PolygonStipple)(GLcontext *, const GLubyte *)
Definition: types.h:471
GLboolean AutoNormal
Definition: types.h:744
void(* NormalPointer)(GLcontext *, GLenum, GLsizei, const GLvoid *)
Definition: types.h:460
GLuint RasterIndex
Definition: types.h:661
GLenum GenModeR
Definition: types.h:905
GLfloat MinMagThresh
Definition: types.h:1099
struct gl_2d_map Map2Vertex3
Definition: types.h:1074
void(* LightModelfv)(GLcontext *, GLenum, const GLfloat *)
Definition: types.h:435
GLuint NameStackDepth
Definition: types.h:1026
GLenum PointSmooth
Definition: types.h:768
GLint Ymin
Definition: types.h:1195
GLubyte AlphaRefUbyte
Definition: types.h:636
GLubyte ByteColor[4]
Definition: types.h:654
GLboolean ColorEnabled
Definition: types.h:988
GLenum ColorMaterialMode
Definition: types.h:782
GLfloat Sz
Definition: types.h:939
const GLint * first
Definition: glext.h:5794
GLboolean RGBAflag
Definition: types.h:1137
void(* GetMapiv)(GLcontext *, GLenum, GLenum, GLint *)
Definition: types.h:402
GLfloat TextureMatrix[16]
Definition: types.h:1300
GLuint CurrentListNum
Definition: types.h:1309
#define MAX_ATTRIB_STACK_DEPTH
Definition: config.h:75
GLboolean Dither
Definition: types.h:684
struct gl_polygon_attrib Polygon
Definition: types.h:1330
GLfloat Shininess
Definition: types.h:601
void(* Vertex3fv)(GLcontext *, const GLfloat *)
Definition: types.h:516
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:140
GLint MapStoSsize
Definition: types.h:821
struct gl_texture_object * TexObjectList
Definition: types.h:1126
GLint RefCount
Definition: types.h:283
GLfloat MapItoR[MAX_PIXEL_MAP_TABLE]
Definition: types.h:833
GLenum BackMode
Definition: types.h:853
GLfloat Diffuse[4]
Definition: types.h:562
struct pixel_buffer * PB
Definition: types.h:1383
GLfloat RasterColor[4]
Definition: types.h:660
void(* Hint)(GLcontext *, GLenum, GLenum)
Definition: types.h:425
void(* PushName)(GLcontext *, GLuint)
Definition: types.h:479
rect_func RectFunc
Definition: types.h:1377
GLdouble n
Definition: glext.h:7729
void(* GetTexGendv)(GLcontext *, GLenum coord, GLenum, GLdouble *)
Definition: types.h:414
GLfloat MatSpecular[2][3]
Definition: types.h:583
GLdouble GLdouble t
Definition: gl.h:2047
GLboolean NewProjectionMatrix
Definition: types.h:1290
GLboolean Map2TextureCoord4
Definition: types.h:741
GLboolean Enabled
Definition: types.h:572
GLaccum * Accum
Definition: types.h:1187
GLint MapAtoAsize
Definition: types.h:830
GLboolean NoDither
Definition: types.h:1407
GLboolean Mask
Definition: types.h:672
void(* GetTexParameterfv)(GLcontext *, GLenum, GLenum, GLfloat *)
Definition: types.h:423
void(* GetLightiv)(GLcontext *, GLenum light, GLenum, GLint *)
Definition: types.h:399
GLenum WrapT
Definition: types.h:1095
GLboolean NewModelViewMatrix
Definition: types.h:1282
#define MAX_PROJECTION_STACK_DEPTH
Definition: config.h:69
void(* StencilMask)(GLcontext *, GLuint)
Definition: types.h:493
void(* TexSubImage1D)(GLcontext *, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, struct gl_image *)
Definition: types.h:505
GLboolean Map1TextureCoord4
Definition: types.h:732
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
void(* ReadPixels)(GLcontext *, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid *)
Definition: types.h:483
struct gl_current_attrib Current
Definition: types.h:1320
GLuint ModelViewMatrixType
Definition: types.h:1283
GLvisual * Visual
Definition: types.h:1272
void(* Vertex4f)(GLcontext *, GLfloat, GLfloat, GLfloat, GLfloat)
Definition: types.h:515
void(* EdgeFlag)(GLcontext *, GLboolean)
Definition: types.h:368
GLenum Format
Definition: types.h:274
GLenum IntFormat
Definition: types.h:294
GLint IndexShift
Definition: types.h:814
void(* PushAttrib)(GLcontext *, GLbitfield)
Definition: types.h:476
GLfloat ObjectPlaneQ[4]
Definition: types.h:910
void(* VertexPointer)(GLcontext *, GLint, GLenum, GLsizei, const GLvoid *)
Definition: types.h:517
void(* CopyTexImage2D)(GLcontext *, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint)
Definition: types.h:349
struct gl_texture_object * Next
Definition: types.h:1114
GLfloat MapAtoA[MAX_PIXEL_MAP_TABLE]
Definition: types.h:840
GLfloat RedScale
Definition: types.h:809
GLuint Width
Definition: types.h:296
void(* DrawArrays)(GLcontext *, GLenum, GLint, GLsizei)
Definition: types.h:363
GLuint Enabled
Definition: types.h:899
GLuint HeightLog2
Definition: types.h:301
GLsizei Width
Definition: types.h:937
GLint MapStoS[MAX_PIXEL_MAP_TABLE]
Definition: types.h:831
GLenum MatrixMode
Definition: types.h:927
GLboolean ColorLogicOp
Definition: types.h:691
void(* GetMapfv)(GLcontext *, GLenum, GLenum, GLfloat *)
Definition: types.h:401
GLfloat PointZoffset
Definition: types.h:1366
GLfloat OffsetUnits
Definition: types.h:861
#define MAX_TEXTURE_STACK_DEPTH
Definition: config.h:72
struct gl_api_table Save
Definition: types.h:1269
GLuint TextureMatrixType
Definition: types.h:1299
GLint Height
Definition: types.h:1179
GLboolean Map1TextureCoord1
Definition: types.h:729
GLenum MagFilter
Definition: types.h:1098
GLfloat MapGtoG[MAX_PIXEL_MAP_TABLE]
Definition: types.h:838
GLuint AttribStackDepth
Definition: types.h:1314
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
Definition: glext.h:10929
void(* GetTexEnviv)(GLcontext *, GLenum, GLenum, GLint *)
Definition: types.h:413
GLfloat SpotCutoff
Definition: types.h:567
GLuint StippleCounter
Definition: types.h:1358
void(* PopAttrib)(GLcontext *)
Definition: types.h:472
struct gl_attrib_node * AttribStack[MAX_ATTRIB_STACK_DEPTH]
Definition: types.h:1315
GLuint BufferCount
Definition: types.h:1024
GLuint ClipMask
Definition: types.h:1359
GLenum WrapS
Definition: types.h:1094
void(* ArrayElement)(GLcontext *, GLint)
Definition: types.h:319
GLuint ProjectionMatrixType
Definition: types.h:1291
GLboolean Map2TextureCoord3
Definition: types.h:706
GLfloat LinearAttenuation
Definition: types.h:570
GLboolean ColorMaterial
Definition: types.h:681
GLboolean FastDrawPixels
Definition: types.h:1368
GLfloat Diffuse[4]
Definition: types.h:598
GLsizei VertexStrideB
Definition: types.h:973
void(* line_func)(GLcontext *ctx, GLuint v1, GLuint v2, GLuint pv)
Definition: types.h:239
GLboolean DirectTriangles
Definition: types.h:1363
void(* Lightfv)(GLcontext *, GLenum light, GLenum, const GLfloat *, GLint)
Definition: types.h:436
void(* DeleteLists)(GLcontext *, GLuint, GLsizei)
Definition: types.h:356
quad_func QuadFunc
Definition: types.h:1376
void(* quad_func)(GLcontext *ctx, GLuint v1, GLuint v2, GLuint v3, GLuint v4, GLuint pv)
Definition: types.h:244
GLenum Type
Definition: types.h:1012
GLint GLfloat GLint stencil
Definition: glext.h:6260
void(* GetColorTableParameteriv)(GLcontext *, GLenum, GLenum, GLint *)
Definition: types.h:392
GLfloat MatAmbient[2][3]
Definition: types.h:581
GLboolean Map1TextureCoord1
Definition: types.h:695
GLint AlphaBits
Definition: types.h:1156
GLfloat EyePlaneR[4]
Definition: types.h:913
GLuint coord
Definition: glext.h:9511
GLfloat Emission[4]
Definition: types.h:600
GLfloat CosCutoff
Definition: types.h:568
void(* TexImage2D)(GLcontext *, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, struct gl_image *)
Definition: types.h:503
GLboolean RasterPosValid
Definition: types.h:663
GLfloat Size
Definition: types.h:846
GLuint RasterMask
Definition: types.h:1361
struct dd_function_table Driver
Definition: types.h:1276
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum light
Definition: glfuncs.h:170
GLsizei EdgeFlagStride
Definition: types.h:1003
GLubyte * Data
Definition: types.h:303
GLboolean Map2Normal
Definition: types.h:703
GLboolean Map1Index
Definition: types.h:693
GLboolean Map1Vertex3
Definition: types.h:699
GLboolean Enabled
Definition: types.h:779
void(* TexEnvfv)(GLcontext *, GLenum, GLenum, const GLfloat *)
Definition: types.h:499
GLfloat End
Definition: types.h:759
struct gl_1d_map Map1Texture2
Definition: types.h:1069
GLboolean OffsetFill
Definition: types.h:864
GLsizei ColorStride
Definition: types.h:985
void(* DepthFunc)(GLcontext *, GLenum)
Definition: types.h:358
GLfloat NearFarStack[MAX_PROJECTION_STACK_DEPTH][2]
Definition: types.h:1295
GLbitfield kind
Definition: types.h:946
GLfloat Specular[4]
Definition: types.h:599
GLuint Height
Definition: types.h:297
GLfloat BlueBias
Definition: types.h:811
GLfloat AlphaScale
Definition: types.h:812
void * DriverData
Definition: types.h:306
struct gl_pixel_attrib Pixel
Definition: types.h:1328
GLfloat * Points
Definition: types.h:1040
GLboolean StippleFlag
Definition: types.h:859
void(* Frustum)(GLcontext *, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble)
Definition: types.h:385
GLfloat ClipEquation[MAX_CLIP_PLANES][4]
Definition: types.h:928
GLfloat Start
Definition: types.h:758
void(* Color4ub)(GLcontext *, GLubyte, GLubyte, GLubyte, GLubyte)
Definition: types.h:338
GLuint CurrentPos
Definition: types.h:1311
struct gl_texture_object * Current2D
Definition: types.h:916
void(* GetMaterialiv)(GLcontext *, GLenum, GLenum, GLint *)
Definition: types.h:404
GLenum FrontMode
Definition: types.h:852
GLfloat DepthScale
Definition: types.h:813
GLfloat QuadraticAttenuation
Definition: types.h:571
GLuint MapGrid2vn
Definition: types.h:748
struct gl_1d_map Map1Texture3
Definition: types.h:1070
GLenum PerspectiveCorrection
Definition: types.h:767
int GLsizei
Definition: gl.h:160
GLfloat MapGrid1u1
Definition: types.h:747
static size_t double number
Definition: printf.c:64
unsigned char GLboolean
Definition: gl.h:151
GLfloat HitMaxZ
Definition: types.h:1029
GLenum ColorType
Definition: types.h:984
void * TexCoordPtr
Definition: types.h:1000
void(* TextureSampleFunc)(const struct gl_texture_object *tObj, GLuint n, const GLfloat s[], const GLfloat t[], const GLfloat u[], const GLfloat lambda[], GLubyte r[], GLubyte g[], GLubyte b[], GLubyte a[])
Definition: types.h:261
void(* EvalPoint2)(GLcontext *, GLint, GLint)
Definition: types.h:379
GLuint Texture
Definition: types.h:719
GLfloat ProjectionStack[MAX_PROJECTION_STACK_DEPTH][16]
Definition: types.h:1294
void(* CallLists)(GLcontext *, GLsizei, GLenum, const GLvoid *)
Definition: types.h:326
GLenum IndexType
Definition: types.h:990
struct gl_accum_attrib Accum
Definition: types.h:1318
void(* ClearStencil)(GLcontext *, GLint)
Definition: types.h:332
void(* Map1f)(GLcontext *, GLenum, GLfloat, GLfloat, GLint, GLint, const GLfloat *, GLboolean)
Definition: types.h:445
GLenum VertexType
Definition: types.h:971
GLdouble GLdouble z
Definition: glext.h:5874
void(* EnableClientState)(GLcontext *, GLenum)
Definition: types.h:371
#define MAX_LIGHTS
Definition: config.h:84
GLfloat EyePlaneQ[4]
Definition: types.h:914
GLboolean Lighting
Definition: types.h:687
GLfloat v1
Definition: types.h:1052
void(* Indexi)(GLcontext *, GLint c)
Definition: types.h:428
Node * CurrentListPtr
Definition: types.h:1308
GLboolean SmoothFlag
Definition: types.h:845
GLfloat AlphaScale
Definition: types.h:1143
GLstencil ValueMask
Definition: types.h:883
GLfloat AmbientIndex
Definition: types.h:602
void(* GetMaterialfv)(GLcontext *, GLenum, GLenum, GLfloat *)
Definition: types.h:403
GLenum ColorMaterialFace
Definition: types.h:781
GLuint MapGrid1un
Definition: types.h:746
GLint RefCount
Definition: types.h:1123
GLfloat BlueScale
Definition: types.h:1142
GLint Width
Definition: types.h:271
GLenum Fog
Definition: types.h:771
GLfloat Tz
Definition: types.h:940
GLboolean Scissor
Definition: types.h:717
GLenum GenModeT
Definition: types.h:904
GLboolean IndexEnabled
Definition: types.h:994
GLboolean PointSmooth
Definition: types.h:711
GLint RefCount
Definition: types.h:1089
void(* GetPixelMapusv)(GLcontext *, GLenum, GLushort *)
Definition: types.h:407
GLuint ColorMaterialBitmask
Definition: types.h:783
void(* Ortho)(GLcontext *, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble)
Definition: types.h:461
GLboolean CullFlag
Definition: types.h:855
GLboolean Fast
Definition: types.h:788
GLenum ZPassFunc
Definition: types.h:880
GLint Xmin
Definition: types.h:1195
GLboolean PolygonOffsetPoint
Definition: types.h:712
void(* LineWidth)(GLcontext *, GLfloat)
Definition: types.h:438
GLenum Primitive
Definition: types.h:1357
double GLclampd
Definition: gl.h:164
GLuint BufferSize
Definition: types.h:1023
GLboolean Map2Vertex4
Definition: types.h:709
GLuint WidthLog2
Definition: types.h:300
void(* GetLightfv)(GLcontext *, GLenum light, GLenum, GLfloat *)
Definition: types.h:398
void(* Color4fv)(GLcontext *, const GLfloat *)
Definition: types.h:337
GLsizei IndexStride
Definition: types.h:991
GLfloat Ambient[4]
Definition: types.h:561
void(* TexImage1D)(GLcontext *, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, struct gl_image *)
Definition: types.h:501
GLfloat MapItoB[MAX_PIXEL_MAP_TABLE]
Definition: types.h:835
GLboolean Interleaved
Definition: types.h:277
GLfloat SpecularIndex
Definition: types.h:604
GLfloat GreenScale
Definition: types.h:1141
GLfloat u2
Definition: types.h:1051
GLfloat Density
Definition: types.h:757
void(* GetTexImage)(GLcontext *, GLenum, GLint level, GLenum, GLenum, GLvoid *)
Definition: types.h:417
void * DriverMgrCtx
Definition: types.h:1279
GLboolean Light[MAX_LIGHTS]
Definition: types.h:686
GLboolean Enabled
Definition: types.h:755
struct gl_fog_attrib Fog
Definition: types.h:1323
GLfloat Index
Definition: types.h:760
GLfloat MapBtoB[MAX_PIXEL_MAP_TABLE]
Definition: types.h:839
void(* GetTexGeniv)(GLcontext *, GLenum coord, GLenum, GLint *)
Definition: types.h:416
void(* TexCoordPointer)(GLcontext *, GLint, GLenum, GLsizei, const GLvoid *)
Definition: types.h:497
GLenum RenderMode
Definition: types.h:1356
GLint BlueBits
Definition: types.h:1155
struct gl_scissor_attrib Scissor
Definition: types.h:1332
void(* EndList)(GLcontext *)
Definition: types.h:373
GLfloat GreenBias
Definition: types.h:810
GLboolean Retain
Definition: types.h:1041
GLuint ProjectionStackDepth
Definition: types.h:1293
struct gl_texture_attrib Texture
Definition: types.h:1334
void(* Disable)(GLcontext *, GLenum)
Definition: types.h:361
GLboolean PolygonSmooth
Definition: types.h:715
GLboolean GLboolean g
Definition: glext.h:6204
GLboolean Dirty
Definition: types.h:1109
void(* GetPixelMapfv)(GLcontext *, GLenum, GLfloat *)
Definition: types.h:405
GLfloat h_inf_norm[3]
Definition: types.h:578
GLint GreenBits
Definition: types.h:1154
struct gl_eval_attrib Eval
Definition: types.h:1322
void * ColorPtr
Definition: types.h:987
GLfloat InvRedScale
Definition: types.h:1148
struct gl_2d_map Map2Texture1
Definition: types.h:1079
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
GLuint Order
Definition: types.h:1038
GLsizei ColorStrideB
Definition: types.h:986
GLboolean SwapBytes
Definition: types.h:961
GLint GLdepth
Definition: types.h:218
#define MAX_CLIP_PLANES
Definition: config.h:87
GLint AccumBits
Definition: types.h:1160
void(* Indexf)(GLcontext *, GLfloat c)
Definition: types.h:427
void(* Rotatef)(GLcontext *, GLfloat, GLfloat, GLfloat, GLfloat)
Definition: types.h:487
struct gl_texture_object * Default2D
Definition: types.h:1128
void * VertexPtr
Definition: types.h:974
void(* PixelStorei)(GLcontext *, GLenum, GLint)
Definition: types.h:465
GLfloat sli
Definition: types.h:585
GLfloat u1
Definition: types.h:1039
struct HashTable * DisplayList
Definition: types.h:1124
GLenum PolygonSmooth
Definition: types.h:770
GLuint Border
Definition: types.h:295
GLfloat Ambient[4]
Definition: types.h:590
void(* PopName)(GLcontext *)
Definition: types.h:475
void(* GetTexGenfv)(GLcontext *, GLenum coord, GLenum, GLfloat *)
Definition: types.h:415
GLboolean NoRaster
Definition: types.h:1404
void(* NewList)(GLcontext *, GLuint list, GLenum)
Definition: types.h:457
void(* GetTexLevelParameteriv)(GLcontext *, GLenum, GLint, GLenum, GLint *)
Definition: types.h:421
GLboolean NewTextureMatrix
Definition: types.h:1298
Node * CurrentBlock
Definition: types.h:1310
GLfloat ObjectPlaneS[4]
Definition: types.h:907
GLfloat ModelViewInv[16]
Definition: types.h:1285
void(* SelectBuffer)(GLcontext *, GLsizei, GLuint *)
Definition: types.h:490
void(* GenTextures)(GLcontext *, GLsizei, GLuint *)
Definition: types.h:388
void(* MapGrid1f)(GLcontext *, GLint, GLfloat, GLfloat)
Definition: types.h:450
void * data
Definition: types.h:947
GLfloat BlueScale
Definition: types.h:811
GLdepth * Depth
Definition: types.h:1181
GLint TexCoordSize
Definition: types.h:996
GLboolean Map1Normal
Definition: types.h:694
GLboolean EdgeFlagEnabled
Definition: types.h:1006
TextureSampleFunc SampleFunc
Definition: types.h:1113
GLboolean AlphaEnabled
Definition: types.h:633
GLboolean Map2Vertex3
Definition: types.h:742
GLboolean LightTwoSide
Definition: types.h:1362
GLfloat Sx
Definition: types.h:939
void(* LoadMatrixf)(GLcontext *, const GLfloat *)
Definition: types.h:442
void(* StencilFunc)(GLcontext *, GLenum, GLint, GLuint)
Definition: types.h:492
void(* EvalPoint1)(GLcontext *, GLint)
Definition: types.h:378
GLvisual * Visual
Definition: types.h:1176
GLsizei NormalStrideB
Definition: types.h:979
GLboolean ClipEnabled[MAX_CLIP_PLANES]
Definition: types.h:929
GLfloat ConstantAttenuation
Definition: types.h:569
GLboolean EightBitColor
Definition: types.h:1146
GLboolean Map1Vertex4
Definition: types.h:700
GLenum MinFilter
Definition: types.h:1097
GLsizei NormalStride
Definition: types.h:978
struct gl_pixelstore_attrib Pack
Definition: types.h:1343
triangle_func TriangleFunc
Definition: types.h:1375
GLenum PaletteFormat
Definition: types.h:1106
GLenum PaletteIntFormat
Definition: types.h:1105
GLint StencilBits
Definition: types.h:1162
GLfloat PolygonZoffset
Definition: types.h:1364
struct gl_texture_object * Current1D
Definition: types.h:915
GLstencil WriteMask
Definition: types.h:885
void(* CopyTexSubImage2D)(GLcontext *, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)
Definition: types.h:353
struct gl_transform_attrib Transform
Definition: types.h:1335
GLboolean Map2Color4
Definition: types.h:701
GLboolean NormalEnabled
Definition: types.h:981
void * DriverCtx
Definition: types.h:1278
GLfloat ZoomY
Definition: types.h:819
GLuint(* GenLists)(GLcontext *, GLsizei)
Definition: types.h:387
#define MAX_CLIENT_ATTRIB_STACK_DEPTH
Definition: config.h:78
void(* ClearIndex)(GLcontext *, GLfloat)
Definition: types.h:331
GLfloat MapGrid2u2
Definition: types.h:749
GLboolean TwoSide
Definition: types.h:592
void(* DrawBuffer)(GLcontext *, GLenum)
Definition: types.h:364
Definition: ncftp.h:79
GLboolean AlphaTest
Definition: types.h:677
GLuint Hits
Definition: types.h:1025
GLboolean MonoPixels
Definition: types.h:1370
GLsizei EdgeFlagStrideB
Definition: types.h:1004
signed char GLbyte
Definition: gl.h:154
struct gl_attrib_node * ClientAttribStack[MAX_CLIENT_ATTRIB_STACK_DEPTH]
Definition: types.h:1340
GLfloat TextureStack[MAX_TEXTURE_STACK_DEPTH][16]
Definition: types.h:1302
struct gl_evaluators EvalMap
Definition: types.h:1346
GLfloat RasterPos[4]
Definition: types.h:658
GLuint TexGen
Definition: types.h:720
GLboolean CompileFlag
Definition: types.h:1307
struct gl_2d_map Map2Normal
Definition: types.h:1078
GLsizei Height
Definition: types.h:937
struct gl_light * NextEnabled
Definition: types.h:574
void(* ColorMaterial)(GLcontext *, GLenum, GLenum)
Definition: types.h:342
void(* Color3fv)(GLcontext *, const GLfloat *)
Definition: types.h:335
GLfloat Ambient[4]
Definition: types.h:597
void(* Vertex2f)(GLcontext *, GLfloat, GLfloat)
Definition: types.h:513
void(* MatrixMode)(GLcontext *, GLenum)
Definition: types.h:454
GLboolean DirectContext
Definition: types.h:1352
GLboolean Map2TextureCoord4
Definition: types.h:707
GLfloat RasterTexCoord[4]
Definition: types.h:662
struct gl_light Light[MAX_LIGHTS]
Definition: types.h:776
void(* GetMapdv)(GLcontext *, GLenum, GLenum, GLdouble *)
Definition: types.h:400
void(* MapGrid2f)(GLcontext *, GLint, GLfloat, GLfloat, GLint, GLfloat, GLfloat)
Definition: types.h:451
void(* GetPixelMapuiv)(GLcontext *, GLenum, GLuint *)
Definition: types.h:406
struct gl_api_table Exec
Definition: types.h:1270
GLfloat VP_inf_norm[3]
Definition: types.h:577
GLboolean Retain
Definition: types.h:1054
GLfloat MatDiffuse[2][3]
Definition: types.h:582
GLenum Type
Definition: types.h:275
struct gl_1d_map Map1Texture1
Definition: types.h:1068
GLfloat ObjectPlaneT[4]
Definition: types.h:908
GLdouble s
Definition: gl.h:2039
#define EXP_TABLE_SIZE
Definition: types.h:557
GLubyte * Alpha
Definition: types.h:1192
struct gl_2d_map Map2Color4
Definition: types.h:1077
GLint Components
Definition: types.h:273
GLuint ModelViewStackDepth
Definition: types.h:1286
interp_func ClipInterpAuxFunc
Definition: types.h:1360
GLfloat OffsetFactor
Definition: types.h:860
GLboolean Map2TextureCoord1
Definition: types.h:738
GLfloat SpotExponent
Definition: types.h:566
struct gl_2d_map Map2Vertex4
Definition: types.h:1075
unsigned int GLenum
Definition: gl.h:150
GLfloat AlphaBias
Definition: types.h:812
GLfloat GLfloat GLfloat GLfloat v3
Definition: glext.h:6064
GLfloat u2
Definition: types.h:1039
GLfloat * Buffer
Definition: types.h:1014
GLfloat dli
Definition: types.h:584
GLboolean SWmasking
Definition: types.h:628
line_func LineFunc
Definition: types.h:1374
void(* PopMatrix)(GLcontext *)
Definition: types.h:474
unsigned int GLbitfield
Definition: gl.h:152
void(* Color3f)(GLcontext *, GLfloat, GLfloat, GLfloat)
Definition: types.h:334
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
GLint MapItoBsize
Definition: types.h:825
void(* DeleteTextures)(GLcontext *, GLsizei, const GLuint *)
Definition: types.h:357
GLfloat MapGrid1u2
Definition: types.h:747
GLfloat LineZoffset
Definition: types.h:1365
GLboolean LocalViewer
Definition: types.h:591
GLubyte * BackAlpha
Definition: types.h:1191
GLboolean(* IsList)(GLcontext *, GLuint)
Definition: types.h:433
void(* MultMatrixf)(GLcontext *, const GLfloat *)
Definition: types.h:456
GLboolean IndexLogicOpEnabled
Definition: types.h:645
GLboolean ClipPlane[MAX_CLIP_PLANES]
Definition: types.h:680
void(* CullFace)(GLcontext *, GLenum)
Definition: types.h:355
GLenum CullFaceMode
Definition: types.h:856
void(* GetTexEnvfv)(GLcontext *, GLenum, GLenum, GLfloat *)
Definition: types.h:412
GLenum ShadeModel
Definition: types.h:780
GLfloat GLfloat GLfloat v2
Definition: glext.h:6063
GLuint PolygonStipple[32]
Definition: types.h:1331
GLsizei TexCoordStride
Definition: types.h:998
GLuint Index
Definition: types.h:655
void(* ShadeModel)(GLcontext *, GLenum)
Definition: types.h:491
GLuint MapGrid2un
Definition: types.h:748
GLboolean Map1Normal
Definition: types.h:728
void(* Rectf)(GLcontext *, GLfloat, GLfloat, GLfloat, GLfloat)
Definition: types.h:485
GLint MapItoIsize
Definition: types.h:822
struct gl_hint_attrib Hint
Definition: types.h:1324
struct gl_1d_map Map1Index
Definition: types.h:1065
GLboolean SmoothFlag
Definition: types.h:858
GLboolean PolygonOffsetFill
Definition: types.h:714
GLint MapItoAsize
Definition: types.h:826
void(* DepthMask)(GLcontext *, GLboolean)
Definition: types.h:359
struct gl_depthbuffer_attrib Depth
Definition: types.h:1321
struct gl_1d_map Map1Color4
Definition: types.h:1066
short GLshort
Definition: gl.h:155
void(* ColorSubTable)(GLcontext *, GLenum, GLsizei, struct gl_image *)
Definition: types.h:345
GLint Ymax
Definition: types.h:1195
GLfloat ClearColor[4]
Definition: types.h:618
unsigned int GLuint
Definition: gl.h:159
struct gl_pixelstore_attrib Unpack
Definition: types.h:1344
GLenum FrontFace
Definition: types.h:851
struct gl_api_table API
Definition: types.h:1268
GLboolean IndexLogicOp
Definition: types.h:690
GLboolean Map1TextureCoord2
Definition: types.h:696
GLfloat DepthBias
Definition: types.h:813
GLenum GenModeS
Definition: types.h:903
GLfloat RedScale
Definition: types.h:1140
GLenum(* GetError)(GLcontext *)
Definition: types.h:394
GLboolean Complete
Definition: types.h:1112
void(* ClipPlane)(GLcontext *, GLenum, const GLfloat *)
Definition: types.h:333
GLfloat TexCoord[4]
Definition: types.h:657
void(* ClearAccum)(GLcontext *, GLfloat, GLfloat, GLfloat, GLfloat)
Definition: types.h:328
GLenum LineSmooth
Definition: types.h:769
GLboolean NeedNormals
Definition: types.h:1367
GLvoid * Data
Definition: types.h:276
GLboolean Map1Vertex4
Definition: types.h:734
void(* PixelTransferf)(GLcontext *, GLenum, GLfloat)
Definition: types.h:466
struct gl_array_attrib Array
Definition: types.h:1342
GLboolean Enabled
Definition: types.h:870
GLfloat MapItoA[MAX_PIXEL_MAP_TABLE]
Definition: types.h:836
points_func PointsFunc
Definition: types.h:1373
struct gl_stencil_attrib Stencil
Definition: types.h:1333
GLfloat InvBlueScale
Definition: types.h:1150
#define list
Definition: rosglue.h:35
void(* End)(GLcontext *)
Definition: types.h:372
GLboolean * EdgeFlagPtr
Definition: types.h:1005
struct gl_viewport_attrib Viewport
Definition: types.h:1336
void(* GetTexParameteriv)(GLcontext *, GLenum, GLenum, GLint *)
Definition: types.h:424
GLuint BufferSize
Definition: types.h:1015
GLfloat EyePlaneS[4]
Definition: types.h:911
void(* Normal3f)(GLcontext *, GLfloat, GLfloat, GLfloat)
Definition: types.h:458
void(* EvalMesh2)(GLcontext *, GLenum, GLint, GLint, GLint, GLint)
Definition: types.h:377
struct gl_material Material[2]
Definition: types.h:778
GLboolean ColorLogicOpEnabled
Definition: types.h:646
GLuint Height2
Definition: types.h:299
void(* DrawPixels)(GLcontext *, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)
Definition: types.h:366
GLboolean MapColorFlag
Definition: types.h:816
GLfloat ClearColor[4]
Definition: types.h:624
GLboolean CullFace
Definition: types.h:682
void(* InterleavedArrays)(GLcontext *, GLenum, GLsizei, const GLvoid *)
Definition: types.h:431
GLfloat Width
Definition: types.h:798
GLboolean Unfilled
Definition: types.h:854
void * NormalPtr
Definition: types.h:980
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLuint Width2
Definition: types.h:298
GLfloat Direction[4]
Definition: types.h:565
GLboolean Map1TextureCoord3
Definition: types.h:697
void(* BindTexture)(GLcontext *, GLenum, GLuint)
Definition: types.h:321
void(* Vertex3f)(GLcontext *, GLfloat, GLfloat, GLfloat)
Definition: types.h:514
GLenum NormalType
Definition: types.h:977
void(* GetFloatv)(GLcontext *, GLenum, GLfloat *)
Definition: types.h:395
GLenum TexCoordType
Definition: types.h:997
struct gl_light * FirstEnabled
Definition: types.h:787
GLint Width
Definition: types.h:1178
GLboolean HitFlag
Definition: types.h:1028
GLboolean Blend
Definition: types.h:679
GLenum Format
Definition: types.h:290
GLboolean VertexEnabled
Definition: types.h:975
GLboolean Map1TextureCoord2
Definition: types.h:730
void(* EvalCoord1f)(GLcontext *, GLfloat)
Definition: types.h:374
GLboolean Map2TextureCoord3
Definition: types.h:740
GLuint ClientAttribStackDepth
Definition: types.h:1339
struct gl_selection Select
Definition: types.h:1348
GLboolean DitherFlag
Definition: types.h:649
void(* TexSubImage2D)(GLcontext *, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, struct gl_image *)
Definition: types.h:507
void(* PrioritizeTextures)(GLcontext *, GLsizei, const GLuint *, const GLclampf *)
Definition: types.h:410
float GLfloat
Definition: gl.h:161
GLfloat GreenScale
Definition: types.h:810
GLuint TextureStackDepth
Definition: types.h:1301
void(* GetPolygonStipple)(GLcontext *, GLubyte *)
Definition: types.h:409
GLboolean Stencil
Definition: types.h:718
void(* Accum)(GLcontext *, GLenum, GLfloat)
Definition: types.h:315
void(* EdgeFlagPointer)(GLcontext *, GLsizei, const GLboolean *)
Definition: types.h:369
GLfloat MapGrid2u1
Definition: types.h:749
void(* BlendFunc)(GLcontext *, GLenum, GLenum)
Definition: types.h:324
struct gl_list_attrib List
Definition: types.h:1327
GLfloat InvGreenScale
Definition: types.h:1149
float GLclampf
Definition: gl.h:162
GLfloat ProjectionMatrix[16]
Definition: types.h:1292
GLushort StipplePattern
Definition: types.h:796
GLboolean Test
Definition: types.h:671
GLboolean Normalize
Definition: types.h:931
void(* CopyTexImage1D)(GLcontext *, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint)
Definition: types.h:347
GLboolean Map1Vertex3
Definition: types.h:733
void(* PointSize)(GLcontext *, GLfloat)
Definition: types.h:468
struct gl_texture_object * Current
Definition: types.h:917
struct gl_2d_map Map2Texture4
Definition: types.h:1082
GLboolean AutoNormal
Definition: types.h:678
#define c
Definition: ke_i.h:80
void(* TexParameterfv)(GLcontext *, GLenum, GLenum, const GLfloat *)
Definition: types.h:510
void(* FeedbackBuffer)(GLcontext *, GLsizei, GLenum, GLfloat *)
Definition: types.h:380
GLint MapGtoGsize
Definition: types.h:828
void(* Materialfv)(GLcontext *, GLenum, GLenum, const GLfloat *)
Definition: types.h:453
GLboolean DBflag
Definition: types.h:1138
void(* PixelZoom)(GLcontext *, GLfloat, GLfloat)
Definition: types.h:467
GLfloat ShineTable[SHINE_TABLE_SIZE]
Definition: types.h:605
GLboolean Map2Vertex4
Definition: types.h:743
GLint(* RenderMode)(GLcontext *, GLenum)
Definition: types.h:486
GLboolean StippleFlag
Definition: types.h:795
GLfloat Priority
Definition: types.h:1092
GLint IndexOffset
Definition: types.h:815
void(* Normal3fv)(GLcontext *, const GLfloat *)
Definition: types.h:459
struct gl_lightmodel Model
Definition: types.h:777
int GLint
Definition: gl.h:156
GLint RedBits
Definition: types.h:1153
GLuint * Buffer
Definition: types.h:1022
static HBITMAP bitmap
Definition: clipboard.c:1344
void(* GetTexLevelParameterfv)(GLcontext *, GLenum, GLint, GLenum, GLfloat *)
Definition: types.h:419
GLuint ListBase
Definition: types.h:803
void(* PushMatrix)(GLcontext *)
Definition: types.h:478
GLboolean AnyDirty
Definition: types.h:922
GLfloat Specular[4]
Definition: types.h:563
GLint Xmax
Definition: types.h:1195
GLboolean Map2Index
Definition: types.h:702
GLfloat Ty
Definition: types.h:940
GLfloat MapItoG[MAX_PIXEL_MAP_TABLE]
Definition: types.h:834
GLboolean PolygonOffsetLine
Definition: types.h:713
void(* Scalef)(GLcontext *, GLfloat, GLfloat, GLfloat)
Definition: types.h:488
GLenum ReadBuffer
Definition: types.h:808
GLfloat RasterDistance
Definition: types.h:659
GLuint Uorder
Definition: types.h:1049
GLboolean Map2Normal
Definition: types.h:737
void(* Map2f)(GLcontext *, GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *, GLboolean)
Definition: types.h:447
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
struct gl_shared_state * Shared
Definition: types.h:1265
GLubyte * FrontAlpha
Definition: types.h:1190
void(* GetBooleanv)(GLcontext *, GLenum, GLboolean *)
Definition: types.h:389
void(* triangle_func)(GLcontext *ctx, GLuint v1, GLuint v2, GLuint v3, GLuint pv)
Definition: types.h:241
GLboolean(* IsEnabled)(GLcontext *, GLenum)
Definition: types.h:432
struct gl_light_attrib Light
Definition: types.h:1325
GLboolean PolygonStipple
Definition: types.h:716
struct vertex_buffer * VB
Definition: types.h:1380
GLfloat InvAlphaScale
Definition: types.h:1151
GLboolean LineStipple
Definition: types.h:689
GLfloat * Points
Definition: types.h:1053
struct gl_2d_map Map2Index
Definition: types.h:1076
GLuint TexGenEnabled
Definition: types.h:902
void(* CopyTexSubImage1D)(GLcontext *, GLenum, GLint, GLint, GLint, GLint, GLsizei)
Definition: types.h:351
GLenum Mode
Definition: types.h:761
GLboolean OffsetLine
Definition: types.h:863
GLenum ErrorValue
Definition: types.h:1350
void(* AlphaFunc)(GLcontext *, GLenum, GLclampf)
Definition: types.h:316
GLboolean(* IsTexture)(GLcontext *, GLuint)
Definition: types.h:434
GLboolean SmoothFlag
Definition: types.h:794
GLfloat GLfloat v1
Definition: glext.h:6062
#define MAX_NAME_STACK_DEPTH
Definition: config.h:109
struct gl_2d_map Map2Texture3
Definition: types.h:1081
void * DriverData
Definition: types.h:1110
#define MAX_TEXTURE_LEVELS
Definition: config.h:90
GLfloat u1
Definition: types.h:1051
void(* StencilOp)(GLcontext *, GLenum, GLenum, GLenum)
Definition: types.h:494
GLboolean ColorMaterialEnabled
Definition: types.h:784
GLfloat Sy
Definition: types.h:939
GLboolean OffsetPoint
Definition: types.h:862
GLint DepthBits
Definition: types.h:1161
GLboolean Map2TextureCoord2
Definition: types.h:739
GLuint Mask
Definition: types.h:1013
void(* GetClipPlane)(GLcontext *, GLenum, GLdouble *)
Definition: types.h:390
#define MAX_MODELVIEW_STACK_DEPTH
Definition: config.h:66
GLuint PaletteSize
Definition: types.h:1104
unsigned short GLushort
Definition: gl.h:158
void(* PixelMapfv)(GLcontext *, GLenum, GLint, const GLfloat *)
Definition: types.h:464
void(* GetDoublev)(GLcontext *, GLenum, GLdouble *)
Definition: types.h:393
void(* PushClientAttrib)(GLcontext *, GLbitfield)
Definition: types.h:477
void(* RasterPos4f)(GLcontext *, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Definition: types.h:480
void(* PolygonMode)(GLcontext *, GLenum, GLenum)
Definition: types.h:469
void(* PopClientAttrib)(GLcontext *)
Definition: types.h:473
GLboolean AnyClip
Definition: types.h:930
GLboolean OffsetAny
Definition: types.h:865
GLint MapBtoBsize
Definition: types.h:829
GLshort GLaccum
Definition: types.h:189
void(* Viewport)(GLcontext *, GLint, GLint, GLsizei, GLsizei)
Definition: types.h:518
GLboolean MutablePixels
Definition: types.h:1369
GLint StippleFactor
Definition: types.h:797
GLfloat Position[4]
Definition: types.h:564
GLboolean Map2Index
Definition: types.h:736
void(* points_func)(GLcontext *ctx, GLuint first, GLuint last)
Definition: types.h:237
void(* Color4f)(GLcontext *, GLfloat, GLfloat, GLfloat, GLfloat)
Definition: types.h:336
GLstencil Clear
Definition: types.h:884
GLboolean Map1TextureCoord4
Definition: types.h:698
GLsizei Width
Definition: types.h:872
Definition: dlist.c:348
void(* Scissor)(GLcontext *, GLint, GLint, GLsizei, GLsizei)
Definition: types.h:489
void(* Finish)(GLcontext *)
Definition: types.h:381
struct gl_feedback Feedback
Definition: types.h:1347
GLfloat EnvColor[4]
Definition: types.h:901
void(* GetPointerv)(GLcontext *, GLenum, GLvoid **)
Definition: types.h:408
GLenum FailFunc
Definition: types.h:879
GLuint const GLchar * name
Definition: glext.h:6031