1 /* 2 * COPYRIGHT: See COPYING in the top level directory 3 * PROJECT: ReactOS kernel 4 * FILE: lib/opengl32/icd.h 5 * PURPOSE: OpenGL32 lib, ICD specific definitions 6 */ 7 8 #pragma once 9 10 #define OPENGL_VERSION_110_ENTRIES 336 11 12 struct __GLdispatchTableRec 13 { 14 void (GLAPIENTRY * NewList)(GLuint, GLenum); 15 void (GLAPIENTRY * EndList)(void); 16 void (GLAPIENTRY * CallList)(GLuint); 17 void (GLAPIENTRY * CallLists)(GLsizei, GLenum, const GLvoid *); 18 void (GLAPIENTRY * DeleteLists)(GLuint, GLsizei); 19 GLuint (GLAPIENTRY * GenLists)(GLsizei); 20 void (GLAPIENTRY * ListBase)(GLuint); 21 void (GLAPIENTRY * Begin)(GLenum); 22 void (GLAPIENTRY * Bitmap)(GLsizei, GLsizei, GLfloat, GLfloat, GLfloat, GLfloat, const GLubyte *); 23 void (GLAPIENTRY * Color3b)(GLbyte, GLbyte, GLbyte); 24 void (GLAPIENTRY * Color3bv)(const GLbyte *); 25 void (GLAPIENTRY * Color3d)(GLdouble, GLdouble, GLdouble); 26 void (GLAPIENTRY * Color3dv)(const GLdouble *); 27 void (GLAPIENTRY * Color3f)(GLfloat, GLfloat, GLfloat); 28 void (GLAPIENTRY * Color3fv)(const GLfloat *); 29 void (GLAPIENTRY * Color3i)(GLint, GLint, GLint); 30 void (GLAPIENTRY * Color3iv)(const GLint *); 31 void (GLAPIENTRY * Color3s)(GLshort, GLshort, GLshort); 32 void (GLAPIENTRY * Color3sv)(const GLshort *); 33 void (GLAPIENTRY * Color3ub)(GLubyte, GLubyte, GLubyte); 34 void (GLAPIENTRY * Color3ubv)(const GLubyte *); 35 void (GLAPIENTRY * Color3ui)(GLuint, GLuint, GLuint); 36 void (GLAPIENTRY * Color3uiv)(const GLuint *); 37 void (GLAPIENTRY * Color3us)(GLushort, GLushort, GLushort); 38 void (GLAPIENTRY * Color3usv)(const GLushort *); 39 void (GLAPIENTRY * Color4b)(GLbyte, GLbyte, GLbyte, GLbyte); 40 void (GLAPIENTRY * Color4bv)(const GLbyte *); 41 void (GLAPIENTRY * Color4d)(GLdouble, GLdouble, GLdouble, GLdouble); 42 void (GLAPIENTRY * Color4dv)(const GLdouble *); 43 void (GLAPIENTRY * Color4f)(GLfloat, GLfloat, GLfloat, GLfloat); 44 void (GLAPIENTRY * Color4fv)(const GLfloat *); 45 void (GLAPIENTRY * Color4i)(GLint, GLint, GLint, GLint); 46 void (GLAPIENTRY * Color4iv)(const GLint *); 47 void (GLAPIENTRY * Color4s)(GLshort, GLshort, GLshort, GLshort); 48 void (GLAPIENTRY * Color4sv)(const GLshort *); 49 void (GLAPIENTRY * Color4ub)(GLubyte, GLubyte, GLubyte, GLubyte); 50 void (GLAPIENTRY * Color4ubv)(const GLubyte *); 51 void (GLAPIENTRY * Color4ui)(GLuint, GLuint, GLuint, GLuint); 52 void (GLAPIENTRY * Color4uiv)(const GLuint *); 53 void (GLAPIENTRY * Color4us)(GLushort, GLushort, GLushort, GLushort); 54 void (GLAPIENTRY * Color4usv)(const GLushort *); 55 void (GLAPIENTRY * EdgeFlag)(GLboolean); 56 void (GLAPIENTRY * EdgeFlagv)(const GLboolean *); 57 void (GLAPIENTRY * End)(void); 58 void (GLAPIENTRY * Indexd)(GLdouble); 59 void (GLAPIENTRY * Indexdv)(const GLdouble *); 60 void (GLAPIENTRY * Indexf)(GLfloat); 61 void (GLAPIENTRY * Indexfv)(const GLfloat *); 62 void (GLAPIENTRY * Indexi)(GLint); 63 void (GLAPIENTRY * Indexiv)(const GLint *); 64 void (GLAPIENTRY * Indexs)(GLshort); 65 void (GLAPIENTRY * Indexsv)(const GLshort *); 66 void (GLAPIENTRY * Normal3b)(GLbyte, GLbyte, GLbyte); 67 void (GLAPIENTRY * Normal3bv)(const GLbyte *); 68 void (GLAPIENTRY * Normal3d)(GLdouble, GLdouble, GLdouble); 69 void (GLAPIENTRY * Normal3dv)(const GLdouble *); 70 void (GLAPIENTRY * Normal3f)(GLfloat, GLfloat, GLfloat); 71 void (GLAPIENTRY * Normal3fv)(const GLfloat *); 72 void (GLAPIENTRY * Normal3i)(GLint, GLint, GLint); 73 void (GLAPIENTRY * Normal3iv)(const GLint *); 74 void (GLAPIENTRY * Normal3s)(GLshort, GLshort, GLshort); 75 void (GLAPIENTRY * Normal3sv)(const GLshort *); 76 void (GLAPIENTRY * RasterPos2d)(GLdouble, GLdouble); 77 void (GLAPIENTRY * RasterPos2dv)(const GLdouble *); 78 void (GLAPIENTRY * RasterPos2f)(GLfloat, GLfloat); 79 void (GLAPIENTRY * RasterPos2fv)(const GLfloat *); 80 void (GLAPIENTRY * RasterPos2i)(GLint, GLint); 81 void (GLAPIENTRY * RasterPos2iv)(const GLint *); 82 void (GLAPIENTRY * RasterPos2s)(GLshort, GLshort); 83 void (GLAPIENTRY * RasterPos2sv)(const GLshort *); 84 void (GLAPIENTRY * RasterPos3d)(GLdouble, GLdouble, GLdouble); 85 void (GLAPIENTRY * RasterPos3dv)(const GLdouble *); 86 void (GLAPIENTRY * RasterPos3f)(GLfloat, GLfloat, GLfloat); 87 void (GLAPIENTRY * RasterPos3fv)(const GLfloat *); 88 void (GLAPIENTRY * RasterPos3i)(GLint, GLint, GLint); 89 void (GLAPIENTRY * RasterPos3iv)(const GLint *); 90 void (GLAPIENTRY * RasterPos3s)(GLshort, GLshort, GLshort); 91 void (GLAPIENTRY * RasterPos3sv)(const GLshort *); 92 void (GLAPIENTRY * RasterPos4d)(GLdouble, GLdouble, GLdouble, GLdouble); 93 void (GLAPIENTRY * RasterPos4dv)(const GLdouble *); 94 void (GLAPIENTRY * RasterPos4f)(GLfloat, GLfloat, GLfloat, GLfloat); 95 void (GLAPIENTRY * RasterPos4fv)(const GLfloat *); 96 void (GLAPIENTRY * RasterPos4i)(GLint, GLint, GLint, GLint); 97 void (GLAPIENTRY * RasterPos4iv)(const GLint *); 98 void (GLAPIENTRY * RasterPos4s)(GLshort, GLshort, GLshort, GLshort); 99 void (GLAPIENTRY * RasterPos4sv)(const GLshort *); 100 void (GLAPIENTRY * Rectd)(GLdouble, GLdouble, GLdouble, GLdouble); 101 void (GLAPIENTRY * Rectdv)(const GLdouble *, const GLdouble *); 102 void (GLAPIENTRY * Rectf)(GLfloat, GLfloat, GLfloat, GLfloat); 103 void (GLAPIENTRY * Rectfv)(const GLfloat *, const GLfloat *); 104 void (GLAPIENTRY * Recti)(GLint, GLint, GLint, GLint); 105 void (GLAPIENTRY * Rectiv)(const GLint *, const GLint *); 106 void (GLAPIENTRY * Rects)(GLshort, GLshort, GLshort, GLshort); 107 void (GLAPIENTRY * Rectsv)(const GLshort *, const GLshort *); 108 void (GLAPIENTRY * TexCoord1d)(GLdouble); 109 void (GLAPIENTRY * TexCoord1dv)(const GLdouble *); 110 void (GLAPIENTRY * TexCoord1f)(GLfloat); 111 void (GLAPIENTRY * TexCoord1fv)(const GLfloat *); 112 void (GLAPIENTRY * TexCoord1i)(GLint); 113 void (GLAPIENTRY * TexCoord1iv)(const GLint *); 114 void (GLAPIENTRY * TexCoord1s)(GLshort); 115 void (GLAPIENTRY * TexCoord1sv)(const GLshort *); 116 void (GLAPIENTRY * TexCoord2d)(GLdouble, GLdouble); 117 void (GLAPIENTRY * TexCoord2dv)(const GLdouble *); 118 void (GLAPIENTRY * TexCoord2f)(GLfloat, GLfloat); 119 void (GLAPIENTRY * TexCoord2fv)(const GLfloat *); 120 void (GLAPIENTRY * TexCoord2i)(GLint, GLint); 121 void (GLAPIENTRY * TexCoord2iv)(const GLint *); 122 void (GLAPIENTRY * TexCoord2s)(GLshort, GLshort); 123 void (GLAPIENTRY * TexCoord2sv)(const GLshort *); 124 void (GLAPIENTRY * TexCoord3d)(GLdouble, GLdouble, GLdouble); 125 void (GLAPIENTRY * TexCoord3dv)(const GLdouble *); 126 void (GLAPIENTRY * TexCoord3f)(GLfloat, GLfloat, GLfloat); 127 void (GLAPIENTRY * TexCoord3fv)(const GLfloat *); 128 void (GLAPIENTRY * TexCoord3i)(GLint, GLint, GLint); 129 void (GLAPIENTRY * TexCoord3iv)(const GLint *); 130 void (GLAPIENTRY * TexCoord3s)(GLshort, GLshort, GLshort); 131 void (GLAPIENTRY * TexCoord3sv)(const GLshort *); 132 void (GLAPIENTRY * TexCoord4d)(GLdouble, GLdouble, GLdouble, GLdouble); 133 void (GLAPIENTRY * TexCoord4dv)(const GLdouble *); 134 void (GLAPIENTRY * TexCoord4f)(GLfloat, GLfloat, GLfloat, GLfloat); 135 void (GLAPIENTRY * TexCoord4fv)(const GLfloat *); 136 void (GLAPIENTRY * TexCoord4i)(GLint, GLint, GLint, GLint); 137 void (GLAPIENTRY * TexCoord4iv)(const GLint *); 138 void (GLAPIENTRY * TexCoord4s)(GLshort, GLshort, GLshort, GLshort); 139 void (GLAPIENTRY * TexCoord4sv)(const GLshort *); 140 void (GLAPIENTRY * Vertex2d)(GLdouble, GLdouble); 141 void (GLAPIENTRY * Vertex2dv)(const GLdouble *); 142 void (GLAPIENTRY * Vertex2f)(GLfloat, GLfloat); 143 void (GLAPIENTRY * Vertex2fv)(const GLfloat *); 144 void (GLAPIENTRY * Vertex2i)(GLint, GLint); 145 void (GLAPIENTRY * Vertex2iv)(const GLint *); 146 void (GLAPIENTRY * Vertex2s)(GLshort, GLshort); 147 void (GLAPIENTRY * Vertex2sv)(const GLshort *); 148 void (GLAPIENTRY * Vertex3d)(GLdouble, GLdouble, GLdouble); 149 void (GLAPIENTRY * Vertex3dv)(const GLdouble *); 150 void (GLAPIENTRY * Vertex3f)(GLfloat, GLfloat, GLfloat); 151 void (GLAPIENTRY * Vertex3fv)(const GLfloat *); 152 void (GLAPIENTRY * Vertex3i)(GLint, GLint, GLint); 153 void (GLAPIENTRY * Vertex3iv)(const GLint *); 154 void (GLAPIENTRY * Vertex3s)(GLshort, GLshort, GLshort); 155 void (GLAPIENTRY * Vertex3sv)(const GLshort *); 156 void (GLAPIENTRY * Vertex4d)(GLdouble, GLdouble, GLdouble, GLdouble); 157 void (GLAPIENTRY * Vertex4dv)(const GLdouble *); 158 void (GLAPIENTRY * Vertex4f)(GLfloat, GLfloat, GLfloat, GLfloat); 159 void (GLAPIENTRY * Vertex4fv)(const GLfloat *); 160 void (GLAPIENTRY * Vertex4i)(GLint, GLint, GLint, GLint); 161 void (GLAPIENTRY * Vertex4iv)(const GLint *); 162 void (GLAPIENTRY * Vertex4s)(GLshort, GLshort, GLshort, GLshort); 163 void (GLAPIENTRY * Vertex4sv)(const GLshort *); 164 void (GLAPIENTRY * ClipPlane)(GLenum, const GLdouble *); 165 void (GLAPIENTRY * ColorMaterial)(GLenum, GLenum); 166 void (GLAPIENTRY * CullFace)(GLenum); 167 void (GLAPIENTRY * Fogf)(GLenum, GLfloat); 168 void (GLAPIENTRY * Fogfv)(GLenum, const GLfloat *); 169 void (GLAPIENTRY * Fogi)(GLenum, GLint); 170 void (GLAPIENTRY * Fogiv)(GLenum, const GLint *); 171 void (GLAPIENTRY * FrontFace)(GLenum); 172 void (GLAPIENTRY * Hint)(GLenum, GLenum); 173 void (GLAPIENTRY * Lightf)(GLenum, GLenum, GLfloat); 174 void (GLAPIENTRY * Lightfv)(GLenum, GLenum, const GLfloat *); 175 void (GLAPIENTRY * Lighti)(GLenum, GLenum, GLint); 176 void (GLAPIENTRY * Lightiv)(GLenum, GLenum, const GLint *); 177 void (GLAPIENTRY * LightModelf)(GLenum, GLfloat); 178 void (GLAPIENTRY * LightModelfv)(GLenum, const GLfloat *); 179 void (GLAPIENTRY * LightModeli)(GLenum, GLint); 180 void (GLAPIENTRY * LightModeliv)(GLenum, const GLint *); 181 void (GLAPIENTRY * LineStipple)(GLint, GLushort); 182 void (GLAPIENTRY * LineWidth)(GLfloat); 183 void (GLAPIENTRY * Materialf)(GLenum, GLenum, GLfloat); 184 void (GLAPIENTRY * Materialfv)(GLenum, GLenum, const GLfloat *); 185 void (GLAPIENTRY * Materiali)(GLenum, GLenum, GLint); 186 void (GLAPIENTRY * Materialiv)(GLenum, GLenum, const GLint *); 187 void (GLAPIENTRY * PointSize)(GLfloat); 188 void (GLAPIENTRY * PolygonMode)(GLenum, GLenum); 189 void (GLAPIENTRY * PolygonStipple)(const GLubyte *); 190 void (GLAPIENTRY * Scissor)(GLint, GLint, GLsizei, GLsizei); 191 void (GLAPIENTRY * ShadeModel)(GLenum); 192 void (GLAPIENTRY * TexParameterf)(GLenum, GLenum, GLfloat); 193 void (GLAPIENTRY * TexParameterfv)(GLenum, GLenum, const GLfloat *); 194 void (GLAPIENTRY * TexParameteri)(GLenum, GLenum, GLint); 195 void (GLAPIENTRY * TexParameteriv)(GLenum, GLenum, const GLint *); 196 void (GLAPIENTRY * TexImage1D)(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const GLvoid *); 197 void (GLAPIENTRY * TexImage2D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *); 198 void (GLAPIENTRY * TexEnvf)(GLenum, GLenum, GLfloat); 199 void (GLAPIENTRY * TexEnvfv)(GLenum, GLenum, const GLfloat *); 200 void (GLAPIENTRY * TexEnvi)(GLenum, GLenum, GLint); 201 void (GLAPIENTRY * TexEnviv)(GLenum, GLenum, const GLint *); 202 void (GLAPIENTRY * TexGend)(GLenum, GLenum, GLdouble); 203 void (GLAPIENTRY * TexGendv)(GLenum, GLenum, const GLdouble *); 204 void (GLAPIENTRY * TexGenf)(GLenum, GLenum, GLfloat); 205 void (GLAPIENTRY * TexGenfv)(GLenum, GLenum, const GLfloat *); 206 void (GLAPIENTRY * TexGeni)(GLenum, GLenum, GLint); 207 void (GLAPIENTRY * TexGeniv)(GLenum, GLenum, const GLint *); 208 void (GLAPIENTRY * FeedbackBuffer)(GLsizei, GLenum, GLfloat *); 209 void (GLAPIENTRY * SelectBuffer)(GLsizei, GLuint *); 210 GLint (GLAPIENTRY * RenderMode)(GLenum); 211 void (GLAPIENTRY * InitNames)(void); 212 void (GLAPIENTRY * LoadName)(GLuint); 213 void (GLAPIENTRY * PassThrough)(GLfloat); 214 void (GLAPIENTRY * PopName)(void); 215 void (GLAPIENTRY * PushName)(GLuint); 216 void (GLAPIENTRY * DrawBuffer)(GLenum); 217 void (GLAPIENTRY * Clear)(GLbitfield); 218 void (GLAPIENTRY * ClearAccum)(GLfloat, GLfloat, GLfloat, GLfloat); 219 void (GLAPIENTRY * ClearIndex)(GLfloat); 220 void (GLAPIENTRY * ClearColor)(GLclampf, GLclampf, GLclampf, GLclampf); 221 void (GLAPIENTRY * ClearStencil)(GLint); 222 void (GLAPIENTRY * ClearDepth)(GLclampd); 223 void (GLAPIENTRY * StencilMask)(GLuint); 224 void (GLAPIENTRY * ColorMask)(GLboolean, GLboolean, GLboolean, GLboolean); 225 void (GLAPIENTRY * DepthMask)(GLboolean); 226 void (GLAPIENTRY * IndexMask)(GLuint); 227 void (GLAPIENTRY * Accum)(GLenum, GLfloat); 228 void (GLAPIENTRY * Disable)(GLenum); 229 void (GLAPIENTRY * Enable)(GLenum); 230 void (GLAPIENTRY * Finish)(void); 231 void (GLAPIENTRY * Flush)(void); 232 void (GLAPIENTRY * PopAttrib)(void); 233 void (GLAPIENTRY * PushAttrib)(GLbitfield); 234 void (GLAPIENTRY * Map1d)(GLenum, GLdouble, GLdouble, GLint, GLint, const GLdouble *); 235 void (GLAPIENTRY * Map1f)(GLenum, GLfloat, GLfloat, GLint, GLint, const GLfloat *); 236 void (GLAPIENTRY * Map2d)(GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *); 237 void (GLAPIENTRY * Map2f)(GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *); 238 void (GLAPIENTRY * MapGrid1d)(GLint, GLdouble, GLdouble); 239 void (GLAPIENTRY * MapGrid1f)(GLint, GLfloat, GLfloat); 240 void (GLAPIENTRY * MapGrid2d)(GLint, GLdouble, GLdouble, GLint, GLdouble, GLdouble); 241 void (GLAPIENTRY * MapGrid2f)(GLint, GLfloat, GLfloat, GLint, GLfloat, GLfloat); 242 void (GLAPIENTRY * EvalCoord1d)(GLdouble); 243 void (GLAPIENTRY * EvalCoord1dv)(const GLdouble *); 244 void (GLAPIENTRY * EvalCoord1f)(GLfloat); 245 void (GLAPIENTRY * EvalCoord1fv)(const GLfloat *); 246 void (GLAPIENTRY * EvalCoord2d)(GLdouble, GLdouble); 247 void (GLAPIENTRY * EvalCoord2dv)(const GLdouble *); 248 void (GLAPIENTRY * EvalCoord2f)(GLfloat, GLfloat); 249 void (GLAPIENTRY * EvalCoord2fv)(const GLfloat *); 250 void (GLAPIENTRY * EvalMesh1)(GLenum, GLint, GLint); 251 void (GLAPIENTRY * EvalPoint1)(GLint); 252 void (GLAPIENTRY * EvalMesh2)(GLenum, GLint, GLint, GLint, GLint); 253 void (GLAPIENTRY * EvalPoint2)(GLint, GLint); 254 void (GLAPIENTRY * AlphaFunc)(GLenum, GLclampf); 255 void (GLAPIENTRY * BlendFunc)(GLenum, GLenum); 256 void (GLAPIENTRY * LogicOp)(GLenum); 257 void (GLAPIENTRY * StencilFunc)(GLenum, GLint, GLuint); 258 void (GLAPIENTRY * StencilOp)(GLenum, GLenum, GLenum); 259 void (GLAPIENTRY * DepthFunc)(GLenum); 260 void (GLAPIENTRY * PixelZoom)(GLfloat, GLfloat); 261 void (GLAPIENTRY * PixelTransferf)(GLenum, GLfloat); 262 void (GLAPIENTRY * PixelTransferi)(GLenum, GLint); 263 void (GLAPIENTRY * PixelStoref)(GLenum, GLfloat); 264 void (GLAPIENTRY * PixelStorei)(GLenum, GLint); 265 void (GLAPIENTRY * PixelMapfv)(GLenum, GLint, const GLfloat *); 266 void (GLAPIENTRY * PixelMapuiv)(GLenum, GLint, const GLuint *); 267 void (GLAPIENTRY * PixelMapusv)(GLenum, GLint, const GLushort *); 268 void (GLAPIENTRY * ReadBuffer)(GLenum); 269 void (GLAPIENTRY * CopyPixels)(GLint, GLint, GLsizei, GLsizei, GLenum); 270 void (GLAPIENTRY * ReadPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid *); 271 void (GLAPIENTRY * DrawPixels)(GLsizei, GLsizei, GLenum, GLenum, const GLvoid *); 272 void (GLAPIENTRY * GetBooleanv)(GLenum, GLboolean *); 273 void (GLAPIENTRY * GetClipPlane)(GLenum, GLdouble *); 274 void (GLAPIENTRY * GetDoublev)(GLenum, GLdouble *); 275 GLenum (GLAPIENTRY * GetError)(void); 276 void (GLAPIENTRY * GetFloatv)(GLenum, GLfloat *); 277 void (GLAPIENTRY * GetIntegerv)(GLenum, GLint *); 278 void (GLAPIENTRY * GetLightfv)(GLenum, GLenum, GLfloat *); 279 void (GLAPIENTRY * GetLightiv)(GLenum, GLenum, GLint *); 280 void (GLAPIENTRY * GetMapdv)(GLenum, GLenum, GLdouble *); 281 void (GLAPIENTRY * GetMapfv)(GLenum, GLenum, GLfloat *); 282 void (GLAPIENTRY * GetMapiv)(GLenum, GLenum, GLint *); 283 void (GLAPIENTRY * GetMaterialfv)(GLenum, GLenum, GLfloat *); 284 void (GLAPIENTRY * GetMaterialiv)(GLenum, GLenum, GLint *); 285 void (GLAPIENTRY * GetPixelMapfv)(GLenum, GLfloat *); 286 void (GLAPIENTRY * GetPixelMapuiv)(GLenum, GLuint *); 287 void (GLAPIENTRY * GetPixelMapusv)(GLenum, GLushort *); 288 void (GLAPIENTRY * GetPolygonStipple)(GLubyte *); 289 const GLubyte * (GLAPIENTRY * GetString)(GLenum); 290 void (GLAPIENTRY * GetTexEnvfv)(GLenum, GLenum, GLfloat *); 291 void (GLAPIENTRY * GetTexEnviv)(GLenum, GLenum, GLint *); 292 void (GLAPIENTRY * GetTexGendv)(GLenum, GLenum, GLdouble *); 293 void (GLAPIENTRY * GetTexGenfv)(GLenum, GLenum, GLfloat *); 294 void (GLAPIENTRY * GetTexGeniv)(GLenum, GLenum, GLint *); 295 void (GLAPIENTRY * GetTexImage)(GLenum, GLint, GLenum, GLenum, GLvoid *); 296 void (GLAPIENTRY * GetTexParameterfv)(GLenum, GLenum, GLfloat *); 297 void (GLAPIENTRY * GetTexParameteriv)(GLenum, GLenum, GLint *); 298 void (GLAPIENTRY * GetTexLevelParameterfv)(GLenum, GLint, GLenum, GLfloat *); 299 void (GLAPIENTRY * GetTexLevelParameteriv)(GLenum, GLint, GLenum, GLint *); 300 GLboolean (GLAPIENTRY * IsEnabled)(GLenum); 301 GLboolean (GLAPIENTRY * IsList)(GLuint); 302 void (GLAPIENTRY * DepthRange)(GLclampd, GLclampd); 303 void (GLAPIENTRY * Frustum)(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble); 304 void (GLAPIENTRY * LoadIdentity)(void); 305 void (GLAPIENTRY * LoadMatrixf)(const GLfloat *); 306 void (GLAPIENTRY * LoadMatrixd)(const GLdouble *); 307 void (GLAPIENTRY * MatrixMode)(GLenum); 308 void (GLAPIENTRY * MultMatrixf)(const GLfloat *); 309 void (GLAPIENTRY * MultMatrixd)(const GLdouble *); 310 void (GLAPIENTRY * Ortho)(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble); 311 void (GLAPIENTRY * PopMatrix)(void); 312 void (GLAPIENTRY * PushMatrix)(void); 313 void (GLAPIENTRY * Rotated)(GLdouble, GLdouble, GLdouble, GLdouble); 314 void (GLAPIENTRY * Rotatef)(GLfloat, GLfloat, GLfloat, GLfloat); 315 void (GLAPIENTRY * Scaled)(GLdouble, GLdouble, GLdouble); 316 void (GLAPIENTRY * Scalef)(GLfloat, GLfloat, GLfloat); 317 void (GLAPIENTRY * Translated)(GLdouble, GLdouble, GLdouble); 318 void (GLAPIENTRY * Translatef)(GLfloat, GLfloat, GLfloat); 319 void (GLAPIENTRY * Viewport)(GLint, GLint, GLsizei, GLsizei); 320 void (GLAPIENTRY * ArrayElement)(GLint); 321 void (GLAPIENTRY * BindTexture)(GLenum, GLuint); 322 void (GLAPIENTRY * ColorPointer)(GLint, GLenum, GLsizei, const GLvoid *); 323 void (GLAPIENTRY * DisableClientState)(GLenum); 324 void (GLAPIENTRY * DrawArrays)(GLenum, GLint, GLsizei); 325 void (GLAPIENTRY * DrawElements)(GLenum, GLsizei, GLenum, const GLvoid *); 326 void (GLAPIENTRY * EdgeFlagPointer)(GLsizei, const GLvoid *); 327 void (GLAPIENTRY * EnableClientState)(GLenum); 328 void (GLAPIENTRY * IndexPointer)(GLenum, GLsizei, const GLvoid *); 329 void (GLAPIENTRY * Indexub)(GLubyte); 330 void (GLAPIENTRY * Indexubv)(const GLubyte *); 331 void (GLAPIENTRY * InterleavedArrays)(GLenum, GLsizei, const GLvoid *); 332 void (GLAPIENTRY * NormalPointer)(GLenum, GLsizei, const GLvoid *); 333 void (GLAPIENTRY * PolygonOffset)(GLfloat, GLfloat); 334 void (GLAPIENTRY * TexCoordPointer)(GLint, GLenum, GLsizei, const GLvoid *); 335 void (GLAPIENTRY * VertexPointer)(GLint, GLenum, GLsizei, const GLvoid *); 336 GLboolean (GLAPIENTRY * AreTexturesResident)(GLsizei, const GLuint *, GLboolean *); 337 void (GLAPIENTRY * CopyTexImage1D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); 338 void (GLAPIENTRY * CopyTexImage2D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); 339 void (GLAPIENTRY * CopyTexSubImage1D)(GLenum, GLint, GLint, GLint, GLint, GLsizei); 340 void (GLAPIENTRY * CopyTexSubImage2D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); 341 void (GLAPIENTRY * DeleteTextures)(GLsizei, const GLuint *); 342 void (GLAPIENTRY * GenTextures)(GLsizei, GLuint *); 343 void (GLAPIENTRY * GetPointerv)(GLenum, GLvoid **); 344 GLboolean (GLAPIENTRY * IsTexture)(GLuint); 345 void (GLAPIENTRY * PrioritizeTextures)(GLsizei, const GLuint *, const GLclampf *); 346 void (GLAPIENTRY * TexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *); 347 void (GLAPIENTRY * TexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *); 348 void (GLAPIENTRY * PopClientAttrib)(void); 349 void (GLAPIENTRY * PushClientAttrib)(GLbitfield); 350 }; 351 352 typedef struct __GLdispatchTableRec GLDISPATCHTABLE; 353 354 typedef struct _GLCLTPROCTABLE 355 { 356 int cEntries; 357 GLDISPATCHTABLE glDispatchTable; 358 } GLCLTPROCTABLE, * PGLCLTPROCTABLE; 359 360 typedef VOID (APIENTRY * PFN_SETPROCTABLE)(const GLCLTPROCTABLE*); 361 362 /* This doesn't seem to be anywhere in ddk or psdk */ 363 DECLARE_HANDLE(DHGLRC); 364 365 struct ICD_Data 366 { 367 /* The Name returned with OPENGL_GETINFO escape code */ 368 WCHAR DriverName[256]; 369 /* The DLL handle */ 370 HMODULE hModule; 371 372 /* The ICD DLL exports */ 373 BOOL (WINAPI *DrvCopyContext)( DHGLRC, DHGLRC, UINT ); 374 DHGLRC (WINAPI *DrvCreateContext)( HDC ); 375 DHGLRC (WINAPI *DrvCreateLayerContext)( HDC, int ); 376 BOOL (WINAPI *DrvDeleteContext)( DHGLRC ); 377 BOOL (WINAPI *DrvDescribeLayerPlane)( HDC, int, int, UINT, LPLAYERPLANEDESCRIPTOR ); 378 int (WINAPI *DrvDescribePixelFormat)( IN HDC, IN int, IN UINT, OUT LPPIXELFORMATDESCRIPTOR ); 379 int (WINAPI *DrvGetLayerPaletteEntries)( HDC, int, int, int, COLORREF * ); 380 PROC (WINAPI *DrvGetProcAddress)( LPCSTR lpProcName ); 381 void (WINAPI *DrvReleaseContext)( DHGLRC hglrc ); /* maybe returns BOOL? */ 382 BOOL (WINAPI *DrvRealizeLayerPalette)( HDC, int, BOOL ); 383 const GLCLTPROCTABLE* (WINAPI *DrvSetContext)( HDC hdc, DHGLRC hglrc, PFN_SETPROCTABLE callback ); 384 int (WINAPI *DrvSetLayerPaletteEntries)( HDC, int, int, int, CONST COLORREF * ); 385 BOOL (WINAPI *DrvSetPixelFormat)( IN HDC, IN int); 386 BOOL (WINAPI *DrvShareLists)( DHGLRC, DHGLRC ); 387 BOOL (WINAPI *DrvSwapBuffers)( HDC ); 388 BOOL (WINAPI *DrvSwapLayerBuffers)( HDC, UINT ); 389 390 /* Make this a linked list */ 391 struct ICD_Data* next; 392 }; 393 394 struct ICD_Data* IntGetIcdData(HDC hdc); 395 396