xref: /aosp_15_r20/external/mesa3d/src/gallium/frontends/wgl/gldrv.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker /*
2*61046927SAndroid Build Coastguard Worker  * Copyright © Microsoft Corporation
3*61046927SAndroid Build Coastguard Worker  *
4*61046927SAndroid Build Coastguard Worker  * Permission is hereby granted, free of charge, to any person obtaining a
5*61046927SAndroid Build Coastguard Worker  * copy of this software and associated documentation files (the "Software"),
6*61046927SAndroid Build Coastguard Worker  * to deal in the Software without restriction, including without limitation
7*61046927SAndroid Build Coastguard Worker  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8*61046927SAndroid Build Coastguard Worker  * and/or sell copies of the Software, and to permit persons to whom the
9*61046927SAndroid Build Coastguard Worker  * Software is furnished to do so, subject to the following conditions:
10*61046927SAndroid Build Coastguard Worker  *
11*61046927SAndroid Build Coastguard Worker  * The above copyright notice and this permission notice (including the next
12*61046927SAndroid Build Coastguard Worker  * paragraph) shall be included in all copies or substantial portions of the
13*61046927SAndroid Build Coastguard Worker  * Software.
14*61046927SAndroid Build Coastguard Worker  *
15*61046927SAndroid Build Coastguard Worker  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16*61046927SAndroid Build Coastguard Worker  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17*61046927SAndroid Build Coastguard Worker  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18*61046927SAndroid Build Coastguard Worker  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19*61046927SAndroid Build Coastguard Worker  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20*61046927SAndroid Build Coastguard Worker  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
21*61046927SAndroid Build Coastguard Worker  * IN THE SOFTWARE.
22*61046927SAndroid Build Coastguard Worker  */
23*61046927SAndroid Build Coastguard Worker 
24*61046927SAndroid Build Coastguard Worker #ifndef _GLDRV_
25*61046927SAndroid Build Coastguard Worker #define _GLDRV_
26*61046927SAndroid Build Coastguard Worker 
27*61046927SAndroid Build Coastguard Worker #include <specstrings.h>
28*61046927SAndroid Build Coastguard Worker 
29*61046927SAndroid Build Coastguard Worker // Number of entries expected for various versions of OpenGL
30*61046927SAndroid Build Coastguard Worker #define OPENGL_VERSION_100_ENTRIES      306
31*61046927SAndroid Build Coastguard Worker #define OPENGL_VERSION_110_ENTRIES      336
32*61046927SAndroid Build Coastguard Worker 
33*61046927SAndroid Build Coastguard Worker typedef struct _GLDISPATCHTABLE {
34*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glNewList                )( GLuint list, GLenum mode );
35*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glEndList                )( void );
36*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glCallList               )( GLuint list );
37*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glCallLists              )( GLsizei n, GLenum type, const GLvoid *lists );
38*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glDeleteLists            )( GLuint list, GLsizei range );
39*61046927SAndroid Build Coastguard Worker     GLuint    (APIENTRY *glGenLists               )( GLsizei range );
40*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glListBase               )( GLuint base );
41*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glBegin                  )( GLenum mode );
42*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glBitmap                 )( GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap );
43*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor3b                )( GLbyte red, GLbyte green, GLbyte blue );
44*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor3bv               )( const GLbyte *v );
45*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor3d                )( GLdouble red, GLdouble green, GLdouble blue );
46*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor3dv               )( const GLdouble *v );
47*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor3f                )( GLfloat red, GLfloat green, GLfloat blue );
48*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor3fv               )( const GLfloat *v );
49*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor3i                )( GLint red, GLint green, GLint blue );
50*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor3iv               )( const GLint *v );
51*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor3s                )( GLshort red, GLshort green, GLshort blue );
52*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor3sv               )( const GLshort *v );
53*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor3ub               )( GLubyte red, GLubyte green, GLubyte blue );
54*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor3ubv              )( const GLubyte *v );
55*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor3ui               )( GLuint red, GLuint green, GLuint blue );
56*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor3uiv              )( const GLuint *v );
57*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor3us               )( GLushort red, GLushort green, GLushort blue );
58*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor3usv              )( const GLushort *v );
59*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor4b                )( GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha );
60*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor4bv               )( const GLbyte *v );
61*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor4d                )( GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha );
62*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor4dv               )( const GLdouble *v );
63*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor4f                )( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
64*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor4fv               )( const GLfloat *v );
65*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor4i                )( GLint red, GLint green, GLint blue, GLint alpha );
66*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor4iv               )( const GLint *v );
67*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor4s                )( GLshort red, GLshort green, GLshort blue, GLshort alpha );
68*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor4sv               )( const GLshort *v );
69*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor4ub               )( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha );
70*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor4ubv              )( const GLubyte *v );
71*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor4ui               )( GLuint red, GLuint green, GLuint blue, GLuint alpha );
72*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor4uiv              )( const GLuint *v );
73*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor4us               )( GLushort red, GLushort green, GLushort blue, GLushort alpha );
74*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColor4usv              )( const GLushort *v );
75*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glEdgeFlag               )( GLboolean flag );
76*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glEdgeFlagv              )( const GLboolean *flag );
77*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glEnd                    )( void );
78*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glIndexd                 )( GLdouble c );
79*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glIndexdv                )( const GLdouble *c );
80*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glIndexf                 )( GLfloat c );
81*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glIndexfv                )( const GLfloat *c );
82*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glIndexi                 )( GLint c );
83*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glIndexiv                )( const GLint *c );
84*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glIndexs                 )( GLshort c );
85*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glIndexsv                )( const GLshort *c );
86*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glNormal3b               )( GLbyte nx, GLbyte ny, GLbyte nz );
87*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glNormal3bv              )( const GLbyte *v );
88*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glNormal3d               )( GLdouble nx, GLdouble ny, GLdouble nz );
89*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glNormal3dv              )( const GLdouble *v );
90*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glNormal3f               )( GLfloat nx, GLfloat ny, GLfloat nz );
91*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glNormal3fv              )( const GLfloat *v );
92*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glNormal3i               )( GLint nx, GLint ny, GLint nz );
93*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glNormal3iv              )( const GLint *v );
94*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glNormal3s               )( GLshort nx, GLshort ny, GLshort nz );
95*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glNormal3sv              )( const GLshort *v );
96*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos2d            )( GLdouble x, GLdouble y );
97*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos2dv           )( const GLdouble *v );
98*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos2f            )( GLfloat x, GLfloat y );
99*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos2fv           )( const GLfloat *v );
100*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos2i            )( GLint x, GLint y );
101*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos2iv           )( const GLint *v );
102*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos2s            )( GLshort x, GLshort y );
103*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos2sv           )( const GLshort *v );
104*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos3d            )( GLdouble x, GLdouble y, GLdouble z );
105*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos3dv           )( const GLdouble *v );
106*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos3f            )( GLfloat x, GLfloat y, GLfloat z );
107*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos3fv           )( const GLfloat *v );
108*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos3i            )( GLint x, GLint y, GLint z );
109*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos3iv           )( const GLint *v );
110*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos3s            )( GLshort x, GLshort y, GLshort z );
111*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos3sv           )( const GLshort *v );
112*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos4d            )( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
113*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos4dv           )( const GLdouble *v );
114*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos4f            )( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
115*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos4fv           )( const GLfloat *v );
116*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos4i            )( GLint x, GLint y, GLint z, GLint w );
117*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos4iv           )( const GLint *v );
118*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos4s            )( GLshort x, GLshort y, GLshort z, GLshort w );
119*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRasterPos4sv           )( const GLshort *v );
120*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRectd                  )( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );
121*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRectdv                 )( const GLdouble *v1, const GLdouble *v2 );
122*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRectf                  )( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
123*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRectfv                 )( const GLfloat *v1, const GLfloat *v2 );
124*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRecti                  )( GLint x1, GLint y1, GLint x2, GLint y2 );
125*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRectiv                 )( const GLint *v1, const GLint *v2 );
126*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRects                  )( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
127*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRectsv                 )( const GLshort *v1, const GLshort *v2 );
128*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord1d             )( GLdouble s );
129*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord1dv            )( const GLdouble *v );
130*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord1f             )( GLfloat s );
131*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord1fv            )( const GLfloat *v );
132*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord1i             )( GLint s );
133*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord1iv            )( const GLint *v );
134*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord1s             )( GLshort s );
135*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord1sv            )( const GLshort *v );
136*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord2d             )( GLdouble s, GLdouble t );
137*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord2dv            )( const GLdouble *v );
138*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord2f             )( GLfloat s, GLfloat t );
139*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord2fv            )( const GLfloat *v );
140*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord2i             )( GLint s, GLint t );
141*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord2iv            )( const GLint *v );
142*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord2s             )( GLshort s, GLshort t );
143*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord2sv            )( const GLshort *v );
144*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord3d             )( GLdouble s, GLdouble t, GLdouble r );
145*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord3dv            )( const GLdouble *v );
146*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord3f             )( GLfloat s, GLfloat t, GLfloat r );
147*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord3fv            )( const GLfloat *v );
148*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord3i             )( GLint s, GLint t, GLint r );
149*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord3iv            )( const GLint *v );
150*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord3s             )( GLshort s, GLshort t, GLshort r );
151*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord3sv            )( const GLshort *v );
152*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord4d             )( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
153*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord4dv            )( const GLdouble *v );
154*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord4f             )( GLfloat s, GLfloat t, GLfloat r, GLfloat q );
155*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord4fv            )( const GLfloat *v );
156*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord4i             )( GLint s, GLint t, GLint r, GLint q );
157*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord4iv            )( const GLint *v );
158*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord4s             )( GLshort s, GLshort t, GLshort r, GLshort q );
159*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoord4sv            )( const GLshort *v );
160*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex2d               )( GLdouble x, GLdouble y );
161*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex2dv              )( const GLdouble *v );
162*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex2f               )( GLfloat x, GLfloat y );
163*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex2fv              )( const GLfloat *v );
164*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex2i               )( GLint x, GLint y );
165*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex2iv              )( const GLint *v );
166*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex2s               )( GLshort x, GLshort y );
167*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex2sv              )( const GLshort *v );
168*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex3d               )( GLdouble x, GLdouble y, GLdouble z );
169*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex3dv              )( const GLdouble *v );
170*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex3f               )( GLfloat x, GLfloat y, GLfloat z );
171*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex3fv              )( const GLfloat *v );
172*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex3i               )( GLint x, GLint y, GLint z );
173*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex3iv              )( const GLint *v );
174*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex3s               )( GLshort x, GLshort y, GLshort z );
175*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex3sv              )( const GLshort *v );
176*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex4d               )( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
177*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex4dv              )( const GLdouble *v );
178*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex4f               )( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
179*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex4fv              )( const GLfloat *v );
180*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex4i               )( GLint x, GLint y, GLint z, GLint w );
181*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex4iv              )( const GLint *v );
182*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex4s               )( GLshort x, GLshort y, GLshort z, GLshort w );
183*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertex4sv              )( const GLshort *v );
184*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glClipPlane              )( GLenum plane, const GLdouble *equation );
185*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColorMaterial          )( GLenum face, GLenum mode );
186*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glCullFace               )( GLenum mode );
187*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glFogf                   )( GLenum pname, GLfloat param );
188*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glFogfv                  )( GLenum pname, const GLfloat *params );
189*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glFogi                   )( GLenum pname, GLint param );
190*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glFogiv                  )( GLenum pname, const GLint *params );
191*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glFrontFace              )( GLenum mode );
192*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glHint                   )( GLenum target, GLenum mode );
193*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glLightf                 )( GLenum light, GLenum pname, GLfloat param );
194*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glLightfv                )( GLenum light, GLenum pname, const GLfloat *params );
195*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glLighti                 )( GLenum light, GLenum pname, GLint param );
196*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glLightiv                )( GLenum light, GLenum pname, const GLint *params );
197*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glLightModelf            )( GLenum pname, GLfloat param );
198*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glLightModelfv           )( GLenum pname, const GLfloat *params );
199*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glLightModeli            )( GLenum pname, GLint param );
200*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glLightModeliv           )( GLenum pname, const GLint *params );
201*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glLineStipple            )( GLint factor, GLushort pattern );
202*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glLineWidth              )( GLfloat width );
203*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glMaterialf              )( GLenum face, GLenum pname, GLfloat param );
204*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glMaterialfv             )( GLenum face, GLenum pname, const GLfloat *params );
205*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glMateriali              )( GLenum face, GLenum pname, GLint param );
206*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glMaterialiv             )( GLenum face, GLenum pname, const GLint *params );
207*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPointSize              )( GLfloat size );
208*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPolygonMode            )( GLenum face, GLenum mode );
209*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPolygonStipple         )( const GLubyte *mask );
210*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glScissor                )( GLint x, GLint y, GLsizei width, GLsizei height );
211*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glShadeModel             )( GLenum mode );
212*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexParameterf          )( GLenum target, GLenum pname, GLfloat param );
213*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexParameterfv         )( GLenum target, GLenum pname, const GLfloat *params );
214*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexParameteri          )( GLenum target, GLenum pname, GLint param );
215*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexParameteriv         )( GLenum target, GLenum pname, const GLint *params );
216*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexImage1D             )( GLenum target, GLint level, GLint components, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
217*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexImage2D             )( GLenum target, GLint level, GLint components, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
218*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexEnvf                )( GLenum target, GLenum pname, GLfloat param );
219*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexEnvfv               )( GLenum target, GLenum pname, const GLfloat *params );
220*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexEnvi                )( GLenum target, GLenum pname, GLint param );
221*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexEnviv               )( GLenum target, GLenum pname, const GLint *params );
222*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexGend                )( GLenum coord, GLenum pname, GLdouble param );
223*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexGendv               )( GLenum coord, GLenum pname, const GLdouble *params );
224*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexGenf                )( GLenum coord, GLenum pname, GLfloat param );
225*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexGenfv               )( GLenum coord, GLenum pname, const GLfloat *params );
226*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexGeni                )( GLenum coord, GLenum pname, GLint param );
227*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexGeniv               )( GLenum coord, GLenum pname, const GLint *params );
228*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glFeedbackBuffer         )( GLsizei size, GLenum type, GLfloat *buffer );
229*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glSelectBuffer           )( GLsizei size, GLuint *buffer );
230*61046927SAndroid Build Coastguard Worker     GLint     (APIENTRY *glRenderMode             )( GLenum mode );
231*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glInitNames              )( void );
232*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glLoadName               )( GLuint name );
233*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPassThrough            )( GLfloat token );
234*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPopName                )( void );
235*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPushName               )( GLuint name );
236*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glDrawBuffer             )( GLenum mode );
237*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glClear                  )( GLbitfield mask );
238*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glClearAccum             )( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
239*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glClearIndex             )( GLfloat c );
240*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glClearColor             )( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
241*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glClearStencil           )( GLint s );
242*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glClearDepth             )( GLclampd depth );
243*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glStencilMask            )( GLuint mask );
244*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColorMask              )( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha );
245*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glDepthMask              )( GLboolean flag );
246*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glIndexMask              )( GLuint mask );
247*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glAccum                  )( GLenum op, GLfloat value );
248*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glDisable                )( GLenum cap );
249*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glEnable                 )( GLenum cap );
250*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glFinish                 )( void );
251*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glFlush                  )( void );
252*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPopAttrib              )( void );
253*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPushAttrib             )( GLbitfield mask );
254*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glMap1d                  )( GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points );
255*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glMap1f                  )( GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points );
256*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glMap2d                  )( GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points );
257*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glMap2f                  )( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points );
258*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glMapGrid1d              )( GLint un, GLdouble u1, GLdouble u2 );
259*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glMapGrid1f              )( GLint un, GLfloat u1, GLfloat u2 );
260*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glMapGrid2d              )( GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2 );
261*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glMapGrid2f              )( GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2 );
262*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glEvalCoord1d            )( GLdouble u );
263*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glEvalCoord1dv           )( const GLdouble *u );
264*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glEvalCoord1f            )( GLfloat u );
265*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glEvalCoord1fv           )( const GLfloat *u );
266*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glEvalCoord2d            )( GLdouble u, GLdouble v );
267*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glEvalCoord2dv           )( const GLdouble *u );
268*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glEvalCoord2f            )( GLfloat u, GLfloat v );
269*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glEvalCoord2fv           )( const GLfloat *u );
270*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glEvalMesh1              )( GLenum mode, GLint i1, GLint i2 );
271*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glEvalPoint1             )( GLint i );
272*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glEvalMesh2              )( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
273*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glEvalPoint2             )( GLint i, GLint j );
274*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glAlphaFunc              )( GLenum func, GLclampf ref );
275*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glBlendFunc              )( GLenum sfactor, GLenum dfactor );
276*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glLogicOp                )( GLenum opcode );
277*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glStencilFunc            )( GLenum func, GLint ref, GLuint mask );
278*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glStencilOp              )( GLenum fail, GLenum zfail, GLenum zpass );
279*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glDepthFunc              )( GLenum func );
280*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPixelZoom              )( GLfloat xfactor, GLfloat yfactor );
281*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPixelTransferf         )( GLenum pname, GLfloat param );
282*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPixelTransferi         )( GLenum pname, GLint param );
283*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPixelStoref            )( GLenum pname, GLfloat param );
284*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPixelStorei            )( GLenum pname, GLint param );
285*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPixelMapfv             )( GLenum map, GLint mapsize, const GLfloat *values );
286*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPixelMapuiv            )( GLenum map, GLint mapsize, const GLuint *values );
287*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPixelMapusv            )( GLenum map, GLint mapsize, const GLushort *values );
288*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glReadBuffer             )( GLenum mode );
289*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glCopyPixels             )( GLint x, GLint y, GLsizei width, GLsizei height, GLenum type );
290*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glReadPixels             )( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels );
291*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glDrawPixels             )( GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels );
292*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetBooleanv            )( GLenum pname, GLboolean *params );
293*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetClipPlane           )( GLenum plane, GLdouble *equation );
294*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetDoublev             )( GLenum pname, GLdouble *params );
295*61046927SAndroid Build Coastguard Worker     GLenum    (APIENTRY *glGetError               )( void );
296*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetFloatv              )( GLenum pname, GLfloat *params );
297*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetIntegerv            )( GLenum pname, GLint *params );
298*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetLightfv             )( GLenum light, GLenum pname, GLfloat *params );
299*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetLightiv             )( GLenum light, GLenum pname, GLint *params );
300*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetMapdv               )( GLenum target, GLenum query, GLdouble *v );
301*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetMapfv               )( GLenum target, GLenum query, GLfloat *v );
302*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetMapiv               )( GLenum target, GLenum query, GLint *v );
303*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetMaterialfv          )( GLenum face, GLenum pname, GLfloat *params );
304*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetMaterialiv          )( GLenum face, GLenum pname, GLint *params );
305*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetPixelMapfv          )( GLenum map, GLfloat *values );
306*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetPixelMapuiv         )( GLenum map, GLuint *values );
307*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetPixelMapusv         )( GLenum map, GLushort *values );
308*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetPolygonStipple      )( GLubyte *mask );
309*61046927SAndroid Build Coastguard Worker     const GLubyte * (APIENTRY *glGetString        )( GLenum name );
310*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetTexEnvfv            )( GLenum target, GLenum pname, GLfloat *params );
311*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetTexEnviv            )( GLenum target, GLenum pname, GLint *params );
312*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetTexGendv            )( GLenum coord, GLenum pname, GLdouble *params );
313*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetTexGenfv            )( GLenum coord, GLenum pname, GLfloat *params );
314*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetTexGeniv            )( GLenum coord, GLenum pname, GLint *params );
315*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetTexImage            )( GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels );
316*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetTexParameterfv      )( GLenum target, GLenum pname, GLfloat *params );
317*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetTexParameteriv      )( GLenum target, GLenum pname, GLint *params );
318*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetTexLevelParameterfv )( GLenum target, GLint level, GLenum pname, GLfloat *params );
319*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetTexLevelParameteriv )( GLenum target, GLint level, GLenum pname, GLint *params );
320*61046927SAndroid Build Coastguard Worker     GLboolean (APIENTRY *glIsEnabled              )( GLenum cap );
321*61046927SAndroid Build Coastguard Worker     GLboolean (APIENTRY *glIsList                 )( GLuint list );
322*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glDepthRange             )( GLclampd zNear, GLclampd zFar );
323*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glFrustum                )( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar );
324*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glLoadIdentity           )( void );
325*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glLoadMatrixf            )( const GLfloat *m );
326*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glLoadMatrixd            )( const GLdouble *m );
327*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glMatrixMode             )( GLenum mode );
328*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glMultMatrixf            )( const GLfloat *m );
329*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glMultMatrixd            )( const GLdouble *m );
330*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glOrtho                  )( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar );
331*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPopMatrix              )( void );
332*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPushMatrix             )( void );
333*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRotated                )( GLdouble angle, GLdouble x, GLdouble y, GLdouble z );
334*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glRotatef                )( GLfloat angle, GLfloat x, GLfloat y, GLfloat z );
335*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glScaled                 )( GLdouble x, GLdouble y, GLdouble z );
336*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glScalef                 )( GLfloat x, GLfloat y, GLfloat z );
337*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTranslated             )( GLdouble x, GLdouble y, GLdouble z );
338*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTranslatef             )( GLfloat x, GLfloat y, GLfloat z );
339*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glViewport               )( GLint x, GLint y, GLsizei width, GLsizei height );
340*61046927SAndroid Build Coastguard Worker     // OpenGL version 1.0 entries end here
341*61046927SAndroid Build Coastguard Worker 
342*61046927SAndroid Build Coastguard Worker     // OpenGL version 1.1 entries begin here
343*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glArrayElement           )(GLint i);
344*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glBindTexture            )(GLenum target, GLuint texture);
345*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glColorPointer           )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
346*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glDisableClientState     )(GLenum array);
347*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glDrawArrays             )(GLenum mode, GLint first, GLsizei count);
348*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glDrawElements           )(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
349*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glEdgeFlagPointer        )(GLsizei stride, const GLvoid *pointer);
350*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glEnableClientState      )(GLenum array);
351*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glIndexPointer           )(GLenum type, GLsizei stride, const GLvoid *pointer);
352*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glIndexub                )(GLubyte c);
353*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glIndexubv               )(const GLubyte *c);
354*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glInterleavedArrays      )(GLenum format, GLsizei stride, const GLvoid *pointer);
355*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glNormalPointer          )(GLenum type, GLsizei stride, const GLvoid *pointer);
356*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPolygonOffset          )(GLfloat factor, GLfloat units);
357*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexCoordPointer        )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
358*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glVertexPointer          )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
359*61046927SAndroid Build Coastguard Worker     GLboolean (APIENTRY *glAreTexturesResident    )(GLsizei n, const GLuint *textures, GLboolean *residences);
360*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glCopyTexImage1D         )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
361*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glCopyTexImage2D         )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
362*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glCopyTexSubImage1D      )(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
363*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glCopyTexSubImage2D      )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
364*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glDeleteTextures         )(GLsizei n, const GLuint *textures);
365*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGenTextures            )(GLsizei n, GLuint *textures);
366*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glGetPointerv            )(GLenum pname, GLvoid* *params);
367*61046927SAndroid Build Coastguard Worker     GLboolean (APIENTRY *glIsTexture              )(GLuint texture);
368*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPrioritizeTextures     )(GLsizei n, const GLuint *textures, const GLclampf *priorities);
369*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexSubImage1D          )(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
370*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glTexSubImage2D          )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
371*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPopClientAttrib        )(void);
372*61046927SAndroid Build Coastguard Worker     void      (APIENTRY *glPushClientAttrib       )(GLbitfield mask);
373*61046927SAndroid Build Coastguard Worker } GLDISPATCHTABLE, *PGLDISPATCHTABLE;
374*61046927SAndroid Build Coastguard Worker 
375*61046927SAndroid Build Coastguard Worker // OpenGL Client/Driver Procedure Table.
376*61046927SAndroid Build Coastguard Worker 
377*61046927SAndroid Build Coastguard Worker typedef struct _GLCLTPROCTABLE {
378*61046927SAndroid Build Coastguard Worker     _In_range_(0,OPENGL_VERSION_110_ENTRIES) int             cEntries;           // Number of function entries in table
379*61046927SAndroid Build Coastguard Worker     GLDISPATCHTABLE glDispatchTable;    // OpenGL function dispatch table
380*61046927SAndroid Build Coastguard Worker } GLCLTPROCTABLE, *PGLCLTPROCTABLE;
381*61046927SAndroid Build Coastguard Worker 
382*61046927SAndroid Build Coastguard Worker // Driver GLRC handle.
383*61046927SAndroid Build Coastguard Worker 
384*61046927SAndroid Build Coastguard Worker typedef ULONG DHGLRC;
385*61046927SAndroid Build Coastguard Worker 
386*61046927SAndroid Build Coastguard Worker // SetProcTable function prototype for DrvSetContext.
387*61046927SAndroid Build Coastguard Worker 
388*61046927SAndroid Build Coastguard Worker typedef VOID (APIENTRY *PFN_SETPROCTABLE)(PGLCLTPROCTABLE);
389*61046927SAndroid Build Coastguard Worker 
390*61046927SAndroid Build Coastguard Worker // DrvSetCallbackProcs prototypes
391*61046927SAndroid Build Coastguard Worker typedef VOID   (APIENTRY *PFN_SETCURRENTVALUE)(VOID *pv);
392*61046927SAndroid Build Coastguard Worker typedef VOID  *(APIENTRY *PFN_GETCURRENTVALUE)(VOID);
393*61046927SAndroid Build Coastguard Worker typedef DHGLRC (APIENTRY *PFN_GETDHGLRC)(HGLRC hrc);
394*61046927SAndroid Build Coastguard Worker #if WINVER >= 0x600
395*61046927SAndroid Build Coastguard Worker typedef struct _PRESENTBUFFERSCB {
396*61046927SAndroid Build Coastguard Worker     IN UINT nVersion;
397*61046927SAndroid Build Coastguard Worker     IN UINT syncType;      // See PRESCB_SYNCTYPE_NONE and PRESCB_SYNCTYPE_VSYNC
398*61046927SAndroid Build Coastguard Worker     IN LUID luidAdapter;
399*61046927SAndroid Build Coastguard Worker     IN LPVOID pPrivData;
400*61046927SAndroid Build Coastguard Worker     IN RECT updateRect;    // Update rectangle in the coordinate system of the window, whose HDC is passed to PFN_PRESENTBUFFERS
401*61046927SAndroid Build Coastguard Worker } PRESENTBUFFERSCB, *LPPRESENTBUFFERSCB;
402*61046927SAndroid Build Coastguard Worker typedef BOOL (APIENTRY *PFN_PRESENTBUFFERS)(HDC hdc, LPPRESENTBUFFERSCB pprsbcbData);
403*61046927SAndroid Build Coastguard Worker #endif
404*61046927SAndroid Build Coastguard Worker #if WINVER >= 0xA00
405*61046927SAndroid Build Coastguard Worker typedef VOID   (APIENTRY *PFN_GETADAPTERLUID)(HDC hdc, OUT LUID* pLuid);
406*61046927SAndroid Build Coastguard Worker typedef struct _CHECKFULLSCREENSUPPORTCB {
407*61046927SAndroid Build Coastguard Worker     IN UINT nVersion;
408*61046927SAndroid Build Coastguard Worker     IN LUID luidAdapter;
409*61046927SAndroid Build Coastguard Worker     IN UINT hDevice;
410*61046927SAndroid Build Coastguard Worker     IN HMONITOR hMonitor;
411*61046927SAndroid Build Coastguard Worker     OUT UINT VidPnSourceId;
412*61046927SAndroid Build Coastguard Worker } CHECKFULLSCREENSUPPORTCB, *LPCHECKFULLSCREENSUPPORTCB;
413*61046927SAndroid Build Coastguard Worker typedef BOOL   (APIENTRY *PFN_CHECKFULLSCREENSUPPORT)(HDC hdc, LPCHECKFULLSCREENSUPPORTCB pArgs);
414*61046927SAndroid Build Coastguard Worker typedef struct _PRESENTTOREDIRECTIONSURFACECB {
415*61046927SAndroid Build Coastguard Worker     IN UINT nVersion;
416*61046927SAndroid Build Coastguard Worker     IN UINT hContext;
417*61046927SAndroid Build Coastguard Worker     IN UINT hSource;
418*61046927SAndroid Build Coastguard Worker     IN UINT hDestination;
419*61046927SAndroid Build Coastguard Worker     IN HANDLE hSharedHandle;
420*61046927SAndroid Build Coastguard Worker     IN UINT64 updateId;
421*61046927SAndroid Build Coastguard Worker     IN RECT updateRect;
422*61046927SAndroid Build Coastguard Worker     IN UINT broadcastContextCount;
423*61046927SAndroid Build Coastguard Worker     IN UINT broadcastContext[64];
424*61046927SAndroid Build Coastguard Worker     IN UINT broadcastSrcAllocation[64];
425*61046927SAndroid Build Coastguard Worker     IN UINT broadcastDstAllocation[64];
426*61046927SAndroid Build Coastguard Worker     IN UINT cbPrivateDriverDataSize;
427*61046927SAndroid Build Coastguard Worker     IN VOID *pPrivateDriverData;
428*61046927SAndroid Build Coastguard Worker } PRESENTTOREDIRECTIONSURFACECB, *LPPRESENTTOREDIRECTIONSURFACECB;
429*61046927SAndroid Build Coastguard Worker typedef BOOL   (APIENTRY *PFN_PRESENTTOREDIRECTIONSURFACE)(HDC hdc, LPPRESENTTOREDIRECTIONSURFACECB pArgs);
430*61046927SAndroid Build Coastguard Worker typedef struct _SUBMITPRESENTTOREDIRECTIONSURFACECB {
431*61046927SAndroid Build Coastguard Worker     IN UINT nVersion;
432*61046927SAndroid Build Coastguard Worker     IN HANDLE hSharedHandle;
433*61046927SAndroid Build Coastguard Worker     IN UINT64 updateId;
434*61046927SAndroid Build Coastguard Worker     IN RECT updateRect;
435*61046927SAndroid Build Coastguard Worker     IN UINT broadcastHwQueueCount;
436*61046927SAndroid Build Coastguard Worker 
437*61046927SAndroid Build Coastguard Worker     _Field_size_(broadcastHwQueueCount)
438*61046927SAndroid Build Coastguard Worker     IN UINT *broadcastHwQueue;
439*61046927SAndroid Build Coastguard Worker 
440*61046927SAndroid Build Coastguard Worker     _Field_size_(broadcastHwQueueCount)
441*61046927SAndroid Build Coastguard Worker     IN UINT *broadcastSrcAllocation;
442*61046927SAndroid Build Coastguard Worker 
443*61046927SAndroid Build Coastguard Worker     _Field_size_opt_(broadcastHwQueueCount)
444*61046927SAndroid Build Coastguard Worker     IN UINT *broadcastDstAllocation;
445*61046927SAndroid Build Coastguard Worker 
446*61046927SAndroid Build Coastguard Worker     IN UINT cbPrivateDriverDataSize;
447*61046927SAndroid Build Coastguard Worker     IN VOID *pPrivateDriverData;
448*61046927SAndroid Build Coastguard Worker } SUBMITPRESENTTOREDIRECTIONSURFACECB, *LPSUBMITPRESENTTOREDIRECTIONSURFACECB;
449*61046927SAndroid Build Coastguard Worker typedef BOOL   (APIENTRY *PFN_SUBMITPRESENTTOREDIRECTIONSURFACE)(HDC hdc, LPSUBMITPRESENTTOREDIRECTIONSURFACECB pArgs);
450*61046927SAndroid Build Coastguard Worker #endif
451*61046927SAndroid Build Coastguard Worker 
452*61046927SAndroid Build Coastguard Worker // Note: Structure not referenced directly, simply present to document the expected order/count of
453*61046927SAndroid Build Coastguard Worker // callbacks received through DrvSetCallbackProcs.
454*61046927SAndroid Build Coastguard Worker struct WGLCALLBACKS
455*61046927SAndroid Build Coastguard Worker {
456*61046927SAndroid Build Coastguard Worker     PFN_SETCURRENTVALUE pfnSetCurrentValue;
457*61046927SAndroid Build Coastguard Worker     PFN_GETCURRENTVALUE pfnGetCurrentValue;
458*61046927SAndroid Build Coastguard Worker     PFN_GETDHGLRC pfnGetDhglrc;
459*61046927SAndroid Build Coastguard Worker     PROC pfnUnused;
460*61046927SAndroid Build Coastguard Worker #if WINVER >= 0x600
461*61046927SAndroid Build Coastguard Worker     PFN_PRESENTBUFFERS pfnPresentBuffers;
462*61046927SAndroid Build Coastguard Worker #endif
463*61046927SAndroid Build Coastguard Worker #if WINVER >= 0xA00
464*61046927SAndroid Build Coastguard Worker     PFN_GETADAPTERLUID pfnGetAdapterLuid;
465*61046927SAndroid Build Coastguard Worker     PFN_CHECKFULLSCREENSUPPORT pfnCheckFullscreenSupport;
466*61046927SAndroid Build Coastguard Worker     PFN_PRESENTTOREDIRECTIONSURFACE pfnPresentToRedirectionSurface;
467*61046927SAndroid Build Coastguard Worker     PFN_SUBMITPRESENTTOREDIRECTIONSURFACE pfnSubmitPresentToRedirectionSurface;
468*61046927SAndroid Build Coastguard Worker #endif
469*61046927SAndroid Build Coastguard Worker };
470*61046927SAndroid Build Coastguard Worker 
471*61046927SAndroid Build Coastguard Worker // Driver context function prototypes.
472*61046927SAndroid Build Coastguard Worker 
473*61046927SAndroid Build Coastguard Worker BOOL            APIENTRY DrvCopyContext(DHGLRC, DHGLRC, UINT);
474*61046927SAndroid Build Coastguard Worker DHGLRC          APIENTRY DrvCreateContext(HDC);
475*61046927SAndroid Build Coastguard Worker DHGLRC          APIENTRY DrvCreateLayerContext(HDC, int);
476*61046927SAndroid Build Coastguard Worker BOOL            APIENTRY DrvDeleteContext(DHGLRC);
477*61046927SAndroid Build Coastguard Worker PGLCLTPROCTABLE APIENTRY DrvSetContext(HDC,DHGLRC,PFN_SETPROCTABLE);
478*61046927SAndroid Build Coastguard Worker BOOL            APIENTRY DrvReleaseContext(DHGLRC);
479*61046927SAndroid Build Coastguard Worker BOOL            APIENTRY DrvValidateVersion(ULONG);
480*61046927SAndroid Build Coastguard Worker BOOL		APIENTRY DrvShareLists(DHGLRC, DHGLRC);
481*61046927SAndroid Build Coastguard Worker PROC            APIENTRY DrvGetProcAddress(LPCSTR);
482*61046927SAndroid Build Coastguard Worker VOID            APIENTRY DrvSetCallbackProcs(INT, PROC *); // See WGLCALLBACKS for expected order/count per OS.
483*61046927SAndroid Build Coastguard Worker BOOL            APIENTRY DrvDescribeLayerPlane(HDC, INT, INT, UINT,
484*61046927SAndroid Build Coastguard Worker                                                LPLAYERPLANEDESCRIPTOR);
485*61046927SAndroid Build Coastguard Worker INT             APIENTRY DrvSetLayerPaletteEntries(HDC, INT, INT, INT,
486*61046927SAndroid Build Coastguard Worker                                                    CONST COLORREF *);
487*61046927SAndroid Build Coastguard Worker INT             APIENTRY DrvGetLayerPaletteEntries(HDC, INT, INT, INT,
488*61046927SAndroid Build Coastguard Worker                                                    COLORREF *);
489*61046927SAndroid Build Coastguard Worker BOOL            APIENTRY DrvRealizeLayerPalette(HDC, INT, BOOL);
490*61046927SAndroid Build Coastguard Worker BOOL            APIENTRY DrvSwapLayerBuffers(HDC, UINT);
491*61046927SAndroid Build Coastguard Worker 
492*61046927SAndroid Build Coastguard Worker #if WINVER >= 0x500
493*61046927SAndroid Build Coastguard Worker 
494*61046927SAndroid Build Coastguard Worker typedef struct IDirectDrawSurface *LPDIRECTDRAWSURFACE;
495*61046927SAndroid Build Coastguard Worker typedef struct _DDSURFACEDESC *LPDDSURFACEDESC;
496*61046927SAndroid Build Coastguard Worker 
497*61046927SAndroid Build Coastguard Worker DHGLRC          APIENTRY DrvCreateDirectDrawContext(HDC, LPDIRECTDRAWSURFACE,
498*61046927SAndroid Build Coastguard Worker                                                     int);
499*61046927SAndroid Build Coastguard Worker int             APIENTRY DrvEnumTextureFormats(int, LPDDSURFACEDESC);
500*61046927SAndroid Build Coastguard Worker BOOL            APIENTRY DrvBindDirectDrawTexture(LPDIRECTDRAWSURFACE);
501*61046927SAndroid Build Coastguard Worker DWORD           APIENTRY DrvSwapMultipleBuffers(UINT cBuffers,
502*61046927SAndroid Build Coastguard Worker                                                 CONST WGLSWAP *pgswap);
503*61046927SAndroid Build Coastguard Worker 
504*61046927SAndroid Build Coastguard Worker LONG            APIENTRY DrvDescribePixelFormat(HDC, INT, ULONG, PIXELFORMATDESCRIPTOR*);
505*61046927SAndroid Build Coastguard Worker BOOL            APIENTRY DrvSetPixelFormat(HDC, LONG);
506*61046927SAndroid Build Coastguard Worker BOOL            APIENTRY DrvSwapBuffers(HDC);
507*61046927SAndroid Build Coastguard Worker 
508*61046927SAndroid Build Coastguard Worker #endif // WINVER >= 0x500
509*61046927SAndroid Build Coastguard Worker 
510*61046927SAndroid Build Coastguard Worker #if WINVER >= 0x600
511*61046927SAndroid Build Coastguard Worker typedef struct _PRESENTBUFFERS {
512*61046927SAndroid Build Coastguard Worker     IN HANDLE hSurface;
513*61046927SAndroid Build Coastguard Worker     IN LUID luidAdapter;
514*61046927SAndroid Build Coastguard Worker     IN ULONGLONG ullPresentToken;
515*61046927SAndroid Build Coastguard Worker     IN LPVOID pPrivData;
516*61046927SAndroid Build Coastguard Worker } PRESENTBUFFERS, *LPPRESENTBUFFERS;
517*61046927SAndroid Build Coastguard Worker typedef BOOL (APIENTRY *PFN_PRESENTBUFFERS)(HDC hdc, LPPRESENTBUFFERSCB pprsbcbData);
518*61046927SAndroid Build Coastguard Worker 
519*61046927SAndroid Build Coastguard Worker #define PRESCB_SYNCTYPE_NONE 0
520*61046927SAndroid Build Coastguard Worker #define PRESCB_SYNCTYPE_VSYNC  1
521*61046927SAndroid Build Coastguard Worker 
522*61046927SAndroid Build Coastguard Worker BOOL            APIENTRY DrvPresentBuffers(HDC hdc, LPPRESENTBUFFERS pprsbData);
523*61046927SAndroid Build Coastguard Worker 
524*61046927SAndroid Build Coastguard Worker #endif
525*61046927SAndroid Build Coastguard Worker 
526*61046927SAndroid Build Coastguard Worker // Input structure for OPENGL_CMD ExtEscape.
527*61046927SAndroid Build Coastguard Worker 
528*61046927SAndroid Build Coastguard Worker typedef struct _WNDOBJ WNDOBJ;
529*61046927SAndroid Build Coastguard Worker typedef struct _XLATEOBJ XLATEOBJ;
530*61046927SAndroid Build Coastguard Worker 
531*61046927SAndroid Build Coastguard Worker typedef struct _OPENGLCMD
532*61046927SAndroid Build Coastguard Worker {
533*61046927SAndroid Build Coastguard Worker     ULONG    ulSubEsc;
534*61046927SAndroid Build Coastguard Worker     FLONG    fl;
535*61046927SAndroid Build Coastguard Worker     WNDOBJ   *pwo;
536*61046927SAndroid Build Coastguard Worker     XLATEOBJ *pxo;
537*61046927SAndroid Build Coastguard Worker } OPENGLCMD, *POPENGLCMD;
538*61046927SAndroid Build Coastguard Worker 
539*61046927SAndroid Build Coastguard Worker #if WINVER >= 0x500
540*61046927SAndroid Build Coastguard Worker 
541*61046927SAndroid Build Coastguard Worker #define OPENGLCMD_MAXMULTI WGL_SWAPMULTIPLE_MAX
542*61046927SAndroid Build Coastguard Worker 
543*61046927SAndroid Build Coastguard Worker typedef struct _OPENGLCMDMULTI
544*61046927SAndroid Build Coastguard Worker {
545*61046927SAndroid Build Coastguard Worker     ULONG ulSubEsc;
546*61046927SAndroid Build Coastguard Worker     FLONG fl;
547*61046927SAndroid Build Coastguard Worker     ULONG cMulti;
548*61046927SAndroid Build Coastguard Worker     XLATEOBJ *pxo;
549*61046927SAndroid Build Coastguard Worker } OPENGLCMDMULTI, *POPENGLCMDMULTI;
550*61046927SAndroid Build Coastguard Worker 
551*61046927SAndroid Build Coastguard Worker #endif // WINVER >= 0x500
552*61046927SAndroid Build Coastguard Worker 
553*61046927SAndroid Build Coastguard Worker // Flags for OPENGL_CMD ExtEscape.
554*61046927SAndroid Build Coastguard Worker 
555*61046927SAndroid Build Coastguard Worker #define OGLCMD_NEEDWNDOBJ       0x01
556*61046927SAndroid Build Coastguard Worker #define OGLCMD_NEEDXLATEOBJ     0x02
557*61046927SAndroid Build Coastguard Worker 
558*61046927SAndroid Build Coastguard Worker #if WINVER >= 0x500
559*61046927SAndroid Build Coastguard Worker #define OGLCMD_MULTIWNDOBJ      0x04
560*61046927SAndroid Build Coastguard Worker #endif // WINVER >= 0x500
561*61046927SAndroid Build Coastguard Worker 
562*61046927SAndroid Build Coastguard Worker // OPENGL_GETINFO ExtEscape sub-escape numbers.  They are defined by Microsoft.
563*61046927SAndroid Build Coastguard Worker 
564*61046927SAndroid Build Coastguard Worker #define OPENGL_GETINFO_DRVNAME  0
565*61046927SAndroid Build Coastguard Worker 
566*61046927SAndroid Build Coastguard Worker // Input structure for OPENGL_GETINFO ExtEscape.
567*61046927SAndroid Build Coastguard Worker 
568*61046927SAndroid Build Coastguard Worker typedef struct _OPENGLGETINFO
569*61046927SAndroid Build Coastguard Worker {
570*61046927SAndroid Build Coastguard Worker     ULONG   ulSubEsc;
571*61046927SAndroid Build Coastguard Worker } OPENGLGETINFO, *POPENGLGETINFO;
572*61046927SAndroid Build Coastguard Worker 
573*61046927SAndroid Build Coastguard Worker // Input structure for OPENGL_GETINFO_DRVNAME ExtEscape.
574*61046927SAndroid Build Coastguard Worker 
575*61046927SAndroid Build Coastguard Worker typedef struct _GLDRVNAME
576*61046927SAndroid Build Coastguard Worker {
577*61046927SAndroid Build Coastguard Worker     OPENGLGETINFO   oglget;
578*61046927SAndroid Build Coastguard Worker } GLDRVNAME, *PGLDRVNAME;
579*61046927SAndroid Build Coastguard Worker 
580*61046927SAndroid Build Coastguard Worker // Output structure for OPENGL_GETINFO_DRVNAME ExtEscape.
581*61046927SAndroid Build Coastguard Worker 
582*61046927SAndroid Build Coastguard Worker typedef struct _GLDRVNAMERET
583*61046927SAndroid Build Coastguard Worker {
584*61046927SAndroid Build Coastguard Worker     ULONG   ulVersion;              // must be 1 for this version
585*61046927SAndroid Build Coastguard Worker     ULONG   ulDriverVersion;        // driver specific version number
586*61046927SAndroid Build Coastguard Worker     WCHAR   awch[MAX_PATH+1];
587*61046927SAndroid Build Coastguard Worker } GLDRVNAMERET, *PGLDRVNAMERET;
588*61046927SAndroid Build Coastguard Worker 
589*61046927SAndroid Build Coastguard Worker #endif /* _GLDRV_ */
590