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