• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2 ** The OpenGL Extension Wrangler Library
3 ** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
4 ** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
5 ** Copyright (C) 2002, Lev Povalahev
6 ** All rights reserved.
7 **
8 ** Redistribution and use in source and binary forms, with or without
9 ** modification, are permitted provided that the following conditions are met:
10 **
11 ** * Redistributions of source code must retain the above copyright notice,
12 **   this list of conditions and the following disclaimer.
13 ** * Redistributions in binary form must reproduce the above copyright notice,
14 **   this list of conditions and the following disclaimer in the documentation
15 **   and/or other materials provided with the distribution.
16 ** * The name of the author may be used to endorse or promote products
17 **   derived from this software without specific prior written permission.
18 **
19 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 ** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 ** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 ** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23 ** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 ** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 ** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 ** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 ** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 ** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
29 ** THE POSSIBILITY OF SUCH DAMAGE.
30 */
31 
32 /*
33 ** Copyright (c) 2007 The Khronos Group Inc.
34 **
35 ** Permission is hereby granted, free of charge, to any person obtaining a
36 ** copy of this software and/or associated documentation files (the
37 ** "Materials"), to deal in the Materials without restriction, including
38 ** without limitation the rights to use, copy, modify, merge, publish,
39 ** distribute, sublicense, and/or sell copies of the Materials, and to
40 ** permit persons to whom the Materials are furnished to do so, subject to
41 ** the following conditions:
42 **
43 ** The above copyright notice and this permission notice shall be included
44 ** in all copies or substantial portions of the Materials.
45 **
46 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
47 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
48 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
49 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
50 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
51 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
52 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
53 */
54 
55 #ifndef __wglew_h__
56 #define __wglew_h__
57 #define __WGLEW_H__
58 
59 #ifdef __wglext_h_
60 #error wglext.h included before wglew.h
61 #endif
62 
63 #define __wglext_h_
64 
65 #if !defined(APIENTRY) && !defined(__CYGWIN__)
66 #  ifndef WIN32_LEAN_AND_MEAN
67 #    define WIN32_LEAN_AND_MEAN 1
68 #  endif
69 #include <windows.h>
70 #endif
71 
72 /*
73  * GLEW_STATIC needs to be set when using the static version.
74  * GLEW_BUILD is set when building the DLL version.
75  */
76 #ifdef GLEW_STATIC
77 #  define GLEWAPI extern
78 #else
79 #  ifdef GLEW_BUILD
80 #    define GLEWAPI extern __declspec(dllexport)
81 #  else
82 #    define GLEWAPI extern __declspec(dllimport)
83 #  endif
84 #endif
85 
86 #ifdef __cplusplus
87 extern "C" {
88 #endif
89 
90 /* -------------------------- WGL_3DFX_multisample ------------------------- */
91 
92 #ifndef WGL_3DFX_multisample
93 #define WGL_3DFX_multisample 1
94 
95 #define WGL_SAMPLE_BUFFERS_3DFX 0x2060
96 #define WGL_SAMPLES_3DFX 0x2061
97 
98 #define WGLEW_3DFX_multisample WGLEW_GET_VAR(__WGLEW_3DFX_multisample)
99 
100 #endif /* WGL_3DFX_multisample */
101 
102 /* ------------------------- WGL_3DL_stereo_control ------------------------ */
103 
104 #ifndef WGL_3DL_stereo_control
105 #define WGL_3DL_stereo_control 1
106 
107 #define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055
108 #define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056
109 #define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057
110 #define WGL_STEREO_POLARITY_INVERT_3DL 0x2058
111 
112 typedef BOOL (WINAPI * PFNWGLSETSTEREOEMITTERSTATE3DLPROC) (HDC hDC, UINT uState);
113 
114 #define wglSetStereoEmitterState3DL WGLEW_GET_FUN(__wglewSetStereoEmitterState3DL)
115 
116 #define WGLEW_3DL_stereo_control WGLEW_GET_VAR(__WGLEW_3DL_stereo_control)
117 
118 #endif /* WGL_3DL_stereo_control */
119 
120 /* ------------------------- WGL_ARB_buffer_region ------------------------- */
121 
122 #ifndef WGL_ARB_buffer_region
123 #define WGL_ARB_buffer_region 1
124 
125 #define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001
126 #define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002
127 #define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004
128 #define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008
129 
130 typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType);
131 typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion);
132 typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
133 typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height);
134 
135 #define wglCreateBufferRegionARB WGLEW_GET_FUN(__wglewCreateBufferRegionARB)
136 #define wglDeleteBufferRegionARB WGLEW_GET_FUN(__wglewDeleteBufferRegionARB)
137 #define wglRestoreBufferRegionARB WGLEW_GET_FUN(__wglewRestoreBufferRegionARB)
138 #define wglSaveBufferRegionARB WGLEW_GET_FUN(__wglewSaveBufferRegionARB)
139 
140 #define WGLEW_ARB_buffer_region WGLEW_GET_VAR(__WGLEW_ARB_buffer_region)
141 
142 #endif /* WGL_ARB_buffer_region */
143 
144 /* ------------------------- WGL_ARB_create_context ------------------------ */
145 
146 #ifndef WGL_ARB_create_context
147 #define WGL_ARB_create_context 1
148 
149 #define WGL_CONTEXT_DEBUG_BIT_ARB 0x0001
150 #define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002
151 #define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
152 #define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092
153 #define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
154 #define WGL_CONTEXT_FLAGS_ARB 0x2094
155 
156 typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int* attribList);
157 
158 #define wglCreateContextAttribsARB WGLEW_GET_FUN(__wglewCreateContextAttribsARB)
159 
160 #define WGLEW_ARB_create_context WGLEW_GET_VAR(__WGLEW_ARB_create_context)
161 
162 #endif /* WGL_ARB_create_context */
163 
164 /* ----------------------- WGL_ARB_extensions_string ----------------------- */
165 
166 #ifndef WGL_ARB_extensions_string
167 #define WGL_ARB_extensions_string 1
168 
169 typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
170 
171 #define wglGetExtensionsStringARB WGLEW_GET_FUN(__wglewGetExtensionsStringARB)
172 
173 #define WGLEW_ARB_extensions_string WGLEW_GET_VAR(__WGLEW_ARB_extensions_string)
174 
175 #endif /* WGL_ARB_extensions_string */
176 
177 /* ------------------------ WGL_ARB_framebuffer_sRGB ----------------------- */
178 
179 #ifndef WGL_ARB_framebuffer_sRGB
180 #define WGL_ARB_framebuffer_sRGB 1
181 
182 #define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9
183 
184 #define WGLEW_ARB_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_ARB_framebuffer_sRGB)
185 
186 #endif /* WGL_ARB_framebuffer_sRGB */
187 
188 /* ----------------------- WGL_ARB_make_current_read ----------------------- */
189 
190 #ifndef WGL_ARB_make_current_read
191 #define WGL_ARB_make_current_read 1
192 
193 #define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
194 #define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
195 
196 typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (VOID);
197 typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
198 
199 #define wglGetCurrentReadDCARB WGLEW_GET_FUN(__wglewGetCurrentReadDCARB)
200 #define wglMakeContextCurrentARB WGLEW_GET_FUN(__wglewMakeContextCurrentARB)
201 
202 #define WGLEW_ARB_make_current_read WGLEW_GET_VAR(__WGLEW_ARB_make_current_read)
203 
204 #endif /* WGL_ARB_make_current_read */
205 
206 /* -------------------------- WGL_ARB_multisample -------------------------- */
207 
208 #ifndef WGL_ARB_multisample
209 #define WGL_ARB_multisample 1
210 
211 #define WGL_SAMPLE_BUFFERS_ARB 0x2041
212 #define WGL_SAMPLES_ARB 0x2042
213 
214 #define WGLEW_ARB_multisample WGLEW_GET_VAR(__WGLEW_ARB_multisample)
215 
216 #endif /* WGL_ARB_multisample */
217 
218 /* ---------------------------- WGL_ARB_pbuffer ---------------------------- */
219 
220 #ifndef WGL_ARB_pbuffer
221 #define WGL_ARB_pbuffer 1
222 
223 #define WGL_DRAW_TO_PBUFFER_ARB 0x202D
224 #define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E
225 #define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F
226 #define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030
227 #define WGL_PBUFFER_LARGEST_ARB 0x2033
228 #define WGL_PBUFFER_WIDTH_ARB 0x2034
229 #define WGL_PBUFFER_HEIGHT_ARB 0x2035
230 #define WGL_PBUFFER_LOST_ARB 0x2036
231 
232 DECLARE_HANDLE(HPBUFFERARB);
233 
234 typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList);
235 typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer);
236 typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer);
237 typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int* piValue);
238 typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC);
239 
240 #define wglCreatePbufferARB WGLEW_GET_FUN(__wglewCreatePbufferARB)
241 #define wglDestroyPbufferARB WGLEW_GET_FUN(__wglewDestroyPbufferARB)
242 #define wglGetPbufferDCARB WGLEW_GET_FUN(__wglewGetPbufferDCARB)
243 #define wglQueryPbufferARB WGLEW_GET_FUN(__wglewQueryPbufferARB)
244 #define wglReleasePbufferDCARB WGLEW_GET_FUN(__wglewReleasePbufferDCARB)
245 
246 #define WGLEW_ARB_pbuffer WGLEW_GET_VAR(__WGLEW_ARB_pbuffer)
247 
248 #endif /* WGL_ARB_pbuffer */
249 
250 /* -------------------------- WGL_ARB_pixel_format ------------------------- */
251 
252 #ifndef WGL_ARB_pixel_format
253 #define WGL_ARB_pixel_format 1
254 
255 #define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000
256 #define WGL_DRAW_TO_WINDOW_ARB 0x2001
257 #define WGL_DRAW_TO_BITMAP_ARB 0x2002
258 #define WGL_ACCELERATION_ARB 0x2003
259 #define WGL_NEED_PALETTE_ARB 0x2004
260 #define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005
261 #define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006
262 #define WGL_SWAP_METHOD_ARB 0x2007
263 #define WGL_NUMBER_OVERLAYS_ARB 0x2008
264 #define WGL_NUMBER_UNDERLAYS_ARB 0x2009
265 #define WGL_TRANSPARENT_ARB 0x200A
266 #define WGL_SHARE_DEPTH_ARB 0x200C
267 #define WGL_SHARE_STENCIL_ARB 0x200D
268 #define WGL_SHARE_ACCUM_ARB 0x200E
269 #define WGL_SUPPORT_GDI_ARB 0x200F
270 #define WGL_SUPPORT_OPENGL_ARB 0x2010
271 #define WGL_DOUBLE_BUFFER_ARB 0x2011
272 #define WGL_STEREO_ARB 0x2012
273 #define WGL_PIXEL_TYPE_ARB 0x2013
274 #define WGL_COLOR_BITS_ARB 0x2014
275 #define WGL_RED_BITS_ARB 0x2015
276 #define WGL_RED_SHIFT_ARB 0x2016
277 #define WGL_GREEN_BITS_ARB 0x2017
278 #define WGL_GREEN_SHIFT_ARB 0x2018
279 #define WGL_BLUE_BITS_ARB 0x2019
280 #define WGL_BLUE_SHIFT_ARB 0x201A
281 #define WGL_ALPHA_BITS_ARB 0x201B
282 #define WGL_ALPHA_SHIFT_ARB 0x201C
283 #define WGL_ACCUM_BITS_ARB 0x201D
284 #define WGL_ACCUM_RED_BITS_ARB 0x201E
285 #define WGL_ACCUM_GREEN_BITS_ARB 0x201F
286 #define WGL_ACCUM_BLUE_BITS_ARB 0x2020
287 #define WGL_ACCUM_ALPHA_BITS_ARB 0x2021
288 #define WGL_DEPTH_BITS_ARB 0x2022
289 #define WGL_STENCIL_BITS_ARB 0x2023
290 #define WGL_AUX_BUFFERS_ARB 0x2024
291 #define WGL_NO_ACCELERATION_ARB 0x2025
292 #define WGL_GENERIC_ACCELERATION_ARB 0x2026
293 #define WGL_FULL_ACCELERATION_ARB 0x2027
294 #define WGL_SWAP_EXCHANGE_ARB 0x2028
295 #define WGL_SWAP_COPY_ARB 0x2029
296 #define WGL_SWAP_UNDEFINED_ARB 0x202A
297 #define WGL_TYPE_RGBA_ARB 0x202B
298 #define WGL_TYPE_COLORINDEX_ARB 0x202C
299 #define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037
300 #define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
301 #define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
302 #define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
303 #define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
304 
305 typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
306 typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, FLOAT *pfValues);
307 typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, int *piValues);
308 
309 #define wglChoosePixelFormatARB WGLEW_GET_FUN(__wglewChoosePixelFormatARB)
310 #define wglGetPixelFormatAttribfvARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvARB)
311 #define wglGetPixelFormatAttribivARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribivARB)
312 
313 #define WGLEW_ARB_pixel_format WGLEW_GET_VAR(__WGLEW_ARB_pixel_format)
314 
315 #endif /* WGL_ARB_pixel_format */
316 
317 /* ----------------------- WGL_ARB_pixel_format_float ---------------------- */
318 
319 #ifndef WGL_ARB_pixel_format_float
320 #define WGL_ARB_pixel_format_float 1
321 
322 #define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0
323 
324 #define WGLEW_ARB_pixel_format_float WGLEW_GET_VAR(__WGLEW_ARB_pixel_format_float)
325 
326 #endif /* WGL_ARB_pixel_format_float */
327 
328 /* ------------------------- WGL_ARB_render_texture ------------------------ */
329 
330 #ifndef WGL_ARB_render_texture
331 #define WGL_ARB_render_texture 1
332 
333 #define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070
334 #define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071
335 #define WGL_TEXTURE_FORMAT_ARB 0x2072
336 #define WGL_TEXTURE_TARGET_ARB 0x2073
337 #define WGL_MIPMAP_TEXTURE_ARB 0x2074
338 #define WGL_TEXTURE_RGB_ARB 0x2075
339 #define WGL_TEXTURE_RGBA_ARB 0x2076
340 #define WGL_NO_TEXTURE_ARB 0x2077
341 #define WGL_TEXTURE_CUBE_MAP_ARB 0x2078
342 #define WGL_TEXTURE_1D_ARB 0x2079
343 #define WGL_TEXTURE_2D_ARB 0x207A
344 #define WGL_MIPMAP_LEVEL_ARB 0x207B
345 #define WGL_CUBE_MAP_FACE_ARB 0x207C
346 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D
347 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E
348 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F
349 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080
350 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081
351 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082
352 #define WGL_FRONT_LEFT_ARB 0x2083
353 #define WGL_FRONT_RIGHT_ARB 0x2084
354 #define WGL_BACK_LEFT_ARB 0x2085
355 #define WGL_BACK_RIGHT_ARB 0x2086
356 #define WGL_AUX0_ARB 0x2087
357 #define WGL_AUX1_ARB 0x2088
358 #define WGL_AUX2_ARB 0x2089
359 #define WGL_AUX3_ARB 0x208A
360 #define WGL_AUX4_ARB 0x208B
361 #define WGL_AUX5_ARB 0x208C
362 #define WGL_AUX6_ARB 0x208D
363 #define WGL_AUX7_ARB 0x208E
364 #define WGL_AUX8_ARB 0x208F
365 #define WGL_AUX9_ARB 0x2090
366 
367 typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
368 typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
369 typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int* piAttribList);
370 
371 #define wglBindTexImageARB WGLEW_GET_FUN(__wglewBindTexImageARB)
372 #define wglReleaseTexImageARB WGLEW_GET_FUN(__wglewReleaseTexImageARB)
373 #define wglSetPbufferAttribARB WGLEW_GET_FUN(__wglewSetPbufferAttribARB)
374 
375 #define WGLEW_ARB_render_texture WGLEW_GET_VAR(__WGLEW_ARB_render_texture)
376 
377 #endif /* WGL_ARB_render_texture */
378 
379 /* ----------------------- WGL_ATI_pixel_format_float ---------------------- */
380 
381 #ifndef WGL_ATI_pixel_format_float
382 #define WGL_ATI_pixel_format_float 1
383 
384 #define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0
385 #define GL_RGBA_FLOAT_MODE_ATI 0x8820
386 #define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835
387 
388 #define WGLEW_ATI_pixel_format_float WGLEW_GET_VAR(__WGLEW_ATI_pixel_format_float)
389 
390 #endif /* WGL_ATI_pixel_format_float */
391 
392 /* -------------------- WGL_ATI_render_texture_rectangle ------------------- */
393 
394 #ifndef WGL_ATI_render_texture_rectangle
395 #define WGL_ATI_render_texture_rectangle 1
396 
397 #define WGL_TEXTURE_RECTANGLE_ATI 0x21A5
398 
399 #define WGLEW_ATI_render_texture_rectangle WGLEW_GET_VAR(__WGLEW_ATI_render_texture_rectangle)
400 
401 #endif /* WGL_ATI_render_texture_rectangle */
402 
403 /* -------------------------- WGL_EXT_depth_float -------------------------- */
404 
405 #ifndef WGL_EXT_depth_float
406 #define WGL_EXT_depth_float 1
407 
408 #define WGL_DEPTH_FLOAT_EXT 0x2040
409 
410 #define WGLEW_EXT_depth_float WGLEW_GET_VAR(__WGLEW_EXT_depth_float)
411 
412 #endif /* WGL_EXT_depth_float */
413 
414 /* ---------------------- WGL_EXT_display_color_table ---------------------- */
415 
416 #ifndef WGL_EXT_display_color_table
417 #define WGL_EXT_display_color_table 1
418 
419 typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id);
420 typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id);
421 typedef void (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id);
422 typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (GLushort* table, GLuint length);
423 
424 #define wglBindDisplayColorTableEXT WGLEW_GET_FUN(__wglewBindDisplayColorTableEXT)
425 #define wglCreateDisplayColorTableEXT WGLEW_GET_FUN(__wglewCreateDisplayColorTableEXT)
426 #define wglDestroyDisplayColorTableEXT WGLEW_GET_FUN(__wglewDestroyDisplayColorTableEXT)
427 #define wglLoadDisplayColorTableEXT WGLEW_GET_FUN(__wglewLoadDisplayColorTableEXT)
428 
429 #define WGLEW_EXT_display_color_table WGLEW_GET_VAR(__WGLEW_EXT_display_color_table)
430 
431 #endif /* WGL_EXT_display_color_table */
432 
433 /* ----------------------- WGL_EXT_extensions_string ----------------------- */
434 
435 #ifndef WGL_EXT_extensions_string
436 #define WGL_EXT_extensions_string 1
437 
438 typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void);
439 
440 #define wglGetExtensionsStringEXT WGLEW_GET_FUN(__wglewGetExtensionsStringEXT)
441 
442 #define WGLEW_EXT_extensions_string WGLEW_GET_VAR(__WGLEW_EXT_extensions_string)
443 
444 #endif /* WGL_EXT_extensions_string */
445 
446 /* ------------------------ WGL_EXT_framebuffer_sRGB ----------------------- */
447 
448 #ifndef WGL_EXT_framebuffer_sRGB
449 #define WGL_EXT_framebuffer_sRGB 1
450 
451 #define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9
452 
453 #define WGLEW_EXT_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_EXT_framebuffer_sRGB)
454 
455 #endif /* WGL_EXT_framebuffer_sRGB */
456 
457 /* ----------------------- WGL_EXT_make_current_read ----------------------- */
458 
459 #ifndef WGL_EXT_make_current_read
460 #define WGL_EXT_make_current_read 1
461 
462 #define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043
463 
464 typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (VOID);
465 typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
466 
467 #define wglGetCurrentReadDCEXT WGLEW_GET_FUN(__wglewGetCurrentReadDCEXT)
468 #define wglMakeContextCurrentEXT WGLEW_GET_FUN(__wglewMakeContextCurrentEXT)
469 
470 #define WGLEW_EXT_make_current_read WGLEW_GET_VAR(__WGLEW_EXT_make_current_read)
471 
472 #endif /* WGL_EXT_make_current_read */
473 
474 /* -------------------------- WGL_EXT_multisample -------------------------- */
475 
476 #ifndef WGL_EXT_multisample
477 #define WGL_EXT_multisample 1
478 
479 #define WGL_SAMPLE_BUFFERS_EXT 0x2041
480 #define WGL_SAMPLES_EXT 0x2042
481 
482 #define WGLEW_EXT_multisample WGLEW_GET_VAR(__WGLEW_EXT_multisample)
483 
484 #endif /* WGL_EXT_multisample */
485 
486 /* ---------------------------- WGL_EXT_pbuffer ---------------------------- */
487 
488 #ifndef WGL_EXT_pbuffer
489 #define WGL_EXT_pbuffer 1
490 
491 #define WGL_DRAW_TO_PBUFFER_EXT 0x202D
492 #define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E
493 #define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F
494 #define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030
495 #define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031
496 #define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032
497 #define WGL_PBUFFER_LARGEST_EXT 0x2033
498 #define WGL_PBUFFER_WIDTH_EXT 0x2034
499 #define WGL_PBUFFER_HEIGHT_EXT 0x2035
500 
501 DECLARE_HANDLE(HPBUFFEREXT);
502 
503 typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList);
504 typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer);
505 typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer);
506 typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int* piValue);
507 typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC);
508 
509 #define wglCreatePbufferEXT WGLEW_GET_FUN(__wglewCreatePbufferEXT)
510 #define wglDestroyPbufferEXT WGLEW_GET_FUN(__wglewDestroyPbufferEXT)
511 #define wglGetPbufferDCEXT WGLEW_GET_FUN(__wglewGetPbufferDCEXT)
512 #define wglQueryPbufferEXT WGLEW_GET_FUN(__wglewQueryPbufferEXT)
513 #define wglReleasePbufferDCEXT WGLEW_GET_FUN(__wglewReleasePbufferDCEXT)
514 
515 #define WGLEW_EXT_pbuffer WGLEW_GET_VAR(__WGLEW_EXT_pbuffer)
516 
517 #endif /* WGL_EXT_pbuffer */
518 
519 /* -------------------------- WGL_EXT_pixel_format ------------------------- */
520 
521 #ifndef WGL_EXT_pixel_format
522 #define WGL_EXT_pixel_format 1
523 
524 #define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000
525 #define WGL_DRAW_TO_WINDOW_EXT 0x2001
526 #define WGL_DRAW_TO_BITMAP_EXT 0x2002
527 #define WGL_ACCELERATION_EXT 0x2003
528 #define WGL_NEED_PALETTE_EXT 0x2004
529 #define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005
530 #define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006
531 #define WGL_SWAP_METHOD_EXT 0x2007
532 #define WGL_NUMBER_OVERLAYS_EXT 0x2008
533 #define WGL_NUMBER_UNDERLAYS_EXT 0x2009
534 #define WGL_TRANSPARENT_EXT 0x200A
535 #define WGL_TRANSPARENT_VALUE_EXT 0x200B
536 #define WGL_SHARE_DEPTH_EXT 0x200C
537 #define WGL_SHARE_STENCIL_EXT 0x200D
538 #define WGL_SHARE_ACCUM_EXT 0x200E
539 #define WGL_SUPPORT_GDI_EXT 0x200F
540 #define WGL_SUPPORT_OPENGL_EXT 0x2010
541 #define WGL_DOUBLE_BUFFER_EXT 0x2011
542 #define WGL_STEREO_EXT 0x2012
543 #define WGL_PIXEL_TYPE_EXT 0x2013
544 #define WGL_COLOR_BITS_EXT 0x2014
545 #define WGL_RED_BITS_EXT 0x2015
546 #define WGL_RED_SHIFT_EXT 0x2016
547 #define WGL_GREEN_BITS_EXT 0x2017
548 #define WGL_GREEN_SHIFT_EXT 0x2018
549 #define WGL_BLUE_BITS_EXT 0x2019
550 #define WGL_BLUE_SHIFT_EXT 0x201A
551 #define WGL_ALPHA_BITS_EXT 0x201B
552 #define WGL_ALPHA_SHIFT_EXT 0x201C
553 #define WGL_ACCUM_BITS_EXT 0x201D
554 #define WGL_ACCUM_RED_BITS_EXT 0x201E
555 #define WGL_ACCUM_GREEN_BITS_EXT 0x201F
556 #define WGL_ACCUM_BLUE_BITS_EXT 0x2020
557 #define WGL_ACCUM_ALPHA_BITS_EXT 0x2021
558 #define WGL_DEPTH_BITS_EXT 0x2022
559 #define WGL_STENCIL_BITS_EXT 0x2023
560 #define WGL_AUX_BUFFERS_EXT 0x2024
561 #define WGL_NO_ACCELERATION_EXT 0x2025
562 #define WGL_GENERIC_ACCELERATION_EXT 0x2026
563 #define WGL_FULL_ACCELERATION_EXT 0x2027
564 #define WGL_SWAP_EXCHANGE_EXT 0x2028
565 #define WGL_SWAP_COPY_EXT 0x2029
566 #define WGL_SWAP_UNDEFINED_EXT 0x202A
567 #define WGL_TYPE_RGBA_EXT 0x202B
568 #define WGL_TYPE_COLORINDEX_EXT 0x202C
569 
570 typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
571 typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, FLOAT *pfValues);
572 typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, int *piValues);
573 
574 #define wglChoosePixelFormatEXT WGLEW_GET_FUN(__wglewChoosePixelFormatEXT)
575 #define wglGetPixelFormatAttribfvEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvEXT)
576 #define wglGetPixelFormatAttribivEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribivEXT)
577 
578 #define WGLEW_EXT_pixel_format WGLEW_GET_VAR(__WGLEW_EXT_pixel_format)
579 
580 #endif /* WGL_EXT_pixel_format */
581 
582 /* ------------------- WGL_EXT_pixel_format_packed_float ------------------- */
583 
584 #ifndef WGL_EXT_pixel_format_packed_float
585 #define WGL_EXT_pixel_format_packed_float 1
586 
587 #define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8
588 
589 #define WGLEW_EXT_pixel_format_packed_float WGLEW_GET_VAR(__WGLEW_EXT_pixel_format_packed_float)
590 
591 #endif /* WGL_EXT_pixel_format_packed_float */
592 
593 /* -------------------------- WGL_EXT_swap_control ------------------------- */
594 
595 #ifndef WGL_EXT_swap_control
596 #define WGL_EXT_swap_control 1
597 
598 typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void);
599 typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
600 
601 #define wglGetSwapIntervalEXT WGLEW_GET_FUN(__wglewGetSwapIntervalEXT)
602 #define wglSwapIntervalEXT WGLEW_GET_FUN(__wglewSwapIntervalEXT)
603 
604 #define WGLEW_EXT_swap_control WGLEW_GET_VAR(__WGLEW_EXT_swap_control)
605 
606 #endif /* WGL_EXT_swap_control */
607 
608 /* --------------------- WGL_I3D_digital_video_control --------------------- */
609 
610 #ifndef WGL_I3D_digital_video_control
611 #define WGL_I3D_digital_video_control 1
612 
613 #define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050
614 #define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051
615 #define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052
616 #define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053
617 
618 typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int* piValue);
619 typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue);
620 
621 #define wglGetDigitalVideoParametersI3D WGLEW_GET_FUN(__wglewGetDigitalVideoParametersI3D)
622 #define wglSetDigitalVideoParametersI3D WGLEW_GET_FUN(__wglewSetDigitalVideoParametersI3D)
623 
624 #define WGLEW_I3D_digital_video_control WGLEW_GET_VAR(__WGLEW_I3D_digital_video_control)
625 
626 #endif /* WGL_I3D_digital_video_control */
627 
628 /* ----------------------------- WGL_I3D_gamma ----------------------------- */
629 
630 #ifndef WGL_I3D_gamma
631 #define WGL_I3D_gamma 1
632 
633 #define WGL_GAMMA_TABLE_SIZE_I3D 0x204E
634 #define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F
635 
636 typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT* puRed, USHORT *puGreen, USHORT *puBlue);
637 typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int* piValue);
638 typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT* puRed, const USHORT *puGreen, const USHORT *puBlue);
639 typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue);
640 
641 #define wglGetGammaTableI3D WGLEW_GET_FUN(__wglewGetGammaTableI3D)
642 #define wglGetGammaTableParametersI3D WGLEW_GET_FUN(__wglewGetGammaTableParametersI3D)
643 #define wglSetGammaTableI3D WGLEW_GET_FUN(__wglewSetGammaTableI3D)
644 #define wglSetGammaTableParametersI3D WGLEW_GET_FUN(__wglewSetGammaTableParametersI3D)
645 
646 #define WGLEW_I3D_gamma WGLEW_GET_VAR(__WGLEW_I3D_gamma)
647 
648 #endif /* WGL_I3D_gamma */
649 
650 /* ---------------------------- WGL_I3D_genlock ---------------------------- */
651 
652 #ifndef WGL_I3D_genlock
653 #define WGL_I3D_genlock 1
654 
655 #define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044
656 #define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D 0x2045
657 #define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046
658 #define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D 0x2047
659 #define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048
660 #define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049
661 #define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A
662 #define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B
663 #define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C
664 
665 typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC);
666 typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC);
667 typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate);
668 typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay);
669 typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge);
670 typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource);
671 typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT* uRate);
672 typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT* uDelay);
673 typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT* uEdge);
674 typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT* uSource);
675 typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL* pFlag);
676 typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT* uMaxLineDelay, UINT *uMaxPixelDelay);
677 
678 #define wglDisableGenlockI3D WGLEW_GET_FUN(__wglewDisableGenlockI3D)
679 #define wglEnableGenlockI3D WGLEW_GET_FUN(__wglewEnableGenlockI3D)
680 #define wglGenlockSampleRateI3D WGLEW_GET_FUN(__wglewGenlockSampleRateI3D)
681 #define wglGenlockSourceDelayI3D WGLEW_GET_FUN(__wglewGenlockSourceDelayI3D)
682 #define wglGenlockSourceEdgeI3D WGLEW_GET_FUN(__wglewGenlockSourceEdgeI3D)
683 #define wglGenlockSourceI3D WGLEW_GET_FUN(__wglewGenlockSourceI3D)
684 #define wglGetGenlockSampleRateI3D WGLEW_GET_FUN(__wglewGetGenlockSampleRateI3D)
685 #define wglGetGenlockSourceDelayI3D WGLEW_GET_FUN(__wglewGetGenlockSourceDelayI3D)
686 #define wglGetGenlockSourceEdgeI3D WGLEW_GET_FUN(__wglewGetGenlockSourceEdgeI3D)
687 #define wglGetGenlockSourceI3D WGLEW_GET_FUN(__wglewGetGenlockSourceI3D)
688 #define wglIsEnabledGenlockI3D WGLEW_GET_FUN(__wglewIsEnabledGenlockI3D)
689 #define wglQueryGenlockMaxSourceDelayI3D WGLEW_GET_FUN(__wglewQueryGenlockMaxSourceDelayI3D)
690 
691 #define WGLEW_I3D_genlock WGLEW_GET_VAR(__WGLEW_I3D_genlock)
692 
693 #endif /* WGL_I3D_genlock */
694 
695 /* -------------------------- WGL_I3D_image_buffer ------------------------- */
696 
697 #ifndef WGL_I3D_image_buffer
698 #define WGL_I3D_image_buffer 1
699 
700 #define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001
701 #define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002
702 
703 typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, HANDLE* pEvent, LPVOID *pAddress, DWORD *pSize, UINT count);
704 typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags);
705 typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress);
706 typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, LPVOID* pAddress, UINT count);
707 
708 #define wglAssociateImageBufferEventsI3D WGLEW_GET_FUN(__wglewAssociateImageBufferEventsI3D)
709 #define wglCreateImageBufferI3D WGLEW_GET_FUN(__wglewCreateImageBufferI3D)
710 #define wglDestroyImageBufferI3D WGLEW_GET_FUN(__wglewDestroyImageBufferI3D)
711 #define wglReleaseImageBufferEventsI3D WGLEW_GET_FUN(__wglewReleaseImageBufferEventsI3D)
712 
713 #define WGLEW_I3D_image_buffer WGLEW_GET_VAR(__WGLEW_I3D_image_buffer)
714 
715 #endif /* WGL_I3D_image_buffer */
716 
717 /* ------------------------ WGL_I3D_swap_frame_lock ------------------------ */
718 
719 #ifndef WGL_I3D_swap_frame_lock
720 #define WGL_I3D_swap_frame_lock 1
721 
722 typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (VOID);
723 typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (VOID);
724 typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL* pFlag);
725 typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL* pFlag);
726 
727 #define wglDisableFrameLockI3D WGLEW_GET_FUN(__wglewDisableFrameLockI3D)
728 #define wglEnableFrameLockI3D WGLEW_GET_FUN(__wglewEnableFrameLockI3D)
729 #define wglIsEnabledFrameLockI3D WGLEW_GET_FUN(__wglewIsEnabledFrameLockI3D)
730 #define wglQueryFrameLockMasterI3D WGLEW_GET_FUN(__wglewQueryFrameLockMasterI3D)
731 
732 #define WGLEW_I3D_swap_frame_lock WGLEW_GET_VAR(__WGLEW_I3D_swap_frame_lock)
733 
734 #endif /* WGL_I3D_swap_frame_lock */
735 
736 /* ------------------------ WGL_I3D_swap_frame_usage ----------------------- */
737 
738 #ifndef WGL_I3D_swap_frame_usage
739 #define WGL_I3D_swap_frame_usage 1
740 
741 typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void);
742 typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void);
743 typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float* pUsage);
744 typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD* pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
745 
746 #define wglBeginFrameTrackingI3D WGLEW_GET_FUN(__wglewBeginFrameTrackingI3D)
747 #define wglEndFrameTrackingI3D WGLEW_GET_FUN(__wglewEndFrameTrackingI3D)
748 #define wglGetFrameUsageI3D WGLEW_GET_FUN(__wglewGetFrameUsageI3D)
749 #define wglQueryFrameTrackingI3D WGLEW_GET_FUN(__wglewQueryFrameTrackingI3D)
750 
751 #define WGLEW_I3D_swap_frame_usage WGLEW_GET_VAR(__WGLEW_I3D_swap_frame_usage)
752 
753 #endif /* WGL_I3D_swap_frame_usage */
754 
755 /* -------------------------- WGL_NV_float_buffer -------------------------- */
756 
757 #ifndef WGL_NV_float_buffer
758 #define WGL_NV_float_buffer 1
759 
760 #define WGL_FLOAT_COMPONENTS_NV 0x20B0
761 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1
762 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2
763 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3
764 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4
765 #define WGL_TEXTURE_FLOAT_R_NV 0x20B5
766 #define WGL_TEXTURE_FLOAT_RG_NV 0x20B6
767 #define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7
768 #define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8
769 
770 #define WGLEW_NV_float_buffer WGLEW_GET_VAR(__WGLEW_NV_float_buffer)
771 
772 #endif /* WGL_NV_float_buffer */
773 
774 /* -------------------------- WGL_NV_gpu_affinity -------------------------- */
775 
776 #ifndef WGL_NV_gpu_affinity
777 #define WGL_NV_gpu_affinity 1
778 
779 #define WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0
780 #define WGL_ERROR_MISSING_AFFINITY_MASK_NV 0x20D1
781 
782 DECLARE_HANDLE(HGPUNV);
783 typedef struct _GPU_DEVICE {
784   DWORD cb;
785   CHAR DeviceName[32];
786   CHAR DeviceString[128];
787   DWORD Flags;
788   RECT rcVirtualScreen;
789 } GPU_DEVICE, *PGPU_DEVICE;
790 
791 typedef HDC (WINAPI * PFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV *phGpuList);
792 typedef BOOL (WINAPI * PFNWGLDELETEDCNVPROC) (HDC hdc);
793 typedef BOOL (WINAPI * PFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
794 typedef BOOL (WINAPI * PFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);
795 typedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu);
796 
797 #define wglCreateAffinityDCNV WGLEW_GET_FUN(__wglewCreateAffinityDCNV)
798 #define wglDeleteDCNV WGLEW_GET_FUN(__wglewDeleteDCNV)
799 #define wglEnumGpuDevicesNV WGLEW_GET_FUN(__wglewEnumGpuDevicesNV)
800 #define wglEnumGpusFromAffinityDCNV WGLEW_GET_FUN(__wglewEnumGpusFromAffinityDCNV)
801 #define wglEnumGpusNV WGLEW_GET_FUN(__wglewEnumGpusNV)
802 
803 #define WGLEW_NV_gpu_affinity WGLEW_GET_VAR(__WGLEW_NV_gpu_affinity)
804 
805 #endif /* WGL_NV_gpu_affinity */
806 
807 /* -------------------------- WGL_NV_present_video ------------------------- */
808 
809 #ifndef WGL_NV_present_video
810 #define WGL_NV_present_video 1
811 
812 #define WGL_NUM_VIDEO_SLOTS_NV 0x20F0
813 
814 DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
815 
816 typedef BOOL (WINAPI * PFNWGLBINDVIDEODEVICENVPROC) (HDC hDc, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int* piAttribList);
817 typedef int (WINAPI * PFNWGLENUMERATEVIDEODEVICESNVPROC) (HDC hDc, HVIDEOOUTPUTDEVICENV* phDeviceList);
818 typedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int* piValue);
819 
820 #define wglBindVideoDeviceNV WGLEW_GET_FUN(__wglewBindVideoDeviceNV)
821 #define wglEnumerateVideoDevicesNV WGLEW_GET_FUN(__wglewEnumerateVideoDevicesNV)
822 #define wglQueryCurrentContextNV WGLEW_GET_FUN(__wglewQueryCurrentContextNV)
823 
824 #define WGLEW_NV_present_video WGLEW_GET_VAR(__WGLEW_NV_present_video)
825 
826 #endif /* WGL_NV_present_video */
827 
828 /* ---------------------- WGL_NV_render_depth_texture ---------------------- */
829 
830 #ifndef WGL_NV_render_depth_texture
831 #define WGL_NV_render_depth_texture 1
832 
833 #define WGL_NO_TEXTURE_ARB 0x2077
834 #define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3
835 #define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4
836 #define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5
837 #define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6
838 #define WGL_DEPTH_COMPONENT_NV 0x20A7
839 
840 #define WGLEW_NV_render_depth_texture WGLEW_GET_VAR(__WGLEW_NV_render_depth_texture)
841 
842 #endif /* WGL_NV_render_depth_texture */
843 
844 /* -------------------- WGL_NV_render_texture_rectangle -------------------- */
845 
846 #ifndef WGL_NV_render_texture_rectangle
847 #define WGL_NV_render_texture_rectangle 1
848 
849 #define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0
850 #define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1
851 #define WGL_TEXTURE_RECTANGLE_NV 0x20A2
852 
853 #define WGLEW_NV_render_texture_rectangle WGLEW_GET_VAR(__WGLEW_NV_render_texture_rectangle)
854 
855 #endif /* WGL_NV_render_texture_rectangle */
856 
857 /* --------------------------- WGL_NV_swap_group --------------------------- */
858 
859 #ifndef WGL_NV_swap_group
860 #define WGL_NV_swap_group 1
861 
862 typedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier);
863 typedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group);
864 typedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint* count);
865 typedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint* maxGroups, GLuint *maxBarriers);
866 typedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint* group);
867 typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC);
868 
869 #define wglBindSwapBarrierNV WGLEW_GET_FUN(__wglewBindSwapBarrierNV)
870 #define wglJoinSwapGroupNV WGLEW_GET_FUN(__wglewJoinSwapGroupNV)
871 #define wglQueryFrameCountNV WGLEW_GET_FUN(__wglewQueryFrameCountNV)
872 #define wglQueryMaxSwapGroupsNV WGLEW_GET_FUN(__wglewQueryMaxSwapGroupsNV)
873 #define wglQuerySwapGroupNV WGLEW_GET_FUN(__wglewQuerySwapGroupNV)
874 #define wglResetFrameCountNV WGLEW_GET_FUN(__wglewResetFrameCountNV)
875 
876 #define WGLEW_NV_swap_group WGLEW_GET_VAR(__WGLEW_NV_swap_group)
877 
878 #endif /* WGL_NV_swap_group */
879 
880 /* ----------------------- WGL_NV_vertex_array_range ----------------------- */
881 
882 #ifndef WGL_NV_vertex_array_range
883 #define WGL_NV_vertex_array_range 1
884 
885 typedef void * (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
886 typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
887 
888 #define wglAllocateMemoryNV WGLEW_GET_FUN(__wglewAllocateMemoryNV)
889 #define wglFreeMemoryNV WGLEW_GET_FUN(__wglewFreeMemoryNV)
890 
891 #define WGLEW_NV_vertex_array_range WGLEW_GET_VAR(__WGLEW_NV_vertex_array_range)
892 
893 #endif /* WGL_NV_vertex_array_range */
894 
895 /* -------------------------- WGL_NV_video_output -------------------------- */
896 
897 #ifndef WGL_NV_video_output
898 #define WGL_NV_video_output 1
899 
900 #define WGL_BIND_TO_VIDEO_RGB_NV 0x20C0
901 #define WGL_BIND_TO_VIDEO_RGBA_NV 0x20C1
902 #define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2
903 #define WGL_VIDEO_OUT_COLOR_NV 0x20C3
904 #define WGL_VIDEO_OUT_ALPHA_NV 0x20C4
905 #define WGL_VIDEO_OUT_DEPTH_NV 0x20C5
906 #define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
907 #define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
908 #define WGL_VIDEO_OUT_FRAME 0x20C8
909 #define WGL_VIDEO_OUT_FIELD_1 0x20C9
910 #define WGL_VIDEO_OUT_FIELD_2 0x20CA
911 #define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20CB
912 #define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20CC
913 
914 DECLARE_HANDLE(HPVIDEODEV);
915 
916 typedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
917 typedef BOOL (WINAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV* hVideoDevice);
918 typedef BOOL (WINAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long* pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
919 typedef BOOL (WINAPI * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice);
920 typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer);
921 typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long* pulCounterPbuffer, BOOL bBlock);
922 
923 #define wglBindVideoImageNV WGLEW_GET_FUN(__wglewBindVideoImageNV)
924 #define wglGetVideoDeviceNV WGLEW_GET_FUN(__wglewGetVideoDeviceNV)
925 #define wglGetVideoInfoNV WGLEW_GET_FUN(__wglewGetVideoInfoNV)
926 #define wglReleaseVideoDeviceNV WGLEW_GET_FUN(__wglewReleaseVideoDeviceNV)
927 #define wglReleaseVideoImageNV WGLEW_GET_FUN(__wglewReleaseVideoImageNV)
928 #define wglSendPbufferToVideoNV WGLEW_GET_FUN(__wglewSendPbufferToVideoNV)
929 
930 #define WGLEW_NV_video_output WGLEW_GET_VAR(__WGLEW_NV_video_output)
931 
932 #endif /* WGL_NV_video_output */
933 
934 /* -------------------------- WGL_OML_sync_control ------------------------- */
935 
936 #ifndef WGL_OML_sync_control
937 #define WGL_OML_sync_control 1
938 
939 typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32* numerator, INT32 *denominator);
940 typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64* ust, INT64 *msc, INT64 *sbc);
941 typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
942 typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, INT fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
943 typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64* ust, INT64 *msc, INT64 *sbc);
944 typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64* ust, INT64 *msc, INT64 *sbc);
945 
946 #define wglGetMscRateOML WGLEW_GET_FUN(__wglewGetMscRateOML)
947 #define wglGetSyncValuesOML WGLEW_GET_FUN(__wglewGetSyncValuesOML)
948 #define wglSwapBuffersMscOML WGLEW_GET_FUN(__wglewSwapBuffersMscOML)
949 #define wglSwapLayerBuffersMscOML WGLEW_GET_FUN(__wglewSwapLayerBuffersMscOML)
950 #define wglWaitForMscOML WGLEW_GET_FUN(__wglewWaitForMscOML)
951 #define wglWaitForSbcOML WGLEW_GET_FUN(__wglewWaitForSbcOML)
952 
953 #define WGLEW_OML_sync_control WGLEW_GET_VAR(__WGLEW_OML_sync_control)
954 
955 #endif /* WGL_OML_sync_control */
956 
957 /* ------------------------------------------------------------------------- */
958 
959 #ifdef GLEW_MX
960 #define WGLEW_EXPORT
961 #else
962 #define WGLEW_EXPORT GLEWAPI
963 #endif /* GLEW_MX */
964 
965 #ifdef GLEW_MX
966 struct WGLEWContextStruct
967 {
968 #endif /* GLEW_MX */
969 
970 WGLEW_EXPORT PFNWGLSETSTEREOEMITTERSTATE3DLPROC __wglewSetStereoEmitterState3DL;
971 
972 WGLEW_EXPORT PFNWGLCREATEBUFFERREGIONARBPROC __wglewCreateBufferRegionARB;
973 WGLEW_EXPORT PFNWGLDELETEBUFFERREGIONARBPROC __wglewDeleteBufferRegionARB;
974 WGLEW_EXPORT PFNWGLRESTOREBUFFERREGIONARBPROC __wglewRestoreBufferRegionARB;
975 WGLEW_EXPORT PFNWGLSAVEBUFFERREGIONARBPROC __wglewSaveBufferRegionARB;
976 
977 WGLEW_EXPORT PFNWGLCREATECONTEXTATTRIBSARBPROC __wglewCreateContextAttribsARB;
978 
979 WGLEW_EXPORT PFNWGLGETEXTENSIONSSTRINGARBPROC __wglewGetExtensionsStringARB;
980 
981 WGLEW_EXPORT PFNWGLGETCURRENTREADDCARBPROC __wglewGetCurrentReadDCARB;
982 WGLEW_EXPORT PFNWGLMAKECONTEXTCURRENTARBPROC __wglewMakeContextCurrentARB;
983 
984 WGLEW_EXPORT PFNWGLCREATEPBUFFERARBPROC __wglewCreatePbufferARB;
985 WGLEW_EXPORT PFNWGLDESTROYPBUFFERARBPROC __wglewDestroyPbufferARB;
986 WGLEW_EXPORT PFNWGLGETPBUFFERDCARBPROC __wglewGetPbufferDCARB;
987 WGLEW_EXPORT PFNWGLQUERYPBUFFERARBPROC __wglewQueryPbufferARB;
988 WGLEW_EXPORT PFNWGLRELEASEPBUFFERDCARBPROC __wglewReleasePbufferDCARB;
989 
990 WGLEW_EXPORT PFNWGLCHOOSEPIXELFORMATARBPROC __wglewChoosePixelFormatARB;
991 WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBFVARBPROC __wglewGetPixelFormatAttribfvARB;
992 WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBIVARBPROC __wglewGetPixelFormatAttribivARB;
993 
994 WGLEW_EXPORT PFNWGLBINDTEXIMAGEARBPROC __wglewBindTexImageARB;
995 WGLEW_EXPORT PFNWGLRELEASETEXIMAGEARBPROC __wglewReleaseTexImageARB;
996 WGLEW_EXPORT PFNWGLSETPBUFFERATTRIBARBPROC __wglewSetPbufferAttribARB;
997 
998 WGLEW_EXPORT PFNWGLBINDDISPLAYCOLORTABLEEXTPROC __wglewBindDisplayColorTableEXT;
999 WGLEW_EXPORT PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC __wglewCreateDisplayColorTableEXT;
1000 WGLEW_EXPORT PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC __wglewDestroyDisplayColorTableEXT;
1001 WGLEW_EXPORT PFNWGLLOADDISPLAYCOLORTABLEEXTPROC __wglewLoadDisplayColorTableEXT;
1002 
1003 WGLEW_EXPORT PFNWGLGETEXTENSIONSSTRINGEXTPROC __wglewGetExtensionsStringEXT;
1004 
1005 WGLEW_EXPORT PFNWGLGETCURRENTREADDCEXTPROC __wglewGetCurrentReadDCEXT;
1006 WGLEW_EXPORT PFNWGLMAKECONTEXTCURRENTEXTPROC __wglewMakeContextCurrentEXT;
1007 
1008 WGLEW_EXPORT PFNWGLCREATEPBUFFEREXTPROC __wglewCreatePbufferEXT;
1009 WGLEW_EXPORT PFNWGLDESTROYPBUFFEREXTPROC __wglewDestroyPbufferEXT;
1010 WGLEW_EXPORT PFNWGLGETPBUFFERDCEXTPROC __wglewGetPbufferDCEXT;
1011 WGLEW_EXPORT PFNWGLQUERYPBUFFEREXTPROC __wglewQueryPbufferEXT;
1012 WGLEW_EXPORT PFNWGLRELEASEPBUFFERDCEXTPROC __wglewReleasePbufferDCEXT;
1013 
1014 WGLEW_EXPORT PFNWGLCHOOSEPIXELFORMATEXTPROC __wglewChoosePixelFormatEXT;
1015 WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBFVEXTPROC __wglewGetPixelFormatAttribfvEXT;
1016 WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBIVEXTPROC __wglewGetPixelFormatAttribivEXT;
1017 
1018 WGLEW_EXPORT PFNWGLGETSWAPINTERVALEXTPROC __wglewGetSwapIntervalEXT;
1019 WGLEW_EXPORT PFNWGLSWAPINTERVALEXTPROC __wglewSwapIntervalEXT;
1020 
1021 WGLEW_EXPORT PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC __wglewGetDigitalVideoParametersI3D;
1022 WGLEW_EXPORT PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC __wglewSetDigitalVideoParametersI3D;
1023 
1024 WGLEW_EXPORT PFNWGLGETGAMMATABLEI3DPROC __wglewGetGammaTableI3D;
1025 WGLEW_EXPORT PFNWGLGETGAMMATABLEPARAMETERSI3DPROC __wglewGetGammaTableParametersI3D;
1026 WGLEW_EXPORT PFNWGLSETGAMMATABLEI3DPROC __wglewSetGammaTableI3D;
1027 WGLEW_EXPORT PFNWGLSETGAMMATABLEPARAMETERSI3DPROC __wglewSetGammaTableParametersI3D;
1028 
1029 WGLEW_EXPORT PFNWGLDISABLEGENLOCKI3DPROC __wglewDisableGenlockI3D;
1030 WGLEW_EXPORT PFNWGLENABLEGENLOCKI3DPROC __wglewEnableGenlockI3D;
1031 WGLEW_EXPORT PFNWGLGENLOCKSAMPLERATEI3DPROC __wglewGenlockSampleRateI3D;
1032 WGLEW_EXPORT PFNWGLGENLOCKSOURCEDELAYI3DPROC __wglewGenlockSourceDelayI3D;
1033 WGLEW_EXPORT PFNWGLGENLOCKSOURCEEDGEI3DPROC __wglewGenlockSourceEdgeI3D;
1034 WGLEW_EXPORT PFNWGLGENLOCKSOURCEI3DPROC __wglewGenlockSourceI3D;
1035 WGLEW_EXPORT PFNWGLGETGENLOCKSAMPLERATEI3DPROC __wglewGetGenlockSampleRateI3D;
1036 WGLEW_EXPORT PFNWGLGETGENLOCKSOURCEDELAYI3DPROC __wglewGetGenlockSourceDelayI3D;
1037 WGLEW_EXPORT PFNWGLGETGENLOCKSOURCEEDGEI3DPROC __wglewGetGenlockSourceEdgeI3D;
1038 WGLEW_EXPORT PFNWGLGETGENLOCKSOURCEI3DPROC __wglewGetGenlockSourceI3D;
1039 WGLEW_EXPORT PFNWGLISENABLEDGENLOCKI3DPROC __wglewIsEnabledGenlockI3D;
1040 WGLEW_EXPORT PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC __wglewQueryGenlockMaxSourceDelayI3D;
1041 
1042 WGLEW_EXPORT PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC __wglewAssociateImageBufferEventsI3D;
1043 WGLEW_EXPORT PFNWGLCREATEIMAGEBUFFERI3DPROC __wglewCreateImageBufferI3D;
1044 WGLEW_EXPORT PFNWGLDESTROYIMAGEBUFFERI3DPROC __wglewDestroyImageBufferI3D;
1045 WGLEW_EXPORT PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC __wglewReleaseImageBufferEventsI3D;
1046 
1047 WGLEW_EXPORT PFNWGLDISABLEFRAMELOCKI3DPROC __wglewDisableFrameLockI3D;
1048 WGLEW_EXPORT PFNWGLENABLEFRAMELOCKI3DPROC __wglewEnableFrameLockI3D;
1049 WGLEW_EXPORT PFNWGLISENABLEDFRAMELOCKI3DPROC __wglewIsEnabledFrameLockI3D;
1050 WGLEW_EXPORT PFNWGLQUERYFRAMELOCKMASTERI3DPROC __wglewQueryFrameLockMasterI3D;
1051 
1052 WGLEW_EXPORT PFNWGLBEGINFRAMETRACKINGI3DPROC __wglewBeginFrameTrackingI3D;
1053 WGLEW_EXPORT PFNWGLENDFRAMETRACKINGI3DPROC __wglewEndFrameTrackingI3D;
1054 WGLEW_EXPORT PFNWGLGETFRAMEUSAGEI3DPROC __wglewGetFrameUsageI3D;
1055 WGLEW_EXPORT PFNWGLQUERYFRAMETRACKINGI3DPROC __wglewQueryFrameTrackingI3D;
1056 
1057 WGLEW_EXPORT PFNWGLCREATEAFFINITYDCNVPROC __wglewCreateAffinityDCNV;
1058 WGLEW_EXPORT PFNWGLDELETEDCNVPROC __wglewDeleteDCNV;
1059 WGLEW_EXPORT PFNWGLENUMGPUDEVICESNVPROC __wglewEnumGpuDevicesNV;
1060 WGLEW_EXPORT PFNWGLENUMGPUSFROMAFFINITYDCNVPROC __wglewEnumGpusFromAffinityDCNV;
1061 WGLEW_EXPORT PFNWGLENUMGPUSNVPROC __wglewEnumGpusNV;
1062 
1063 WGLEW_EXPORT PFNWGLBINDVIDEODEVICENVPROC __wglewBindVideoDeviceNV;
1064 WGLEW_EXPORT PFNWGLENUMERATEVIDEODEVICESNVPROC __wglewEnumerateVideoDevicesNV;
1065 WGLEW_EXPORT PFNWGLQUERYCURRENTCONTEXTNVPROC __wglewQueryCurrentContextNV;
1066 
1067 WGLEW_EXPORT PFNWGLBINDSWAPBARRIERNVPROC __wglewBindSwapBarrierNV;
1068 WGLEW_EXPORT PFNWGLJOINSWAPGROUPNVPROC __wglewJoinSwapGroupNV;
1069 WGLEW_EXPORT PFNWGLQUERYFRAMECOUNTNVPROC __wglewQueryFrameCountNV;
1070 WGLEW_EXPORT PFNWGLQUERYMAXSWAPGROUPSNVPROC __wglewQueryMaxSwapGroupsNV;
1071 WGLEW_EXPORT PFNWGLQUERYSWAPGROUPNVPROC __wglewQuerySwapGroupNV;
1072 WGLEW_EXPORT PFNWGLRESETFRAMECOUNTNVPROC __wglewResetFrameCountNV;
1073 
1074 WGLEW_EXPORT PFNWGLALLOCATEMEMORYNVPROC __wglewAllocateMemoryNV;
1075 WGLEW_EXPORT PFNWGLFREEMEMORYNVPROC __wglewFreeMemoryNV;
1076 
1077 WGLEW_EXPORT PFNWGLBINDVIDEOIMAGENVPROC __wglewBindVideoImageNV;
1078 WGLEW_EXPORT PFNWGLGETVIDEODEVICENVPROC __wglewGetVideoDeviceNV;
1079 WGLEW_EXPORT PFNWGLGETVIDEOINFONVPROC __wglewGetVideoInfoNV;
1080 WGLEW_EXPORT PFNWGLRELEASEVIDEODEVICENVPROC __wglewReleaseVideoDeviceNV;
1081 WGLEW_EXPORT PFNWGLRELEASEVIDEOIMAGENVPROC __wglewReleaseVideoImageNV;
1082 WGLEW_EXPORT PFNWGLSENDPBUFFERTOVIDEONVPROC __wglewSendPbufferToVideoNV;
1083 
1084 WGLEW_EXPORT PFNWGLGETMSCRATEOMLPROC __wglewGetMscRateOML;
1085 WGLEW_EXPORT PFNWGLGETSYNCVALUESOMLPROC __wglewGetSyncValuesOML;
1086 WGLEW_EXPORT PFNWGLSWAPBUFFERSMSCOMLPROC __wglewSwapBuffersMscOML;
1087 WGLEW_EXPORT PFNWGLSWAPLAYERBUFFERSMSCOMLPROC __wglewSwapLayerBuffersMscOML;
1088 WGLEW_EXPORT PFNWGLWAITFORMSCOMLPROC __wglewWaitForMscOML;
1089 WGLEW_EXPORT PFNWGLWAITFORSBCOMLPROC __wglewWaitForSbcOML;
1090 WGLEW_EXPORT GLboolean __WGLEW_3DFX_multisample;
1091 WGLEW_EXPORT GLboolean __WGLEW_3DL_stereo_control;
1092 WGLEW_EXPORT GLboolean __WGLEW_ARB_buffer_region;
1093 WGLEW_EXPORT GLboolean __WGLEW_ARB_create_context;
1094 WGLEW_EXPORT GLboolean __WGLEW_ARB_extensions_string;
1095 WGLEW_EXPORT GLboolean __WGLEW_ARB_framebuffer_sRGB;
1096 WGLEW_EXPORT GLboolean __WGLEW_ARB_make_current_read;
1097 WGLEW_EXPORT GLboolean __WGLEW_ARB_multisample;
1098 WGLEW_EXPORT GLboolean __WGLEW_ARB_pbuffer;
1099 WGLEW_EXPORT GLboolean __WGLEW_ARB_pixel_format;
1100 WGLEW_EXPORT GLboolean __WGLEW_ARB_pixel_format_float;
1101 WGLEW_EXPORT GLboolean __WGLEW_ARB_render_texture;
1102 WGLEW_EXPORT GLboolean __WGLEW_ATI_pixel_format_float;
1103 WGLEW_EXPORT GLboolean __WGLEW_ATI_render_texture_rectangle;
1104 WGLEW_EXPORT GLboolean __WGLEW_EXT_depth_float;
1105 WGLEW_EXPORT GLboolean __WGLEW_EXT_display_color_table;
1106 WGLEW_EXPORT GLboolean __WGLEW_EXT_extensions_string;
1107 WGLEW_EXPORT GLboolean __WGLEW_EXT_framebuffer_sRGB;
1108 WGLEW_EXPORT GLboolean __WGLEW_EXT_make_current_read;
1109 WGLEW_EXPORT GLboolean __WGLEW_EXT_multisample;
1110 WGLEW_EXPORT GLboolean __WGLEW_EXT_pbuffer;
1111 WGLEW_EXPORT GLboolean __WGLEW_EXT_pixel_format;
1112 WGLEW_EXPORT GLboolean __WGLEW_EXT_pixel_format_packed_float;
1113 WGLEW_EXPORT GLboolean __WGLEW_EXT_swap_control;
1114 WGLEW_EXPORT GLboolean __WGLEW_I3D_digital_video_control;
1115 WGLEW_EXPORT GLboolean __WGLEW_I3D_gamma;
1116 WGLEW_EXPORT GLboolean __WGLEW_I3D_genlock;
1117 WGLEW_EXPORT GLboolean __WGLEW_I3D_image_buffer;
1118 WGLEW_EXPORT GLboolean __WGLEW_I3D_swap_frame_lock;
1119 WGLEW_EXPORT GLboolean __WGLEW_I3D_swap_frame_usage;
1120 WGLEW_EXPORT GLboolean __WGLEW_NV_float_buffer;
1121 WGLEW_EXPORT GLboolean __WGLEW_NV_gpu_affinity;
1122 WGLEW_EXPORT GLboolean __WGLEW_NV_present_video;
1123 WGLEW_EXPORT GLboolean __WGLEW_NV_render_depth_texture;
1124 WGLEW_EXPORT GLboolean __WGLEW_NV_render_texture_rectangle;
1125 WGLEW_EXPORT GLboolean __WGLEW_NV_swap_group;
1126 WGLEW_EXPORT GLboolean __WGLEW_NV_vertex_array_range;
1127 WGLEW_EXPORT GLboolean __WGLEW_NV_video_output;
1128 WGLEW_EXPORT GLboolean __WGLEW_OML_sync_control;
1129 
1130 #ifdef GLEW_MX
1131 }; /* WGLEWContextStruct */
1132 #endif /* GLEW_MX */
1133 
1134 /* ------------------------------------------------------------------------- */
1135 
1136 #ifdef GLEW_MX
1137 
1138 typedef struct WGLEWContextStruct WGLEWContext;
1139 GLEWAPI GLenum wglewContextInit (WGLEWContext* ctx);
1140 GLEWAPI GLboolean wglewContextIsSupported (WGLEWContext* ctx, const char* name);
1141 
1142 #define wglewInit() wglewContextInit(wglewGetContext())
1143 #define wglewIsSupported(x) wglewContextIsSupported(wglewGetContext(), x)
1144 
1145 #define WGLEW_GET_VAR(x) (*(const GLboolean*)&(wglewGetContext()->x))
1146 #define WGLEW_GET_FUN(x) wglewGetContext()->x
1147 
1148 #else /* GLEW_MX */
1149 
1150 #define WGLEW_GET_VAR(x) (*(const GLboolean*)&x)
1151 #define WGLEW_GET_FUN(x) x
1152 
1153 GLEWAPI GLboolean wglewIsSupported (const char* name);
1154 
1155 #endif /* GLEW_MX */
1156 
1157 GLEWAPI GLboolean wglewGetExtension (const char* name);
1158 
1159 #ifdef __cplusplus
1160 }
1161 #endif
1162 
1163 #undef GLEWAPI
1164 
1165 #endif /* __wglew_h__ */
1166