OSDN Git Service

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