1706f2543Smrg#ifndef __wglext_h_ 2706f2543Smrg#define __wglext_h_ 3706f2543Smrg 4706f2543Smrg#ifdef __cplusplus 5706f2543Smrgextern "C" { 6706f2543Smrg#endif 7706f2543Smrg 8706f2543Smrg/* 9706f2543Smrg** Copyright (c) 2007-2010 The Khronos Group Inc. 10706f2543Smrg** 11706f2543Smrg** Permission is hereby granted, free of charge, to any person obtaining a 12706f2543Smrg** copy of this software and/or associated documentation files (the 13706f2543Smrg** "Materials"), to deal in the Materials without restriction, including 14706f2543Smrg** without limitation the rights to use, copy, modify, merge, publish, 15706f2543Smrg** distribute, sublicense, and/or sell copies of the Materials, and to 16706f2543Smrg** permit persons to whom the Materials are furnished to do so, subject to 17706f2543Smrg** the following conditions: 18706f2543Smrg** 19706f2543Smrg** The above copyright notice and this permission notice shall be included 20706f2543Smrg** in all copies or substantial portions of the Materials. 21706f2543Smrg** 22706f2543Smrg** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 23706f2543Smrg** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 24706f2543Smrg** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 25706f2543Smrg** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 26706f2543Smrg** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 27706f2543Smrg** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 28706f2543Smrg** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 29706f2543Smrg*/ 30706f2543Smrg 31706f2543Smrg/* Function declaration macros - to move into glplatform.h */ 32706f2543Smrg 33706f2543Smrg#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) 34706f2543Smrg#define WIN32_LEAN_AND_MEAN 1 35706f2543Smrg#include <windows.h> 36706f2543Smrg#endif 37706f2543Smrg 38706f2543Smrg#ifndef APIENTRY 39706f2543Smrg#define APIENTRY 40706f2543Smrg#endif 41706f2543Smrg#ifndef APIENTRYP 42706f2543Smrg#define APIENTRYP APIENTRY * 43706f2543Smrg#endif 44706f2543Smrg#ifndef GLAPI 45706f2543Smrg#define GLAPI extern 46706f2543Smrg#endif 47706f2543Smrg 48706f2543Smrg/*************************************************************/ 49706f2543Smrg 50706f2543Smrg/* Header file version number */ 51706f2543Smrg/* wglext.h last updated 2011/04/13 */ 52706f2543Smrg/* Current version at http://www.opengl.org/registry/ */ 53706f2543Smrg#define WGL_WGLEXT_VERSION 23 54706f2543Smrg 55706f2543Smrg#ifndef WGL_ARB_buffer_region 56706f2543Smrg#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001 57706f2543Smrg#define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002 58706f2543Smrg#define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004 59706f2543Smrg#define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008 60706f2543Smrg#endif 61706f2543Smrg 62706f2543Smrg#ifndef WGL_ARB_multisample 63706f2543Smrg#define WGL_SAMPLE_BUFFERS_ARB 0x2041 64706f2543Smrg#define WGL_SAMPLES_ARB 0x2042 65706f2543Smrg#endif 66706f2543Smrg 67706f2543Smrg#ifndef WGL_ARB_extensions_string 68706f2543Smrg#endif 69706f2543Smrg 70706f2543Smrg#ifndef WGL_ARB_pixel_format 71706f2543Smrg#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000 72706f2543Smrg#define WGL_DRAW_TO_WINDOW_ARB 0x2001 73706f2543Smrg#define WGL_DRAW_TO_BITMAP_ARB 0x2002 74706f2543Smrg#define WGL_ACCELERATION_ARB 0x2003 75706f2543Smrg#define WGL_NEED_PALETTE_ARB 0x2004 76706f2543Smrg#define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005 77706f2543Smrg#define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006 78706f2543Smrg#define WGL_SWAP_METHOD_ARB 0x2007 79706f2543Smrg#define WGL_NUMBER_OVERLAYS_ARB 0x2008 80706f2543Smrg#define WGL_NUMBER_UNDERLAYS_ARB 0x2009 81706f2543Smrg#define WGL_TRANSPARENT_ARB 0x200A 82706f2543Smrg#define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037 83706f2543Smrg#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038 84706f2543Smrg#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039 85706f2543Smrg#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A 86706f2543Smrg#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B 87706f2543Smrg#define WGL_SHARE_DEPTH_ARB 0x200C 88706f2543Smrg#define WGL_SHARE_STENCIL_ARB 0x200D 89706f2543Smrg#define WGL_SHARE_ACCUM_ARB 0x200E 90706f2543Smrg#define WGL_SUPPORT_GDI_ARB 0x200F 91706f2543Smrg#define WGL_SUPPORT_OPENGL_ARB 0x2010 92706f2543Smrg#define WGL_DOUBLE_BUFFER_ARB 0x2011 93706f2543Smrg#define WGL_STEREO_ARB 0x2012 94706f2543Smrg#define WGL_PIXEL_TYPE_ARB 0x2013 95706f2543Smrg#define WGL_COLOR_BITS_ARB 0x2014 96706f2543Smrg#define WGL_RED_BITS_ARB 0x2015 97706f2543Smrg#define WGL_RED_SHIFT_ARB 0x2016 98706f2543Smrg#define WGL_GREEN_BITS_ARB 0x2017 99706f2543Smrg#define WGL_GREEN_SHIFT_ARB 0x2018 100706f2543Smrg#define WGL_BLUE_BITS_ARB 0x2019 101706f2543Smrg#define WGL_BLUE_SHIFT_ARB 0x201A 102706f2543Smrg#define WGL_ALPHA_BITS_ARB 0x201B 103706f2543Smrg#define WGL_ALPHA_SHIFT_ARB 0x201C 104706f2543Smrg#define WGL_ACCUM_BITS_ARB 0x201D 105706f2543Smrg#define WGL_ACCUM_RED_BITS_ARB 0x201E 106706f2543Smrg#define WGL_ACCUM_GREEN_BITS_ARB 0x201F 107706f2543Smrg#define WGL_ACCUM_BLUE_BITS_ARB 0x2020 108706f2543Smrg#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021 109706f2543Smrg#define WGL_DEPTH_BITS_ARB 0x2022 110706f2543Smrg#define WGL_STENCIL_BITS_ARB 0x2023 111706f2543Smrg#define WGL_AUX_BUFFERS_ARB 0x2024 112706f2543Smrg#define WGL_NO_ACCELERATION_ARB 0x2025 113706f2543Smrg#define WGL_GENERIC_ACCELERATION_ARB 0x2026 114706f2543Smrg#define WGL_FULL_ACCELERATION_ARB 0x2027 115706f2543Smrg#define WGL_SWAP_EXCHANGE_ARB 0x2028 116706f2543Smrg#define WGL_SWAP_COPY_ARB 0x2029 117706f2543Smrg#define WGL_SWAP_UNDEFINED_ARB 0x202A 118706f2543Smrg#define WGL_TYPE_RGBA_ARB 0x202B 119706f2543Smrg#define WGL_TYPE_COLORINDEX_ARB 0x202C 120706f2543Smrg#endif 121706f2543Smrg 122706f2543Smrg#ifndef WGL_ARB_make_current_read 123706f2543Smrg#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043 124706f2543Smrg#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054 125706f2543Smrg#endif 126706f2543Smrg 127706f2543Smrg#ifndef WGL_ARB_pbuffer 128706f2543Smrg#define WGL_DRAW_TO_PBUFFER_ARB 0x202D 129706f2543Smrg#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E 130706f2543Smrg#define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F 131706f2543Smrg#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030 132706f2543Smrg#define WGL_PBUFFER_LARGEST_ARB 0x2033 133706f2543Smrg#define WGL_PBUFFER_WIDTH_ARB 0x2034 134706f2543Smrg#define WGL_PBUFFER_HEIGHT_ARB 0x2035 135706f2543Smrg#define WGL_PBUFFER_LOST_ARB 0x2036 136706f2543Smrg#endif 137706f2543Smrg 138706f2543Smrg#ifndef WGL_ARB_render_texture 139706f2543Smrg#define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070 140706f2543Smrg#define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071 141706f2543Smrg#define WGL_TEXTURE_FORMAT_ARB 0x2072 142706f2543Smrg#define WGL_TEXTURE_TARGET_ARB 0x2073 143706f2543Smrg#define WGL_MIPMAP_TEXTURE_ARB 0x2074 144706f2543Smrg#define WGL_TEXTURE_RGB_ARB 0x2075 145706f2543Smrg#define WGL_TEXTURE_RGBA_ARB 0x2076 146706f2543Smrg#define WGL_NO_TEXTURE_ARB 0x2077 147706f2543Smrg#define WGL_TEXTURE_CUBE_MAP_ARB 0x2078 148706f2543Smrg#define WGL_TEXTURE_1D_ARB 0x2079 149706f2543Smrg#define WGL_TEXTURE_2D_ARB 0x207A 150706f2543Smrg#define WGL_MIPMAP_LEVEL_ARB 0x207B 151706f2543Smrg#define WGL_CUBE_MAP_FACE_ARB 0x207C 152706f2543Smrg#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D 153706f2543Smrg#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E 154706f2543Smrg#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F 155706f2543Smrg#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080 156706f2543Smrg#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081 157706f2543Smrg#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082 158706f2543Smrg#define WGL_FRONT_LEFT_ARB 0x2083 159706f2543Smrg#define WGL_FRONT_RIGHT_ARB 0x2084 160706f2543Smrg#define WGL_BACK_LEFT_ARB 0x2085 161706f2543Smrg#define WGL_BACK_RIGHT_ARB 0x2086 162706f2543Smrg#define WGL_AUX0_ARB 0x2087 163706f2543Smrg#define WGL_AUX1_ARB 0x2088 164706f2543Smrg#define WGL_AUX2_ARB 0x2089 165706f2543Smrg#define WGL_AUX3_ARB 0x208A 166706f2543Smrg#define WGL_AUX4_ARB 0x208B 167706f2543Smrg#define WGL_AUX5_ARB 0x208C 168706f2543Smrg#define WGL_AUX6_ARB 0x208D 169706f2543Smrg#define WGL_AUX7_ARB 0x208E 170706f2543Smrg#define WGL_AUX8_ARB 0x208F 171706f2543Smrg#define WGL_AUX9_ARB 0x2090 172706f2543Smrg#endif 173706f2543Smrg 174706f2543Smrg#ifndef WGL_ARB_pixel_format_float 175706f2543Smrg#define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0 176706f2543Smrg#endif 177706f2543Smrg 178706f2543Smrg#ifndef WGL_ARB_framebuffer_sRGB 179706f2543Smrg#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9 180706f2543Smrg#endif 181706f2543Smrg 182706f2543Smrg#ifndef WGL_ARB_create_context 183706f2543Smrg#define WGL_CONTEXT_DEBUG_BIT_ARB 0x00000001 184706f2543Smrg#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002 185706f2543Smrg#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091 186706f2543Smrg#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092 187706f2543Smrg#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093 188706f2543Smrg#define WGL_CONTEXT_FLAGS_ARB 0x2094 189706f2543Smrg#define ERROR_INVALID_VERSION_ARB 0x2095 190706f2543Smrg#endif 191706f2543Smrg 192706f2543Smrg#ifndef WGL_ARB_create_context_profile 193706f2543Smrg#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126 194706f2543Smrg#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001 195706f2543Smrg#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002 196706f2543Smrg#define ERROR_INVALID_PROFILE_ARB 0x2096 197706f2543Smrg#endif 198706f2543Smrg 199706f2543Smrg#ifndef WGL_ARB_create_context_robustness 200706f2543Smrg#define WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004 201706f2543Smrg#define WGL_LOSE_CONTEXT_ON_RESET_ARB 0x8252 202706f2543Smrg#define WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 203706f2543Smrg#define WGL_NO_RESET_NOTIFICATION_ARB 0x8261 204706f2543Smrg#endif 205706f2543Smrg 206706f2543Smrg#ifndef WGL_EXT_make_current_read 207706f2543Smrg#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043 208706f2543Smrg#endif 209706f2543Smrg 210706f2543Smrg#ifndef WGL_EXT_pixel_format 211706f2543Smrg#define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000 212706f2543Smrg#define WGL_DRAW_TO_WINDOW_EXT 0x2001 213706f2543Smrg#define WGL_DRAW_TO_BITMAP_EXT 0x2002 214706f2543Smrg#define WGL_ACCELERATION_EXT 0x2003 215706f2543Smrg#define WGL_NEED_PALETTE_EXT 0x2004 216706f2543Smrg#define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005 217706f2543Smrg#define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006 218706f2543Smrg#define WGL_SWAP_METHOD_EXT 0x2007 219706f2543Smrg#define WGL_NUMBER_OVERLAYS_EXT 0x2008 220706f2543Smrg#define WGL_NUMBER_UNDERLAYS_EXT 0x2009 221706f2543Smrg#define WGL_TRANSPARENT_EXT 0x200A 222706f2543Smrg#define WGL_TRANSPARENT_VALUE_EXT 0x200B 223706f2543Smrg#define WGL_SHARE_DEPTH_EXT 0x200C 224706f2543Smrg#define WGL_SHARE_STENCIL_EXT 0x200D 225706f2543Smrg#define WGL_SHARE_ACCUM_EXT 0x200E 226706f2543Smrg#define WGL_SUPPORT_GDI_EXT 0x200F 227706f2543Smrg#define WGL_SUPPORT_OPENGL_EXT 0x2010 228706f2543Smrg#define WGL_DOUBLE_BUFFER_EXT 0x2011 229706f2543Smrg#define WGL_STEREO_EXT 0x2012 230706f2543Smrg#define WGL_PIXEL_TYPE_EXT 0x2013 231706f2543Smrg#define WGL_COLOR_BITS_EXT 0x2014 232706f2543Smrg#define WGL_RED_BITS_EXT 0x2015 233706f2543Smrg#define WGL_RED_SHIFT_EXT 0x2016 234706f2543Smrg#define WGL_GREEN_BITS_EXT 0x2017 235706f2543Smrg#define WGL_GREEN_SHIFT_EXT 0x2018 236706f2543Smrg#define WGL_BLUE_BITS_EXT 0x2019 237706f2543Smrg#define WGL_BLUE_SHIFT_EXT 0x201A 238706f2543Smrg#define WGL_ALPHA_BITS_EXT 0x201B 239706f2543Smrg#define WGL_ALPHA_SHIFT_EXT 0x201C 240706f2543Smrg#define WGL_ACCUM_BITS_EXT 0x201D 241706f2543Smrg#define WGL_ACCUM_RED_BITS_EXT 0x201E 242706f2543Smrg#define WGL_ACCUM_GREEN_BITS_EXT 0x201F 243706f2543Smrg#define WGL_ACCUM_BLUE_BITS_EXT 0x2020 244706f2543Smrg#define WGL_ACCUM_ALPHA_BITS_EXT 0x2021 245706f2543Smrg#define WGL_DEPTH_BITS_EXT 0x2022 246706f2543Smrg#define WGL_STENCIL_BITS_EXT 0x2023 247706f2543Smrg#define WGL_AUX_BUFFERS_EXT 0x2024 248706f2543Smrg#define WGL_NO_ACCELERATION_EXT 0x2025 249706f2543Smrg#define WGL_GENERIC_ACCELERATION_EXT 0x2026 250706f2543Smrg#define WGL_FULL_ACCELERATION_EXT 0x2027 251706f2543Smrg#define WGL_SWAP_EXCHANGE_EXT 0x2028 252706f2543Smrg#define WGL_SWAP_COPY_EXT 0x2029 253706f2543Smrg#define WGL_SWAP_UNDEFINED_EXT 0x202A 254706f2543Smrg#define WGL_TYPE_RGBA_EXT 0x202B 255706f2543Smrg#define WGL_TYPE_COLORINDEX_EXT 0x202C 256706f2543Smrg#endif 257706f2543Smrg 258706f2543Smrg#ifndef WGL_EXT_pbuffer 259706f2543Smrg#define WGL_DRAW_TO_PBUFFER_EXT 0x202D 260706f2543Smrg#define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E 261706f2543Smrg#define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F 262706f2543Smrg#define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030 263706f2543Smrg#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031 264706f2543Smrg#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032 265706f2543Smrg#define WGL_PBUFFER_LARGEST_EXT 0x2033 266706f2543Smrg#define WGL_PBUFFER_WIDTH_EXT 0x2034 267706f2543Smrg#define WGL_PBUFFER_HEIGHT_EXT 0x2035 268706f2543Smrg#endif 269706f2543Smrg 270706f2543Smrg#ifndef WGL_EXT_depth_float 271706f2543Smrg#define WGL_DEPTH_FLOAT_EXT 0x2040 272706f2543Smrg#endif 273706f2543Smrg 274706f2543Smrg#ifndef WGL_3DFX_multisample 275706f2543Smrg#define WGL_SAMPLE_BUFFERS_3DFX 0x2060 276706f2543Smrg#define WGL_SAMPLES_3DFX 0x2061 277706f2543Smrg#endif 278706f2543Smrg 279706f2543Smrg#ifndef WGL_EXT_multisample 280706f2543Smrg#define WGL_SAMPLE_BUFFERS_EXT 0x2041 281706f2543Smrg#define WGL_SAMPLES_EXT 0x2042 282706f2543Smrg#endif 283706f2543Smrg 284706f2543Smrg#ifndef WGL_I3D_digital_video_control 285706f2543Smrg#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050 286706f2543Smrg#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051 287706f2543Smrg#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052 288706f2543Smrg#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053 289706f2543Smrg#endif 290706f2543Smrg 291706f2543Smrg#ifndef WGL_I3D_gamma 292706f2543Smrg#define WGL_GAMMA_TABLE_SIZE_I3D 0x204E 293706f2543Smrg#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F 294706f2543Smrg#endif 295706f2543Smrg 296706f2543Smrg#ifndef WGL_I3D_genlock 297706f2543Smrg#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044 298706f2543Smrg#define WGL_GENLOCK_SOURCE_EXTENAL_SYNC_I3D 0x2045 299706f2543Smrg#define WGL_GENLOCK_SOURCE_EXTENAL_FIELD_I3D 0x2046 300706f2543Smrg#define WGL_GENLOCK_SOURCE_EXTENAL_TTL_I3D 0x2047 301706f2543Smrg#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048 302706f2543Smrg#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049 303706f2543Smrg#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A 304706f2543Smrg#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B 305706f2543Smrg#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C 306706f2543Smrg#endif 307706f2543Smrg 308706f2543Smrg#ifndef WGL_I3D_image_buffer 309706f2543Smrg#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001 310706f2543Smrg#define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002 311706f2543Smrg#endif 312706f2543Smrg 313706f2543Smrg#ifndef WGL_I3D_swap_frame_lock 314706f2543Smrg#endif 315706f2543Smrg 316706f2543Smrg#ifndef WGL_NV_render_depth_texture 317706f2543Smrg#define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3 318706f2543Smrg#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4 319706f2543Smrg#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5 320706f2543Smrg#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6 321706f2543Smrg#define WGL_DEPTH_COMPONENT_NV 0x20A7 322706f2543Smrg#endif 323706f2543Smrg 324706f2543Smrg#ifndef WGL_NV_render_texture_rectangle 325706f2543Smrg#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0 326706f2543Smrg#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1 327706f2543Smrg#define WGL_TEXTURE_RECTANGLE_NV 0x20A2 328706f2543Smrg#endif 329706f2543Smrg 330706f2543Smrg#ifndef WGL_ATI_pixel_format_float 331706f2543Smrg#define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0 332706f2543Smrg#endif 333706f2543Smrg 334706f2543Smrg#ifndef WGL_NV_float_buffer 335706f2543Smrg#define WGL_FLOAT_COMPONENTS_NV 0x20B0 336706f2543Smrg#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1 337706f2543Smrg#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2 338706f2543Smrg#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3 339706f2543Smrg#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4 340706f2543Smrg#define WGL_TEXTURE_FLOAT_R_NV 0x20B5 341706f2543Smrg#define WGL_TEXTURE_FLOAT_RG_NV 0x20B6 342706f2543Smrg#define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7 343706f2543Smrg#define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8 344706f2543Smrg#endif 345706f2543Smrg 346706f2543Smrg#ifndef WGL_3DL_stereo_control 347706f2543Smrg#define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055 348706f2543Smrg#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056 349706f2543Smrg#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057 350706f2543Smrg#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058 351706f2543Smrg#endif 352706f2543Smrg 353706f2543Smrg#ifndef WGL_EXT_pixel_format_packed_float 354706f2543Smrg#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8 355706f2543Smrg#endif 356706f2543Smrg 357706f2543Smrg#ifndef WGL_EXT_framebuffer_sRGB 358706f2543Smrg#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9 359706f2543Smrg#endif 360706f2543Smrg 361706f2543Smrg#ifndef WGL_NV_present_video 362706f2543Smrg#define WGL_NUM_VIDEO_SLOTS_NV 0x20F0 363706f2543Smrg#endif 364706f2543Smrg 365706f2543Smrg#ifndef WGL_NV_video_out 366706f2543Smrg#define WGL_BIND_TO_VIDEO_RGB_NV 0x20C0 367706f2543Smrg#define WGL_BIND_TO_VIDEO_RGBA_NV 0x20C1 368706f2543Smrg#define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2 369706f2543Smrg#define WGL_VIDEO_OUT_COLOR_NV 0x20C3 370706f2543Smrg#define WGL_VIDEO_OUT_ALPHA_NV 0x20C4 371706f2543Smrg#define WGL_VIDEO_OUT_DEPTH_NV 0x20C5 372706f2543Smrg#define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6 373706f2543Smrg#define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7 374706f2543Smrg#define WGL_VIDEO_OUT_FRAME 0x20C8 375706f2543Smrg#define WGL_VIDEO_OUT_FIELD_1 0x20C9 376706f2543Smrg#define WGL_VIDEO_OUT_FIELD_2 0x20CA 377706f2543Smrg#define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20CB 378706f2543Smrg#define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20CC 379706f2543Smrg#endif 380706f2543Smrg 381706f2543Smrg#ifndef WGL_NV_swap_group 382706f2543Smrg#endif 383706f2543Smrg 384706f2543Smrg#ifndef WGL_NV_gpu_affinity 385706f2543Smrg#define WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0 386706f2543Smrg#define WGL_ERROR_MISSING_AFFINITY_MASK_NV 0x20D1 387706f2543Smrg#endif 388706f2543Smrg 389706f2543Smrg#ifndef WGL_AMD_gpu_association 390706f2543Smrg#define WGL_GPU_VENDOR_AMD 0x1F00 391706f2543Smrg#define WGL_GPU_RENDERER_STRING_AMD 0x1F01 392706f2543Smrg#define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1F02 393706f2543Smrg#define WGL_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2 394706f2543Smrg#define WGL_GPU_RAM_AMD 0x21A3 395706f2543Smrg#define WGL_GPU_CLOCK_AMD 0x21A4 396706f2543Smrg#define WGL_GPU_NUM_PIPES_AMD 0x21A5 397706f2543Smrg#define WGL_GPU_NUM_SIMD_AMD 0x21A6 398706f2543Smrg#define WGL_GPU_NUM_RB_AMD 0x21A7 399706f2543Smrg#define WGL_GPU_NUM_SPI_AMD 0x21A8 400706f2543Smrg#endif 401706f2543Smrg 402706f2543Smrg#ifndef WGL_NV_video_capture 403706f2543Smrg#define WGL_UNIQUE_ID_NV 0x20CE 404706f2543Smrg#define WGL_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF 405706f2543Smrg#endif 406706f2543Smrg 407706f2543Smrg#ifndef WGL_NV_copy_image 408706f2543Smrg#endif 409706f2543Smrg 410706f2543Smrg#ifndef WGL_NV_multisample_coverage 411706f2543Smrg#define WGL_COVERAGE_SAMPLES_NV 0x2042 412706f2543Smrg#define WGL_COLOR_SAMPLES_NV 0x20B9 413706f2543Smrg#endif 414706f2543Smrg 415706f2543Smrg#ifndef WGL_EXT_create_context_es2_profile 416706f2543Smrg#define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004 417706f2543Smrg#endif 418706f2543Smrg 419706f2543Smrg#ifndef WGL_NV_DX_interop 420706f2543Smrg#define WGL_ACCESS_READ_ONLY_NV 0x00000000 421706f2543Smrg#define WGL_ACCESS_READ_WRITE_NV 0x00000001 422706f2543Smrg#define WGL_ACCESS_WRITE_DISCARD_NV 0x00000002 423706f2543Smrg#endif 424706f2543Smrg 425706f2543Smrg 426706f2543Smrg/*************************************************************/ 427706f2543Smrg 428706f2543Smrg#ifndef WGL_ARB_pbuffer 429706f2543SmrgDECLARE_HANDLE(HPBUFFERARB); 430706f2543Smrg#endif 431706f2543Smrg#ifndef WGL_EXT_pbuffer 432706f2543SmrgDECLARE_HANDLE(HPBUFFEREXT); 433706f2543Smrg#endif 434706f2543Smrg#ifndef WGL_NV_present_video 435706f2543SmrgDECLARE_HANDLE(HVIDEOOUTPUTDEVICENV); 436706f2543Smrg#endif 437706f2543Smrg#ifndef WGL_NV_video_output 438706f2543SmrgDECLARE_HANDLE(HPVIDEODEV); 439706f2543Smrg#endif 440706f2543Smrg#ifndef WGL_NV_gpu_affinity 441706f2543SmrgDECLARE_HANDLE(HPGPUNV); 442706f2543SmrgDECLARE_HANDLE(HGPUNV); 443706f2543Smrg 444706f2543Smrgtypedef struct _GPU_DEVICE { 445706f2543Smrg DWORD cb; 446706f2543Smrg CHAR DeviceName[32]; 447706f2543Smrg CHAR DeviceString[128]; 448706f2543Smrg DWORD Flags; 449706f2543Smrg RECT rcVirtualScreen; 450706f2543Smrg} GPU_DEVICE, *PGPU_DEVICE; 451706f2543Smrg#endif 452706f2543Smrg#ifndef WGL_NV_video_capture 453706f2543SmrgDECLARE_HANDLE(HVIDEOINPUTDEVICENV); 454706f2543Smrg#endif 455706f2543Smrg 456706f2543Smrg#ifndef WGL_ARB_buffer_region 457706f2543Smrg#define WGL_ARB_buffer_region 1 458706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 459706f2543Smrgextern HANDLE WINAPI wglCreateBufferRegionARB (HDC hDC, int iLayerPlane, UINT uType); 460706f2543Smrgextern VOID WINAPI wglDeleteBufferRegionARB (HANDLE hRegion); 461706f2543Smrgextern BOOL WINAPI wglSaveBufferRegionARB (HANDLE hRegion, int x, int y, int width, int height); 462706f2543Smrgextern BOOL WINAPI wglRestoreBufferRegionARB (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc); 463706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 464706f2543Smrgtypedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType); 465706f2543Smrgtypedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion); 466706f2543Smrgtypedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height); 467706f2543Smrgtypedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc); 468706f2543Smrg#endif 469706f2543Smrg 470706f2543Smrg#ifndef WGL_ARB_multisample 471706f2543Smrg#define WGL_ARB_multisample 1 472706f2543Smrg#endif 473706f2543Smrg 474706f2543Smrg#ifndef WGL_ARB_extensions_string 475706f2543Smrg#define WGL_ARB_extensions_string 1 476706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 477706f2543Smrgextern const char * WINAPI wglGetExtensionsStringARB (HDC hdc); 478706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 479706f2543Smrgtypedef const char * (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc); 480706f2543Smrg#endif 481706f2543Smrg 482706f2543Smrg#ifndef WGL_ARB_pixel_format 483706f2543Smrg#define WGL_ARB_pixel_format 1 484706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 485706f2543Smrgextern BOOL WINAPI wglGetPixelFormatAttribivARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues); 486706f2543Smrgextern BOOL WINAPI wglGetPixelFormatAttribfvARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues); 487706f2543Smrgextern BOOL WINAPI wglChoosePixelFormatARB (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); 488706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 489706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues); 490706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues); 491706f2543Smrgtypedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); 492706f2543Smrg#endif 493706f2543Smrg 494706f2543Smrg#ifndef WGL_ARB_make_current_read 495706f2543Smrg#define WGL_ARB_make_current_read 1 496706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 497706f2543Smrgextern BOOL WINAPI wglMakeContextCurrentARB (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); 498706f2543Smrgextern HDC WINAPI wglGetCurrentReadDCARB (void); 499706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 500706f2543Smrgtypedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); 501706f2543Smrgtypedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (void); 502706f2543Smrg#endif 503706f2543Smrg 504706f2543Smrg#ifndef WGL_ARB_pbuffer 505706f2543Smrg#define WGL_ARB_pbuffer 1 506706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 507706f2543Smrgextern HPBUFFERARB WINAPI wglCreatePbufferARB (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList); 508706f2543Smrgextern HDC WINAPI wglGetPbufferDCARB (HPBUFFERARB hPbuffer); 509706f2543Smrgextern int WINAPI wglReleasePbufferDCARB (HPBUFFERARB hPbuffer, HDC hDC); 510706f2543Smrgextern BOOL WINAPI wglDestroyPbufferARB (HPBUFFERARB hPbuffer); 511706f2543Smrgextern BOOL WINAPI wglQueryPbufferARB (HPBUFFERARB hPbuffer, int iAttribute, int *piValue); 512706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 513706f2543Smrgtypedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList); 514706f2543Smrgtypedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer); 515706f2543Smrgtypedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC); 516706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer); 517706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue); 518706f2543Smrg#endif 519706f2543Smrg 520706f2543Smrg#ifndef WGL_ARB_render_texture 521706f2543Smrg#define WGL_ARB_render_texture 1 522706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 523706f2543Smrgextern BOOL WINAPI wglBindTexImageARB (HPBUFFERARB hPbuffer, int iBuffer); 524706f2543Smrgextern BOOL WINAPI wglReleaseTexImageARB (HPBUFFERARB hPbuffer, int iBuffer); 525706f2543Smrgextern BOOL WINAPI wglSetPbufferAttribARB (HPBUFFERARB hPbuffer, const int *piAttribList); 526706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 527706f2543Smrgtypedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); 528706f2543Smrgtypedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); 529706f2543Smrgtypedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int *piAttribList); 530706f2543Smrg#endif 531706f2543Smrg 532706f2543Smrg#ifndef WGL_ARB_pixel_format_float 533706f2543Smrg#define WGL_ARB_pixel_format_float 1 534706f2543Smrg#endif 535706f2543Smrg 536706f2543Smrg#ifndef WGL_ARB_framebuffer_sRGB 537706f2543Smrg#define WGL_ARB_framebuffer_sRGB 1 538706f2543Smrg#endif 539706f2543Smrg 540706f2543Smrg#ifndef WGL_ARB_create_context 541706f2543Smrg#define WGL_ARB_create_context 1 542706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 543706f2543Smrgextern HGLRC WINAPI wglCreateContextAttribsARB (HDC hDC, HGLRC hShareContext, const int *attribList); 544706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 545706f2543Smrgtypedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int *attribList); 546706f2543Smrg#endif 547706f2543Smrg 548706f2543Smrg#ifndef WGL_ARB_create_context_profile 549706f2543Smrg#define WGL_ARB_create_context_profile 1 550706f2543Smrg#endif 551706f2543Smrg 552706f2543Smrg#ifndef WGL_ARB_create_context_robustness 553706f2543Smrg#define WGL_ARB_create_context_robustness 1 554706f2543Smrg#endif 555706f2543Smrg 556706f2543Smrg#ifndef WGL_EXT_display_color_table 557706f2543Smrg#define WGL_EXT_display_color_table 1 558706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 559706f2543Smrgextern GLboolean WINAPI wglCreateDisplayColorTableEXT (GLushort id); 560706f2543Smrgextern GLboolean WINAPI wglLoadDisplayColorTableEXT (const GLushort *table, GLuint length); 561706f2543Smrgextern GLboolean WINAPI wglBindDisplayColorTableEXT (GLushort id); 562706f2543Smrgextern VOID WINAPI wglDestroyDisplayColorTableEXT (GLushort id); 563706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 564706f2543Smrgtypedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id); 565706f2543Smrgtypedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (const GLushort *table, GLuint length); 566706f2543Smrgtypedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id); 567706f2543Smrgtypedef VOID (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id); 568706f2543Smrg#endif 569706f2543Smrg 570706f2543Smrg#ifndef WGL_EXT_extensions_string 571706f2543Smrg#define WGL_EXT_extensions_string 1 572706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 573706f2543Smrgextern const char * WINAPI wglGetExtensionsStringEXT (void); 574706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 575706f2543Smrgtypedef const char * (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void); 576706f2543Smrg#endif 577706f2543Smrg 578706f2543Smrg#ifndef WGL_EXT_make_current_read 579706f2543Smrg#define WGL_EXT_make_current_read 1 580706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 581706f2543Smrgextern BOOL WINAPI wglMakeContextCurrentEXT (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); 582706f2543Smrgextern HDC WINAPI wglGetCurrentReadDCEXT (void); 583706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 584706f2543Smrgtypedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); 585706f2543Smrgtypedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (void); 586706f2543Smrg#endif 587706f2543Smrg 588706f2543Smrg#ifndef WGL_EXT_pbuffer 589706f2543Smrg#define WGL_EXT_pbuffer 1 590706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 591706f2543Smrgextern HPBUFFEREXT WINAPI wglCreatePbufferEXT (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList); 592706f2543Smrgextern HDC WINAPI wglGetPbufferDCEXT (HPBUFFEREXT hPbuffer); 593706f2543Smrgextern int WINAPI wglReleasePbufferDCEXT (HPBUFFEREXT hPbuffer, HDC hDC); 594706f2543Smrgextern BOOL WINAPI wglDestroyPbufferEXT (HPBUFFEREXT hPbuffer); 595706f2543Smrgextern BOOL WINAPI wglQueryPbufferEXT (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue); 596706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 597706f2543Smrgtypedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList); 598706f2543Smrgtypedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer); 599706f2543Smrgtypedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC); 600706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer); 601706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue); 602706f2543Smrg#endif 603706f2543Smrg 604706f2543Smrg#ifndef WGL_EXT_pixel_format 605706f2543Smrg#define WGL_EXT_pixel_format 1 606706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 607706f2543Smrgextern BOOL WINAPI wglGetPixelFormatAttribivEXT (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues); 608706f2543Smrgextern BOOL WINAPI wglGetPixelFormatAttribfvEXT (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues); 609706f2543Smrgextern BOOL WINAPI wglChoosePixelFormatEXT (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); 610706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 611706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues); 612706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues); 613706f2543Smrgtypedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); 614706f2543Smrg#endif 615706f2543Smrg 616706f2543Smrg#ifndef WGL_EXT_swap_control 617706f2543Smrg#define WGL_EXT_swap_control 1 618706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 619706f2543Smrgextern BOOL WINAPI wglSwapIntervalEXT (int interval); 620706f2543Smrgextern int WINAPI wglGetSwapIntervalEXT (void); 621706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 622706f2543Smrgtypedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval); 623706f2543Smrgtypedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void); 624706f2543Smrg#endif 625706f2543Smrg 626706f2543Smrg#ifndef WGL_EXT_depth_float 627706f2543Smrg#define WGL_EXT_depth_float 1 628706f2543Smrg#endif 629706f2543Smrg 630706f2543Smrg#ifndef WGL_NV_vertex_array_range 631706f2543Smrg#define WGL_NV_vertex_array_range 1 632706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 633706f2543Smrgextern void* WINAPI wglAllocateMemoryNV (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority); 634706f2543Smrgextern void WINAPI wglFreeMemoryNV (void *pointer); 635706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 636706f2543Smrgtypedef void* (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority); 637706f2543Smrgtypedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer); 638706f2543Smrg#endif 639706f2543Smrg 640706f2543Smrg#ifndef WGL_3DFX_multisample 641706f2543Smrg#define WGL_3DFX_multisample 1 642706f2543Smrg#endif 643706f2543Smrg 644706f2543Smrg#ifndef WGL_EXT_multisample 645706f2543Smrg#define WGL_EXT_multisample 1 646706f2543Smrg#endif 647706f2543Smrg 648706f2543Smrg#ifndef WGL_OML_sync_control 649706f2543Smrg#define WGL_OML_sync_control 1 650706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 651706f2543Smrgextern BOOL WINAPI wglGetSyncValuesOML (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc); 652706f2543Smrgextern BOOL WINAPI wglGetMscRateOML (HDC hdc, INT32 *numerator, INT32 *denominator); 653706f2543Smrgextern INT64 WINAPI wglSwapBuffersMscOML (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder); 654706f2543Smrgextern INT64 WINAPI wglSwapLayerBuffersMscOML (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder); 655706f2543Smrgextern BOOL WINAPI wglWaitForMscOML (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc); 656706f2543Smrgextern BOOL WINAPI wglWaitForSbcOML (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc); 657706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 658706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc); 659706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32 *numerator, INT32 *denominator); 660706f2543Smrgtypedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder); 661706f2543Smrgtypedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder); 662706f2543Smrgtypedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc); 663706f2543Smrgtypedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc); 664706f2543Smrg#endif 665706f2543Smrg 666706f2543Smrg#ifndef WGL_I3D_digital_video_control 667706f2543Smrg#define WGL_I3D_digital_video_control 1 668706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 669706f2543Smrgextern BOOL WINAPI wglGetDigitalVideoParametersI3D (HDC hDC, int iAttribute, int *piValue); 670706f2543Smrgextern BOOL WINAPI wglSetDigitalVideoParametersI3D (HDC hDC, int iAttribute, const int *piValue); 671706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 672706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue); 673706f2543Smrgtypedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue); 674706f2543Smrg#endif 675706f2543Smrg 676706f2543Smrg#ifndef WGL_I3D_gamma 677706f2543Smrg#define WGL_I3D_gamma 1 678706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 679706f2543Smrgextern BOOL WINAPI wglGetGammaTableParametersI3D (HDC hDC, int iAttribute, int *piValue); 680706f2543Smrgextern BOOL WINAPI wglSetGammaTableParametersI3D (HDC hDC, int iAttribute, const int *piValue); 681706f2543Smrgextern BOOL WINAPI wglGetGammaTableI3D (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue); 682706f2543Smrgextern BOOL WINAPI wglSetGammaTableI3D (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue); 683706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 684706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue); 685706f2543Smrgtypedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue); 686706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue); 687706f2543Smrgtypedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue); 688706f2543Smrg#endif 689706f2543Smrg 690706f2543Smrg#ifndef WGL_I3D_genlock 691706f2543Smrg#define WGL_I3D_genlock 1 692706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 693706f2543Smrgextern BOOL WINAPI wglEnableGenlockI3D (HDC hDC); 694706f2543Smrgextern BOOL WINAPI wglDisableGenlockI3D (HDC hDC); 695706f2543Smrgextern BOOL WINAPI wglIsEnabledGenlockI3D (HDC hDC, BOOL *pFlag); 696706f2543Smrgextern BOOL WINAPI wglGenlockSourceI3D (HDC hDC, UINT uSource); 697706f2543Smrgextern BOOL WINAPI wglGetGenlockSourceI3D (HDC hDC, UINT *uSource); 698706f2543Smrgextern BOOL WINAPI wglGenlockSourceEdgeI3D (HDC hDC, UINT uEdge); 699706f2543Smrgextern BOOL WINAPI wglGetGenlockSourceEdgeI3D (HDC hDC, UINT *uEdge); 700706f2543Smrgextern BOOL WINAPI wglGenlockSampleRateI3D (HDC hDC, UINT uRate); 701706f2543Smrgextern BOOL WINAPI wglGetGenlockSampleRateI3D (HDC hDC, UINT *uRate); 702706f2543Smrgextern BOOL WINAPI wglGenlockSourceDelayI3D (HDC hDC, UINT uDelay); 703706f2543Smrgextern BOOL WINAPI wglGetGenlockSourceDelayI3D (HDC hDC, UINT *uDelay); 704706f2543Smrgextern BOOL WINAPI wglQueryGenlockMaxSourceDelayI3D (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay); 705706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 706706f2543Smrgtypedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC); 707706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC); 708706f2543Smrgtypedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL *pFlag); 709706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource); 710706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT *uSource); 711706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge); 712706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT *uEdge); 713706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate); 714706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT *uRate); 715706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay); 716706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT *uDelay); 717706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay); 718706f2543Smrg#endif 719706f2543Smrg 720706f2543Smrg#ifndef WGL_I3D_image_buffer 721706f2543Smrg#define WGL_I3D_image_buffer 1 722706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 723706f2543Smrgextern LPVOID WINAPI wglCreateImageBufferI3D (HDC hDC, DWORD dwSize, UINT uFlags); 724706f2543Smrgextern BOOL WINAPI wglDestroyImageBufferI3D (HDC hDC, LPVOID pAddress); 725706f2543Smrgextern BOOL WINAPI wglAssociateImageBufferEventsI3D (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count); 726706f2543Smrgextern BOOL WINAPI wglReleaseImageBufferEventsI3D (HDC hDC, const LPVOID *pAddress, UINT count); 727706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 728706f2543Smrgtypedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags); 729706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress); 730706f2543Smrgtypedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count); 731706f2543Smrgtypedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const LPVOID *pAddress, UINT count); 732706f2543Smrg#endif 733706f2543Smrg 734706f2543Smrg#ifndef WGL_I3D_swap_frame_lock 735706f2543Smrg#define WGL_I3D_swap_frame_lock 1 736706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 737706f2543Smrgextern BOOL WINAPI wglEnableFrameLockI3D (void); 738706f2543Smrgextern BOOL WINAPI wglDisableFrameLockI3D (void); 739706f2543Smrgextern BOOL WINAPI wglIsEnabledFrameLockI3D (BOOL *pFlag); 740706f2543Smrgextern BOOL WINAPI wglQueryFrameLockMasterI3D (BOOL *pFlag); 741706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 742706f2543Smrgtypedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (void); 743706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (void); 744706f2543Smrgtypedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL *pFlag); 745706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL *pFlag); 746706f2543Smrg#endif 747706f2543Smrg 748706f2543Smrg#ifndef WGL_I3D_swap_frame_usage 749706f2543Smrg#define WGL_I3D_swap_frame_usage 1 750706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 751706f2543Smrgextern BOOL WINAPI wglGetFrameUsageI3D (float *pUsage); 752706f2543Smrgextern BOOL WINAPI wglBeginFrameTrackingI3D (void); 753706f2543Smrgextern BOOL WINAPI wglEndFrameTrackingI3D (void); 754706f2543Smrgextern BOOL WINAPI wglQueryFrameTrackingI3D (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage); 755706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 756706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float *pUsage); 757706f2543Smrgtypedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void); 758706f2543Smrgtypedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void); 759706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage); 760706f2543Smrg#endif 761706f2543Smrg 762706f2543Smrg#ifndef WGL_ATI_pixel_format_float 763706f2543Smrg#define WGL_ATI_pixel_format_float 1 764706f2543Smrg#endif 765706f2543Smrg 766706f2543Smrg#ifndef WGL_NV_float_buffer 767706f2543Smrg#define WGL_NV_float_buffer 1 768706f2543Smrg#endif 769706f2543Smrg 770706f2543Smrg#ifndef WGL_3DL_stereo_control 771706f2543Smrg#define WGL_3DL_stereo_control 1 772706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 773706f2543Smrgextern BOOL WINAPI wglSetStereoEmitterState3DL (HDC hDC, UINT uState); 774706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 775706f2543Smrgtypedef BOOL (WINAPI * PFNWGLSETSTEREOEMITTERSTATE3DLPROC) (HDC hDC, UINT uState); 776706f2543Smrg#endif 777706f2543Smrg 778706f2543Smrg#ifndef WGL_EXT_pixel_format_packed_float 779706f2543Smrg#define WGL_EXT_pixel_format_packed_float 1 780706f2543Smrg#endif 781706f2543Smrg 782706f2543Smrg#ifndef WGL_EXT_framebuffer_sRGB 783706f2543Smrg#define WGL_EXT_framebuffer_sRGB 1 784706f2543Smrg#endif 785706f2543Smrg 786706f2543Smrg#ifndef WGL_NV_present_video 787706f2543Smrg#define WGL_NV_present_video 1 788706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 789706f2543Smrgextern int WINAPI wglEnumerateVideoDevicesNV (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList); 790706f2543Smrgextern BOOL WINAPI wglBindVideoDeviceNV (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList); 791706f2543Smrgextern BOOL WINAPI wglQueryCurrentContextNV (int iAttribute, int *piValue); 792706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 793706f2543Smrgtypedef int (WINAPI * PFNWGLENUMERATEVIDEODEVICESNVPROC) (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList); 794706f2543Smrgtypedef BOOL (WINAPI * PFNWGLBINDVIDEODEVICENVPROC) (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList); 795706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int *piValue); 796706f2543Smrg#endif 797706f2543Smrg 798706f2543Smrg#ifndef WGL_NV_video_output 799706f2543Smrg#define WGL_NV_video_output 1 800706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 801706f2543Smrgextern BOOL WINAPI wglGetVideoDeviceNV (HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice); 802706f2543Smrgextern BOOL WINAPI wglReleaseVideoDeviceNV (HPVIDEODEV hVideoDevice); 803706f2543Smrgextern BOOL WINAPI wglBindVideoImageNV (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer); 804706f2543Smrgextern BOOL WINAPI wglReleaseVideoImageNV (HPBUFFERARB hPbuffer, int iVideoBuffer); 805706f2543Smrgextern BOOL WINAPI wglSendPbufferToVideoNV (HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock); 806706f2543Smrgextern BOOL WINAPI wglGetVideoInfoNV (HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo); 807706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 808706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice); 809706f2543Smrgtypedef BOOL (WINAPI * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice); 810706f2543Smrgtypedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer); 811706f2543Smrgtypedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer); 812706f2543Smrgtypedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock); 813706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo); 814706f2543Smrg#endif 815706f2543Smrg 816706f2543Smrg#ifndef WGL_NV_swap_group 817706f2543Smrg#define WGL_NV_swap_group 1 818706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 819706f2543Smrgextern BOOL WINAPI wglJoinSwapGroupNV (HDC hDC, GLuint group); 820706f2543Smrgextern BOOL WINAPI wglBindSwapBarrierNV (GLuint group, GLuint barrier); 821706f2543Smrgextern BOOL WINAPI wglQuerySwapGroupNV (HDC hDC, GLuint *group, GLuint *barrier); 822706f2543Smrgextern BOOL WINAPI wglQueryMaxSwapGroupsNV (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers); 823706f2543Smrgextern BOOL WINAPI wglQueryFrameCountNV (HDC hDC, GLuint *count); 824706f2543Smrgextern BOOL WINAPI wglResetFrameCountNV (HDC hDC); 825706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 826706f2543Smrgtypedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group); 827706f2543Smrgtypedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier); 828706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint *group, GLuint *barrier); 829706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers); 830706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint *count); 831706f2543Smrgtypedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC); 832706f2543Smrg#endif 833706f2543Smrg 834706f2543Smrg#ifndef WGL_NV_gpu_affinity 835706f2543Smrg#define WGL_NV_gpu_affinity 1 836706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 837706f2543Smrgextern BOOL WINAPI wglEnumGpusNV (UINT iGpuIndex, HGPUNV *phGpu); 838706f2543Smrgextern BOOL WINAPI wglEnumGpuDevicesNV (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice); 839706f2543Smrgextern HDC WINAPI wglCreateAffinityDCNV (const HGPUNV *phGpuList); 840706f2543Smrgextern BOOL WINAPI wglEnumGpusFromAffinityDCNV (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu); 841706f2543Smrgextern BOOL WINAPI wglDeleteDCNV (HDC hdc); 842706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 843706f2543Smrgtypedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu); 844706f2543Smrgtypedef BOOL (WINAPI * PFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice); 845706f2543Smrgtypedef HDC (WINAPI * PFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV *phGpuList); 846706f2543Smrgtypedef BOOL (WINAPI * PFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu); 847706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDELETEDCNVPROC) (HDC hdc); 848706f2543Smrg#endif 849706f2543Smrg 850706f2543Smrg#ifndef WGL_AMD_gpu_association 851706f2543Smrg#define WGL_AMD_gpu_association 1 852706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 853706f2543Smrgextern UINT WINAPI wglGetGPUIDsAMD (UINT maxCount, UINT *ids); 854706f2543Smrgextern INT WINAPI wglGetGPUInfoAMD (UINT id, int property, GLenum dataType, UINT size, void *data); 855706f2543Smrgextern UINT WINAPI wglGetContextGPUIDAMD (HGLRC hglrc); 856706f2543Smrgextern HGLRC WINAPI wglCreateAssociatedContextAMD (UINT id); 857706f2543Smrgextern HGLRC WINAPI wglCreateAssociatedContextAttribsAMD (UINT id, HGLRC hShareContext, const int *attribList); 858706f2543Smrgextern BOOL WINAPI wglDeleteAssociatedContextAMD (HGLRC hglrc); 859706f2543Smrgextern BOOL WINAPI wglMakeAssociatedContextCurrentAMD (HGLRC hglrc); 860706f2543Smrgextern HGLRC WINAPI wglGetCurrentAssociatedContextAMD (void); 861706f2543Smrgextern VOID WINAPI wglBlitContextFramebufferAMD (HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 862706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 863706f2543Smrgtypedef UINT (WINAPI * PFNWGLGETGPUIDSAMDPROC) (UINT maxCount, UINT *ids); 864706f2543Smrgtypedef INT (WINAPI * PFNWGLGETGPUINFOAMDPROC) (UINT id, int property, GLenum dataType, UINT size, void *data); 865706f2543Smrgtypedef UINT (WINAPI * PFNWGLGETCONTEXTGPUIDAMDPROC) (HGLRC hglrc); 866706f2543Smrgtypedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC) (UINT id); 867706f2543Smrgtypedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) (UINT id, HGLRC hShareContext, const int *attribList); 868706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC) (HGLRC hglrc); 869706f2543Smrgtypedef BOOL (WINAPI * PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (HGLRC hglrc); 870706f2543Smrgtypedef HGLRC (WINAPI * PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC) (void); 871706f2543Smrgtypedef 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); 872706f2543Smrg#endif 873706f2543Smrg 874706f2543Smrg#ifndef WGL_NV_video_capture 875706f2543Smrg#define WGL_NV_video_capture 1 876706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 877706f2543Smrgextern BOOL WINAPI wglBindVideoCaptureDeviceNV (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice); 878706f2543Smrgextern UINT WINAPI wglEnumerateVideoCaptureDevicesNV (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList); 879706f2543Smrgextern BOOL WINAPI wglLockVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice); 880706f2543Smrgextern BOOL WINAPI wglQueryVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue); 881706f2543Smrgextern BOOL WINAPI wglReleaseVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice); 882706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 883706f2543Smrgtypedef BOOL (WINAPI * PFNWGLBINDVIDEOCAPTUREDEVICENVPROC) (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice); 884706f2543Smrgtypedef UINT (WINAPI * PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC) (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList); 885706f2543Smrgtypedef BOOL (WINAPI * PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice); 886706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue); 887706f2543Smrgtypedef BOOL (WINAPI * PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice); 888706f2543Smrg#endif 889706f2543Smrg 890706f2543Smrg#ifndef WGL_NV_copy_image 891706f2543Smrg#define WGL_NV_copy_image 1 892706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 893706f2543Smrgextern BOOL WINAPI wglCopyImageSubDataNV (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); 894706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 895706f2543Smrgtypedef 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); 896706f2543Smrg#endif 897706f2543Smrg 898706f2543Smrg#ifndef WGL_NV_multisample_coverage 899706f2543Smrg#define WGL_NV_multisample_coverage 1 900706f2543Smrg#endif 901706f2543Smrg 902706f2543Smrg#ifndef WGL_NV_DX_interop 903706f2543Smrg#define WGL_NV_DX_interop 1 904706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES 905706f2543Smrgextern BOOL WINAPI wglDXSetResourceShareHandleNV (void *dxObject, HANDLE shareHandle); 906706f2543Smrgextern HANDLE WINAPI wglDXOpenDeviceNV (void *dxDevice); 907706f2543Smrgextern BOOL WINAPI wglDXCloseDeviceNV (HANDLE hDevice); 908706f2543Smrgextern HANDLE WINAPI wglDXRegisterObjectNV (HANDLE hDevice, void *dxObject, GLuint name, GLenum type, GLenum access); 909706f2543Smrgextern BOOL WINAPI wglDXUnregisterObjectNV (HANDLE hDevice, HANDLE hObject); 910706f2543Smrgextern BOOL WINAPI wglDXObjectAccessNV (HANDLE hObject, GLenum access); 911706f2543Smrgextern BOOL WINAPI wglDXLockObjectsNV (HANDLE hDevice, GLint count, HANDLE *hObjects); 912706f2543Smrgextern BOOL WINAPI wglDXUnlockObjectsNV (HANDLE hDevice, GLint count, HANDLE *hObjects); 913706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */ 914706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDXSETRESOURCESHAREHANDLENVPROC) (void *dxObject, HANDLE shareHandle); 915706f2543Smrgtypedef HANDLE (WINAPI * PFNWGLDXOPENDEVICENVPROC) (void *dxDevice); 916706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDXCLOSEDEVICENVPROC) (HANDLE hDevice); 917706f2543Smrgtypedef HANDLE (WINAPI * PFNWGLDXREGISTEROBJECTNVPROC) (HANDLE hDevice, void *dxObject, GLuint name, GLenum type, GLenum access); 918706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDXUNREGISTEROBJECTNVPROC) (HANDLE hDevice, HANDLE hObject); 919706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDXOBJECTACCESSNVPROC) (HANDLE hObject, GLenum access); 920706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDXLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE *hObjects); 921706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDXUNLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE *hObjects); 922706f2543Smrg#endif 923706f2543Smrg 924706f2543Smrg 925706f2543Smrg#ifdef __cplusplus 926706f2543Smrg} 927706f2543Smrg#endif 928706f2543Smrg 929706f2543Smrg#endif 930