1 /**************************************************************************
3 * Copyright 2008-2009 Vmware, Inc.
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the
8 * "Software"), to deal in the Software without restriction, including
9 * without limitation the rights to use, copy, modify, merge, publish,
10 * distribute, sub license, and/or sell copies of the Software, and to
11 * permit persons to whom the Software is furnished to do so, subject to
12 * the following conditions:
14 * The above copyright notice and this permission notice (including the
15 * next paragraph) shall be included in all copies or substantial portions
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
21 * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
22 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26 **************************************************************************/
39 #define OPENGL_VERSION_110_ENTRIES 336
41 struct __GLdispatchTableRec
43 void (GLAPIENTRY
* NewList
)(GLuint
, GLenum
);
44 void (GLAPIENTRY
* EndList
)(void);
45 void (GLAPIENTRY
* CallList
)(GLuint
);
46 void (GLAPIENTRY
* CallLists
)(GLsizei
, GLenum
, const GLvoid
*);
47 void (GLAPIENTRY
* DeleteLists
)(GLuint
, GLsizei
);
48 GLuint (GLAPIENTRY
* GenLists
)(GLsizei
);
49 void (GLAPIENTRY
* ListBase
)(GLuint
);
50 void (GLAPIENTRY
* Begin
)(GLenum
);
51 void (GLAPIENTRY
* Bitmap
)(GLsizei
, GLsizei
, GLfloat
, GLfloat
, GLfloat
, GLfloat
, const GLubyte
*);
52 void (GLAPIENTRY
* Color3b
)(GLbyte
, GLbyte
, GLbyte
);
53 void (GLAPIENTRY
* Color3bv
)(const GLbyte
*);
54 void (GLAPIENTRY
* Color3d
)(GLdouble
, GLdouble
, GLdouble
);
55 void (GLAPIENTRY
* Color3dv
)(const GLdouble
*);
56 void (GLAPIENTRY
* Color3f
)(GLfloat
, GLfloat
, GLfloat
);
57 void (GLAPIENTRY
* Color3fv
)(const GLfloat
*);
58 void (GLAPIENTRY
* Color3i
)(GLint
, GLint
, GLint
);
59 void (GLAPIENTRY
* Color3iv
)(const GLint
*);
60 void (GLAPIENTRY
* Color3s
)(GLshort
, GLshort
, GLshort
);
61 void (GLAPIENTRY
* Color3sv
)(const GLshort
*);
62 void (GLAPIENTRY
* Color3ub
)(GLubyte
, GLubyte
, GLubyte
);
63 void (GLAPIENTRY
* Color3ubv
)(const GLubyte
*);
64 void (GLAPIENTRY
* Color3ui
)(GLuint
, GLuint
, GLuint
);
65 void (GLAPIENTRY
* Color3uiv
)(const GLuint
*);
66 void (GLAPIENTRY
* Color3us
)(GLushort
, GLushort
, GLushort
);
67 void (GLAPIENTRY
* Color3usv
)(const GLushort
*);
68 void (GLAPIENTRY
* Color4b
)(GLbyte
, GLbyte
, GLbyte
, GLbyte
);
69 void (GLAPIENTRY
* Color4bv
)(const GLbyte
*);
70 void (GLAPIENTRY
* Color4d
)(GLdouble
, GLdouble
, GLdouble
, GLdouble
);
71 void (GLAPIENTRY
* Color4dv
)(const GLdouble
*);
72 void (GLAPIENTRY
* Color4f
)(GLfloat
, GLfloat
, GLfloat
, GLfloat
);
73 void (GLAPIENTRY
* Color4fv
)(const GLfloat
*);
74 void (GLAPIENTRY
* Color4i
)(GLint
, GLint
, GLint
, GLint
);
75 void (GLAPIENTRY
* Color4iv
)(const GLint
*);
76 void (GLAPIENTRY
* Color4s
)(GLshort
, GLshort
, GLshort
, GLshort
);
77 void (GLAPIENTRY
* Color4sv
)(const GLshort
*);
78 void (GLAPIENTRY
* Color4ub
)(GLubyte
, GLubyte
, GLubyte
, GLubyte
);
79 void (GLAPIENTRY
* Color4ubv
)(const GLubyte
*);
80 void (GLAPIENTRY
* Color4ui
)(GLuint
, GLuint
, GLuint
, GLuint
);
81 void (GLAPIENTRY
* Color4uiv
)(const GLuint
*);
82 void (GLAPIENTRY
* Color4us
)(GLushort
, GLushort
, GLushort
, GLushort
);
83 void (GLAPIENTRY
* Color4usv
)(const GLushort
*);
84 void (GLAPIENTRY
* EdgeFlag
)(GLboolean
);
85 void (GLAPIENTRY
* EdgeFlagv
)(const GLboolean
*);
86 void (GLAPIENTRY
* End
)(void);
87 void (GLAPIENTRY
* Indexd
)(GLdouble
);
88 void (GLAPIENTRY
* Indexdv
)(const GLdouble
*);
89 void (GLAPIENTRY
* Indexf
)(GLfloat
);
90 void (GLAPIENTRY
* Indexfv
)(const GLfloat
*);
91 void (GLAPIENTRY
* Indexi
)(GLint
);
92 void (GLAPIENTRY
* Indexiv
)(const GLint
*);
93 void (GLAPIENTRY
* Indexs
)(GLshort
);
94 void (GLAPIENTRY
* Indexsv
)(const GLshort
*);
95 void (GLAPIENTRY
* Normal3b
)(GLbyte
, GLbyte
, GLbyte
);
96 void (GLAPIENTRY
* Normal3bv
)(const GLbyte
*);
97 void (GLAPIENTRY
* Normal3d
)(GLdouble
, GLdouble
, GLdouble
);
98 void (GLAPIENTRY
* Normal3dv
)(const GLdouble
*);
99 void (GLAPIENTRY
* Normal3f
)(GLfloat
, GLfloat
, GLfloat
);
100 void (GLAPIENTRY
* Normal3fv
)(const GLfloat
*);
101 void (GLAPIENTRY
* Normal3i
)(GLint
, GLint
, GLint
);
102 void (GLAPIENTRY
* Normal3iv
)(const GLint
*);
103 void (GLAPIENTRY
* Normal3s
)(GLshort
, GLshort
, GLshort
);
104 void (GLAPIENTRY
* Normal3sv
)(const GLshort
*);
105 void (GLAPIENTRY
* RasterPos2d
)(GLdouble
, GLdouble
);
106 void (GLAPIENTRY
* RasterPos2dv
)(const GLdouble
*);
107 void (GLAPIENTRY
* RasterPos2f
)(GLfloat
, GLfloat
);
108 void (GLAPIENTRY
* RasterPos2fv
)(const GLfloat
*);
109 void (GLAPIENTRY
* RasterPos2i
)(GLint
, GLint
);
110 void (GLAPIENTRY
* RasterPos2iv
)(const GLint
*);
111 void (GLAPIENTRY
* RasterPos2s
)(GLshort
, GLshort
);
112 void (GLAPIENTRY
* RasterPos2sv
)(const GLshort
*);
113 void (GLAPIENTRY
* RasterPos3d
)(GLdouble
, GLdouble
, GLdouble
);
114 void (GLAPIENTRY
* RasterPos3dv
)(const GLdouble
*);
115 void (GLAPIENTRY
* RasterPos3f
)(GLfloat
, GLfloat
, GLfloat
);
116 void (GLAPIENTRY
* RasterPos3fv
)(const GLfloat
*);
117 void (GLAPIENTRY
* RasterPos3i
)(GLint
, GLint
, GLint
);
118 void (GLAPIENTRY
* RasterPos3iv
)(const GLint
*);
119 void (GLAPIENTRY
* RasterPos3s
)(GLshort
, GLshort
, GLshort
);
120 void (GLAPIENTRY
* RasterPos3sv
)(const GLshort
*);
121 void (GLAPIENTRY
* RasterPos4d
)(GLdouble
, GLdouble
, GLdouble
, GLdouble
);
122 void (GLAPIENTRY
* RasterPos4dv
)(const GLdouble
*);
123 void (GLAPIENTRY
* RasterPos4f
)(GLfloat
, GLfloat
, GLfloat
, GLfloat
);
124 void (GLAPIENTRY
* RasterPos4fv
)(const GLfloat
*);
125 void (GLAPIENTRY
* RasterPos4i
)(GLint
, GLint
, GLint
, GLint
);
126 void (GLAPIENTRY
* RasterPos4iv
)(const GLint
*);
127 void (GLAPIENTRY
* RasterPos4s
)(GLshort
, GLshort
, GLshort
, GLshort
);
128 void (GLAPIENTRY
* RasterPos4sv
)(const GLshort
*);
129 void (GLAPIENTRY
* Rectd
)(GLdouble
, GLdouble
, GLdouble
, GLdouble
);
130 void (GLAPIENTRY
* Rectdv
)(const GLdouble
*, const GLdouble
*);
131 void (GLAPIENTRY
* Rectf
)(GLfloat
, GLfloat
, GLfloat
, GLfloat
);
132 void (GLAPIENTRY
* Rectfv
)(const GLfloat
*, const GLfloat
*);
133 void (GLAPIENTRY
* Recti
)(GLint
, GLint
, GLint
, GLint
);
134 void (GLAPIENTRY
* Rectiv
)(const GLint
*, const GLint
*);
135 void (GLAPIENTRY
* Rects
)(GLshort
, GLshort
, GLshort
, GLshort
);
136 void (GLAPIENTRY
* Rectsv
)(const GLshort
*, const GLshort
*);
137 void (GLAPIENTRY
* TexCoord1d
)(GLdouble
);
138 void (GLAPIENTRY
* TexCoord1dv
)(const GLdouble
*);
139 void (GLAPIENTRY
* TexCoord1f
)(GLfloat
);
140 void (GLAPIENTRY
* TexCoord1fv
)(const GLfloat
*);
141 void (GLAPIENTRY
* TexCoord1i
)(GLint
);
142 void (GLAPIENTRY
* TexCoord1iv
)(const GLint
*);
143 void (GLAPIENTRY
* TexCoord1s
)(GLshort
);
144 void (GLAPIENTRY
* TexCoord1sv
)(const GLshort
*);
145 void (GLAPIENTRY
* TexCoord2d
)(GLdouble
, GLdouble
);
146 void (GLAPIENTRY
* TexCoord2dv
)(const GLdouble
*);
147 void (GLAPIENTRY
* TexCoord2f
)(GLfloat
, GLfloat
);
148 void (GLAPIENTRY
* TexCoord2fv
)(const GLfloat
*);
149 void (GLAPIENTRY
* TexCoord2i
)(GLint
, GLint
);
150 void (GLAPIENTRY
* TexCoord2iv
)(const GLint
*);
151 void (GLAPIENTRY
* TexCoord2s
)(GLshort
, GLshort
);
152 void (GLAPIENTRY
* TexCoord2sv
)(const GLshort
*);
153 void (GLAPIENTRY
* TexCoord3d
)(GLdouble
, GLdouble
, GLdouble
);
154 void (GLAPIENTRY
* TexCoord3dv
)(const GLdouble
*);
155 void (GLAPIENTRY
* TexCoord3f
)(GLfloat
, GLfloat
, GLfloat
);
156 void (GLAPIENTRY
* TexCoord3fv
)(const GLfloat
*);
157 void (GLAPIENTRY
* TexCoord3i
)(GLint
, GLint
, GLint
);
158 void (GLAPIENTRY
* TexCoord3iv
)(const GLint
*);
159 void (GLAPIENTRY
* TexCoord3s
)(GLshort
, GLshort
, GLshort
);
160 void (GLAPIENTRY
* TexCoord3sv
)(const GLshort
*);
161 void (GLAPIENTRY
* TexCoord4d
)(GLdouble
, GLdouble
, GLdouble
, GLdouble
);
162 void (GLAPIENTRY
* TexCoord4dv
)(const GLdouble
*);
163 void (GLAPIENTRY
* TexCoord4f
)(GLfloat
, GLfloat
, GLfloat
, GLfloat
);
164 void (GLAPIENTRY
* TexCoord4fv
)(const GLfloat
*);
165 void (GLAPIENTRY
* TexCoord4i
)(GLint
, GLint
, GLint
, GLint
);
166 void (GLAPIENTRY
* TexCoord4iv
)(const GLint
*);
167 void (GLAPIENTRY
* TexCoord4s
)(GLshort
, GLshort
, GLshort
, GLshort
);
168 void (GLAPIENTRY
* TexCoord4sv
)(const GLshort
*);
169 void (GLAPIENTRY
* Vertex2d
)(GLdouble
, GLdouble
);
170 void (GLAPIENTRY
* Vertex2dv
)(const GLdouble
*);
171 void (GLAPIENTRY
* Vertex2f
)(GLfloat
, GLfloat
);
172 void (GLAPIENTRY
* Vertex2fv
)(const GLfloat
*);
173 void (GLAPIENTRY
* Vertex2i
)(GLint
, GLint
);
174 void (GLAPIENTRY
* Vertex2iv
)(const GLint
*);
175 void (GLAPIENTRY
* Vertex2s
)(GLshort
, GLshort
);
176 void (GLAPIENTRY
* Vertex2sv
)(const GLshort
*);
177 void (GLAPIENTRY
* Vertex3d
)(GLdouble
, GLdouble
, GLdouble
);
178 void (GLAPIENTRY
* Vertex3dv
)(const GLdouble
*);
179 void (GLAPIENTRY
* Vertex3f
)(GLfloat
, GLfloat
, GLfloat
);
180 void (GLAPIENTRY
* Vertex3fv
)(const GLfloat
*);
181 void (GLAPIENTRY
* Vertex3i
)(GLint
, GLint
, GLint
);
182 void (GLAPIENTRY
* Vertex3iv
)(const GLint
*);
183 void (GLAPIENTRY
* Vertex3s
)(GLshort
, GLshort
, GLshort
);
184 void (GLAPIENTRY
* Vertex3sv
)(const GLshort
*);
185 void (GLAPIENTRY
* Vertex4d
)(GLdouble
, GLdouble
, GLdouble
, GLdouble
);
186 void (GLAPIENTRY
* Vertex4dv
)(const GLdouble
*);
187 void (GLAPIENTRY
* Vertex4f
)(GLfloat
, GLfloat
, GLfloat
, GLfloat
);
188 void (GLAPIENTRY
* Vertex4fv
)(const GLfloat
*);
189 void (GLAPIENTRY
* Vertex4i
)(GLint
, GLint
, GLint
, GLint
);
190 void (GLAPIENTRY
* Vertex4iv
)(const GLint
*);
191 void (GLAPIENTRY
* Vertex4s
)(GLshort
, GLshort
, GLshort
, GLshort
);
192 void (GLAPIENTRY
* Vertex4sv
)(const GLshort
*);
193 void (GLAPIENTRY
* ClipPlane
)(GLenum
, const GLdouble
*);
194 void (GLAPIENTRY
* ColorMaterial
)(GLenum
, GLenum
);
195 void (GLAPIENTRY
* CullFace
)(GLenum
);
196 void (GLAPIENTRY
* Fogf
)(GLenum
, GLfloat
);
197 void (GLAPIENTRY
* Fogfv
)(GLenum
, const GLfloat
*);
198 void (GLAPIENTRY
* Fogi
)(GLenum
, GLint
);
199 void (GLAPIENTRY
* Fogiv
)(GLenum
, const GLint
*);
200 void (GLAPIENTRY
* FrontFace
)(GLenum
);
201 void (GLAPIENTRY
* Hint
)(GLenum
, GLenum
);
202 void (GLAPIENTRY
* Lightf
)(GLenum
, GLenum
, GLfloat
);
203 void (GLAPIENTRY
* Lightfv
)(GLenum
, GLenum
, const GLfloat
*);
204 void (GLAPIENTRY
* Lighti
)(GLenum
, GLenum
, GLint
);
205 void (GLAPIENTRY
* Lightiv
)(GLenum
, GLenum
, const GLint
*);
206 void (GLAPIENTRY
* LightModelf
)(GLenum
, GLfloat
);
207 void (GLAPIENTRY
* LightModelfv
)(GLenum
, const GLfloat
*);
208 void (GLAPIENTRY
* LightModeli
)(GLenum
, GLint
);
209 void (GLAPIENTRY
* LightModeliv
)(GLenum
, const GLint
*);
210 void (GLAPIENTRY
* LineStipple
)(GLint
, GLushort
);
211 void (GLAPIENTRY
* LineWidth
)(GLfloat
);
212 void (GLAPIENTRY
* Materialf
)(GLenum
, GLenum
, GLfloat
);
213 void (GLAPIENTRY
* Materialfv
)(GLenum
, GLenum
, const GLfloat
*);
214 void (GLAPIENTRY
* Materiali
)(GLenum
, GLenum
, GLint
);
215 void (GLAPIENTRY
* Materialiv
)(GLenum
, GLenum
, const GLint
*);
216 void (GLAPIENTRY
* PointSize
)(GLfloat
);
217 void (GLAPIENTRY
* PolygonMode
)(GLenum
, GLenum
);
218 void (GLAPIENTRY
* PolygonStipple
)(const GLubyte
*);
219 void (GLAPIENTRY
* Scissor
)(GLint
, GLint
, GLsizei
, GLsizei
);
220 void (GLAPIENTRY
* ShadeModel
)(GLenum
);
221 void (GLAPIENTRY
* TexParameterf
)(GLenum
, GLenum
, GLfloat
);
222 void (GLAPIENTRY
* TexParameterfv
)(GLenum
, GLenum
, const GLfloat
*);
223 void (GLAPIENTRY
* TexParameteri
)(GLenum
, GLenum
, GLint
);
224 void (GLAPIENTRY
* TexParameteriv
)(GLenum
, GLenum
, const GLint
*);
225 void (GLAPIENTRY
* TexImage1D
)(GLenum
, GLint
, GLint
, GLsizei
, GLint
, GLenum
, GLenum
, const GLvoid
*);
226 void (GLAPIENTRY
* TexImage2D
)(GLenum
, GLint
, GLint
, GLsizei
, GLsizei
, GLint
, GLenum
, GLenum
, const GLvoid
*);
227 void (GLAPIENTRY
* TexEnvf
)(GLenum
, GLenum
, GLfloat
);
228 void (GLAPIENTRY
* TexEnvfv
)(GLenum
, GLenum
, const GLfloat
*);
229 void (GLAPIENTRY
* TexEnvi
)(GLenum
, GLenum
, GLint
);
230 void (GLAPIENTRY
* TexEnviv
)(GLenum
, GLenum
, const GLint
*);
231 void (GLAPIENTRY
* TexGend
)(GLenum
, GLenum
, GLdouble
);
232 void (GLAPIENTRY
* TexGendv
)(GLenum
, GLenum
, const GLdouble
*);
233 void (GLAPIENTRY
* TexGenf
)(GLenum
, GLenum
, GLfloat
);
234 void (GLAPIENTRY
* TexGenfv
)(GLenum
, GLenum
, const GLfloat
*);
235 void (GLAPIENTRY
* TexGeni
)(GLenum
, GLenum
, GLint
);
236 void (GLAPIENTRY
* TexGeniv
)(GLenum
, GLenum
, const GLint
*);
237 void (GLAPIENTRY
* FeedbackBuffer
)(GLsizei
, GLenum
, GLfloat
*);
238 void (GLAPIENTRY
* SelectBuffer
)(GLsizei
, GLuint
*);
239 GLint (GLAPIENTRY
* RenderMode
)(GLenum
);
240 void (GLAPIENTRY
* InitNames
)(void);
241 void (GLAPIENTRY
* LoadName
)(GLuint
);
242 void (GLAPIENTRY
* PassThrough
)(GLfloat
);
243 void (GLAPIENTRY
* PopName
)(void);
244 void (GLAPIENTRY
* PushName
)(GLuint
);
245 void (GLAPIENTRY
* DrawBuffer
)(GLenum
);
246 void (GLAPIENTRY
* Clear
)(GLbitfield
);
247 void (GLAPIENTRY
* ClearAccum
)(GLfloat
, GLfloat
, GLfloat
, GLfloat
);
248 void (GLAPIENTRY
* ClearIndex
)(GLfloat
);
249 void (GLAPIENTRY
* ClearColor
)(GLclampf
, GLclampf
, GLclampf
, GLclampf
);
250 void (GLAPIENTRY
* ClearStencil
)(GLint
);
251 void (GLAPIENTRY
* ClearDepth
)(GLclampd
);
252 void (GLAPIENTRY
* StencilMask
)(GLuint
);
253 void (GLAPIENTRY
* ColorMask
)(GLboolean
, GLboolean
, GLboolean
, GLboolean
);
254 void (GLAPIENTRY
* DepthMask
)(GLboolean
);
255 void (GLAPIENTRY
* IndexMask
)(GLuint
);
256 void (GLAPIENTRY
* Accum
)(GLenum
, GLfloat
);
257 void (GLAPIENTRY
* Disable
)(GLenum
);
258 void (GLAPIENTRY
* Enable
)(GLenum
);
259 void (GLAPIENTRY
* Finish
)(void);
260 void (GLAPIENTRY
* Flush
)(void);
261 void (GLAPIENTRY
* PopAttrib
)(void);
262 void (GLAPIENTRY
* PushAttrib
)(GLbitfield
);
263 void (GLAPIENTRY
* Map1d
)(GLenum
, GLdouble
, GLdouble
, GLint
, GLint
, const GLdouble
*);
264 void (GLAPIENTRY
* Map1f
)(GLenum
, GLfloat
, GLfloat
, GLint
, GLint
, const GLfloat
*);
265 void (GLAPIENTRY
* Map2d
)(GLenum
, GLdouble
, GLdouble
, GLint
, GLint
, GLdouble
, GLdouble
, GLint
, GLint
, const GLdouble
*);
266 void (GLAPIENTRY
* Map2f
)(GLenum
, GLfloat
, GLfloat
, GLint
, GLint
, GLfloat
, GLfloat
, GLint
, GLint
, const GLfloat
*);
267 void (GLAPIENTRY
* MapGrid1d
)(GLint
, GLdouble
, GLdouble
);
268 void (GLAPIENTRY
* MapGrid1f
)(GLint
, GLfloat
, GLfloat
);
269 void (GLAPIENTRY
* MapGrid2d
)(GLint
, GLdouble
, GLdouble
, GLint
, GLdouble
, GLdouble
);
270 void (GLAPIENTRY
* MapGrid2f
)(GLint
, GLfloat
, GLfloat
, GLint
, GLfloat
, GLfloat
);
271 void (GLAPIENTRY
* EvalCoord1d
)(GLdouble
);
272 void (GLAPIENTRY
* EvalCoord1dv
)(const GLdouble
*);
273 void (GLAPIENTRY
* EvalCoord1f
)(GLfloat
);
274 void (GLAPIENTRY
* EvalCoord1fv
)(const GLfloat
*);
275 void (GLAPIENTRY
* EvalCoord2d
)(GLdouble
, GLdouble
);
276 void (GLAPIENTRY
* EvalCoord2dv
)(const GLdouble
*);
277 void (GLAPIENTRY
* EvalCoord2f
)(GLfloat
, GLfloat
);
278 void (GLAPIENTRY
* EvalCoord2fv
)(const GLfloat
*);
279 void (GLAPIENTRY
* EvalMesh1
)(GLenum
, GLint
, GLint
);
280 void (GLAPIENTRY
* EvalPoint1
)(GLint
);
281 void (GLAPIENTRY
* EvalMesh2
)(GLenum
, GLint
, GLint
, GLint
, GLint
);
282 void (GLAPIENTRY
* EvalPoint2
)(GLint
, GLint
);
283 void (GLAPIENTRY
* AlphaFunc
)(GLenum
, GLclampf
);
284 void (GLAPIENTRY
* BlendFunc
)(GLenum
, GLenum
);
285 void (GLAPIENTRY
* LogicOp
)(GLenum
);
286 void (GLAPIENTRY
* StencilFunc
)(GLenum
, GLint
, GLuint
);
287 void (GLAPIENTRY
* StencilOp
)(GLenum
, GLenum
, GLenum
);
288 void (GLAPIENTRY
* DepthFunc
)(GLenum
);
289 void (GLAPIENTRY
* PixelZoom
)(GLfloat
, GLfloat
);
290 void (GLAPIENTRY
* PixelTransferf
)(GLenum
, GLfloat
);
291 void (GLAPIENTRY
* PixelTransferi
)(GLenum
, GLint
);
292 void (GLAPIENTRY
* PixelStoref
)(GLenum
, GLfloat
);
293 void (GLAPIENTRY
* PixelStorei
)(GLenum
, GLint
);
294 void (GLAPIENTRY
* PixelMapfv
)(GLenum
, GLint
, const GLfloat
*);
295 void (GLAPIENTRY
* PixelMapuiv
)(GLenum
, GLint
, const GLuint
*);
296 void (GLAPIENTRY
* PixelMapusv
)(GLenum
, GLint
, const GLushort
*);
297 void (GLAPIENTRY
* ReadBuffer
)(GLenum
);
298 void (GLAPIENTRY
* CopyPixels
)(GLint
, GLint
, GLsizei
, GLsizei
, GLenum
);
299 void (GLAPIENTRY
* ReadPixels
)(GLint
, GLint
, GLsizei
, GLsizei
, GLenum
, GLenum
, GLvoid
*);
300 void (GLAPIENTRY
* DrawPixels
)(GLsizei
, GLsizei
, GLenum
, GLenum
, const GLvoid
*);
301 void (GLAPIENTRY
* GetBooleanv
)(GLenum
, GLboolean
*);
302 void (GLAPIENTRY
* GetClipPlane
)(GLenum
, GLdouble
*);
303 void (GLAPIENTRY
* GetDoublev
)(GLenum
, GLdouble
*);
304 GLenum (GLAPIENTRY
* GetError
)(void);
305 void (GLAPIENTRY
* GetFloatv
)(GLenum
, GLfloat
*);
306 void (GLAPIENTRY
* GetIntegerv
)(GLenum
, GLint
*);
307 void (GLAPIENTRY
* GetLightfv
)(GLenum
, GLenum
, GLfloat
*);
308 void (GLAPIENTRY
* GetLightiv
)(GLenum
, GLenum
, GLint
*);
309 void (GLAPIENTRY
* GetMapdv
)(GLenum
, GLenum
, GLdouble
*);
310 void (GLAPIENTRY
* GetMapfv
)(GLenum
, GLenum
, GLfloat
*);
311 void (GLAPIENTRY
* GetMapiv
)(GLenum
, GLenum
, GLint
*);
312 void (GLAPIENTRY
* GetMaterialfv
)(GLenum
, GLenum
, GLfloat
*);
313 void (GLAPIENTRY
* GetMaterialiv
)(GLenum
, GLenum
, GLint
*);
314 void (GLAPIENTRY
* GetPixelMapfv
)(GLenum
, GLfloat
*);
315 void (GLAPIENTRY
* GetPixelMapuiv
)(GLenum
, GLuint
*);
316 void (GLAPIENTRY
* GetPixelMapusv
)(GLenum
, GLushort
*);
317 void (GLAPIENTRY
* GetPolygonStipple
)(GLubyte
*);
318 const GLubyte
* (GLAPIENTRY
* GetString
)(GLenum
);
319 void (GLAPIENTRY
* GetTexEnvfv
)(GLenum
, GLenum
, GLfloat
*);
320 void (GLAPIENTRY
* GetTexEnviv
)(GLenum
, GLenum
, GLint
*);
321 void (GLAPIENTRY
* GetTexGendv
)(GLenum
, GLenum
, GLdouble
*);
322 void (GLAPIENTRY
* GetTexGenfv
)(GLenum
, GLenum
, GLfloat
*);
323 void (GLAPIENTRY
* GetTexGeniv
)(GLenum
, GLenum
, GLint
*);
324 void (GLAPIENTRY
* GetTexImage
)(GLenum
, GLint
, GLenum
, GLenum
, GLvoid
*);
325 void (GLAPIENTRY
* GetTexParameterfv
)(GLenum
, GLenum
, GLfloat
*);
326 void (GLAPIENTRY
* GetTexParameteriv
)(GLenum
, GLenum
, GLint
*);
327 void (GLAPIENTRY
* GetTexLevelParameterfv
)(GLenum
, GLint
, GLenum
, GLfloat
*);
328 void (GLAPIENTRY
* GetTexLevelParameteriv
)(GLenum
, GLint
, GLenum
, GLint
*);
329 GLboolean (GLAPIENTRY
* IsEnabled
)(GLenum
);
330 GLboolean (GLAPIENTRY
* IsList
)(GLuint
);
331 void (GLAPIENTRY
* DepthRange
)(GLclampd
, GLclampd
);
332 void (GLAPIENTRY
* Frustum
)(GLdouble
, GLdouble
, GLdouble
, GLdouble
, GLdouble
, GLdouble
);
333 void (GLAPIENTRY
* LoadIdentity
)(void);
334 void (GLAPIENTRY
* LoadMatrixf
)(const GLfloat
*);
335 void (GLAPIENTRY
* LoadMatrixd
)(const GLdouble
*);
336 void (GLAPIENTRY
* MatrixMode
)(GLenum
);
337 void (GLAPIENTRY
* MultMatrixf
)(const GLfloat
*);
338 void (GLAPIENTRY
* MultMatrixd
)(const GLdouble
*);
339 void (GLAPIENTRY
* Ortho
)(GLdouble
, GLdouble
, GLdouble
, GLdouble
, GLdouble
, GLdouble
);
340 void (GLAPIENTRY
* PopMatrix
)(void);
341 void (GLAPIENTRY
* PushMatrix
)(void);
342 void (GLAPIENTRY
* Rotated
)(GLdouble
, GLdouble
, GLdouble
, GLdouble
);
343 void (GLAPIENTRY
* Rotatef
)(GLfloat
, GLfloat
, GLfloat
, GLfloat
);
344 void (GLAPIENTRY
* Scaled
)(GLdouble
, GLdouble
, GLdouble
);
345 void (GLAPIENTRY
* Scalef
)(GLfloat
, GLfloat
, GLfloat
);
346 void (GLAPIENTRY
* Translated
)(GLdouble
, GLdouble
, GLdouble
);
347 void (GLAPIENTRY
* Translatef
)(GLfloat
, GLfloat
, GLfloat
);
348 void (GLAPIENTRY
* Viewport
)(GLint
, GLint
, GLsizei
, GLsizei
);
349 void (GLAPIENTRY
* ArrayElement
)(GLint
);
350 void (GLAPIENTRY
* BindTexture
)(GLenum
, GLuint
);
351 void (GLAPIENTRY
* ColorPointer
)(GLint
, GLenum
, GLsizei
, const GLvoid
*);
352 void (GLAPIENTRY
* DisableClientState
)(GLenum
);
353 void (GLAPIENTRY
* DrawArrays
)(GLenum
, GLint
, GLsizei
);
354 void (GLAPIENTRY
* DrawElements
)(GLenum
, GLsizei
, GLenum
, const GLvoid
*);
355 void (GLAPIENTRY
* EdgeFlagPointer
)(GLsizei
, const GLvoid
*);
356 void (GLAPIENTRY
* EnableClientState
)(GLenum
);
357 void (GLAPIENTRY
* IndexPointer
)(GLenum
, GLsizei
, const GLvoid
*);
358 void (GLAPIENTRY
* Indexub
)(GLubyte
);
359 void (GLAPIENTRY
* Indexubv
)(const GLubyte
*);
360 void (GLAPIENTRY
* InterleavedArrays
)(GLenum
, GLsizei
, const GLvoid
*);
361 void (GLAPIENTRY
* NormalPointer
)(GLenum
, GLsizei
, const GLvoid
*);
362 void (GLAPIENTRY
* PolygonOffset
)(GLfloat
, GLfloat
);
363 void (GLAPIENTRY
* TexCoordPointer
)(GLint
, GLenum
, GLsizei
, const GLvoid
*);
364 void (GLAPIENTRY
* VertexPointer
)(GLint
, GLenum
, GLsizei
, const GLvoid
*);
365 GLboolean (GLAPIENTRY
* AreTexturesResident
)(GLsizei
, const GLuint
*, GLboolean
*);
366 void (GLAPIENTRY
* CopyTexImage1D
)(GLenum
, GLint
, GLenum
, GLint
, GLint
, GLsizei
, GLint
);
367 void (GLAPIENTRY
* CopyTexImage2D
)(GLenum
, GLint
, GLenum
, GLint
, GLint
, GLsizei
, GLsizei
, GLint
);
368 void (GLAPIENTRY
* CopyTexSubImage1D
)(GLenum
, GLint
, GLint
, GLint
, GLint
, GLsizei
);
369 void (GLAPIENTRY
* CopyTexSubImage2D
)(GLenum
, GLint
, GLint
, GLint
, GLint
, GLint
, GLsizei
, GLsizei
);
370 void (GLAPIENTRY
* DeleteTextures
)(GLsizei
, const GLuint
*);
371 void (GLAPIENTRY
* GenTextures
)(GLsizei
, GLuint
*);
372 void (GLAPIENTRY
* GetPointerv
)(GLenum
, GLvoid
**);
373 GLboolean (GLAPIENTRY
* IsTexture
)(GLuint
);
374 void (GLAPIENTRY
* PrioritizeTextures
)(GLsizei
, const GLuint
*, const GLclampf
*);
375 void (GLAPIENTRY
* TexSubImage1D
)(GLenum
, GLint
, GLint
, GLsizei
, GLenum
, GLenum
, const GLvoid
*);
376 void (GLAPIENTRY
* TexSubImage2D
)(GLenum
, GLint
, GLint
, GLint
, GLsizei
, GLsizei
, GLenum
, GLenum
, const GLvoid
*);
377 void (GLAPIENTRY
* PopClientAttrib
)(void);
378 void (GLAPIENTRY
* PushClientAttrib
)(GLbitfield
);
381 typedef struct __GLdispatchTableRec GLDISPATCHTABLE
;
383 typedef struct _GLCLTPROCTABLE
386 GLDISPATCHTABLE glDispatchTable
;
387 } GLCLTPROCTABLE
, * PGLCLTPROCTABLE
;
389 typedef VOID (APIENTRY
* PFN_SETPROCTABLE
)(PGLCLTPROCTABLE
);
392 * Presentation data passed to opengl32!wglCbPresentBuffers.
394 * Pure software drivers don't need to worry about this -- if they stick to the
395 * GDI API then will integrate with the Desktop Window Manager (DWM) without
396 * problems. Hardware drivers, however, cannot present directly to the primary
397 * surface while the DWM is active, as DWM gets exclusive access to the primary
400 * Proper DWM integration requires:
401 * - advertise the PFD_SUPPORT_COMPOSITION flag
402 * - redirect glFlush/glfinish/wglSwapBuffers into a surface shared with the
405 * @sa http://www.opengl.org/pipeline/article/vol003_7/
406 * @sa http://blogs.msdn.com/greg_schechter/archive/2006/05/02/588934.aspx
408 typedef struct _GLCBPRESENTBUFFERSDATA
411 * wglCbPresentBuffers enforces this to be 2.
416 * wglCbPresentBuffers enforces to be 0 or 1, but it is most commonly
422 * Locally unique identifier (LUID) of the graphics adapter.
424 * This should contain the value returned by D3DKMTOpenAdapterFromHdc. It
425 * is passed to dwmapi!DwmpDxGetWindowSharedSurface in order to obtain
426 * the shared surface handle for the bound drawable (window).
428 * @sa http://msdn.microsoft.com/en-us/library/ms799177.aspx
433 * This is passed unmodified to DrvPresentBuffers
438 * Client area rectangle to update, relative to the window upper-left corner.
441 } GLCBPRESENTBUFFERSDATA
, *PGLCBPRESENTBUFFERSDATA
;
444 * Callbacks supplied to DrvSetCallbackProcs by the OpenGL runtime.
446 * Pointers to several callback functions in opengl32.dll.
448 typedef struct _GLCALLBACKTABLE
451 PROC wglCbSetCurrentValue
;
454 PROC wglCbGetCurrentValue
;
460 PROC wglCbGetDdHandle
;
463 * Queue a present composition.
465 * Makes the runtime call DrvPresentBuffers with the composition information.
467 BOOL (APIENTRY
*wglCbPresentBuffers
)(HDC hdc
, PGLCBPRESENTBUFFERSDATA data
);
471 typedef struct _GLPRESENTBUFFERSDATA
474 * The shared surface handle.
476 * Return by dwmapi!DwmpDxGetWindowSharedSurface.
478 * @sa http://channel9.msdn.com/forums/TechOff/251261-Help-Getting-the-shared-window-texture-out-of-DWM-/
480 HANDLE hSharedSurface
;
485 * Present history token.
487 * This is returned by dwmapi!DwmpDxGetWindowSharedSurface and
488 * should be passed to D3DKMTRender in D3DKMT_RENDER::PresentHistoryToken.
490 * @sa http://msdn.microsoft.com/en-us/library/ms799176.aspx
492 ULONGLONG PresentHistoryToken
;
494 /** Same as GLCBPRESENTBUFFERSDATA::pPrivateData */
496 } GLPRESENTBUFFERSDATA
, *PGLPRESENTBUFFERSDATA
;
505 DrvCreateLayerContext(
518 DrvDescribeLayerPlane(
523 LPLAYERPLANEDESCRIPTOR plpd
);
526 DrvDescribePixelFormat(
530 PIXELFORMATDESCRIPTOR
*ppfd
);
533 DrvGetLayerPaletteEntries(
545 DrvPresentBuffers(HDC hdc
, PGLPRESENTBUFFERSDATA data
);
548 DrvRealizeLayerPalette(
562 PGLCLTPROCTABLE APIENTRY
566 PFN_SETPROCTABLE pfnSetProcTable
);
569 DrvSetLayerPaletteEntries(
574 CONST COLORREF
*pcr
);
599 #endif /* STW_ICD_H */