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