1 #ifndef __wgl_wgl_h_ 2 #define __wgl_wgl_h_ 1 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 /* 9 ** Copyright (c) 2013-2018 The Khronos Group Inc. 10 ** 11 ** Permission is hereby granted, free of charge, to any person obtaining a 12 ** copy of this software and/or associated documentation files (the 13 ** "Materials"), to deal in the Materials without restriction, including 14 ** without limitation the rights to use, copy, modify, merge, publish, 15 ** distribute, sublicense, and/or sell copies of the Materials, and to 16 ** permit persons to whom the Materials are furnished to do so, subject to 17 ** the following conditions: 18 ** 19 ** The above copyright notice and this permission notice shall be included 20 ** in all copies or substantial portions of the Materials. 21 ** 22 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 23 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 24 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 25 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 26 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 27 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 28 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 29 */ 30 /* 31 ** This header is generated from the Khronos OpenGL / OpenGL ES XML 32 ** API Registry. The current version of the Registry, generator scripts 33 ** used to make the header, and the header can be found at 34 ** https://github.com/KhronosGroup/OpenGL-Registry 35 */ 36 37 #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) 38 #define WIN32_LEAN_AND_MEAN 1 39 #include <windows.h> 40 #endif 41 42 /* Generated on date 20181206 */ 43 44 /* Generated C header for: 45 * API: wgl 46 * Versions considered: .* 47 * Versions emitted: .* 48 * Default extensions included: wgl 49 * Additional extensions included: _nomatch_^ 50 * Extensions removed: _nomatch_^ 51 */ 52 53 #ifndef WGL_VERSION_1_0 54 #define WGL_VERSION_1_0 1 55 #define WGL_FONT_LINES 0 56 #define WGL_FONT_POLYGONS 1 57 #define WGL_SWAP_MAIN_PLANE 0x00000001 58 #define WGL_SWAP_OVERLAY1 0x00000002 59 #define WGL_SWAP_OVERLAY2 0x00000004 60 #define WGL_SWAP_OVERLAY3 0x00000008 61 #define WGL_SWAP_OVERLAY4 0x00000010 62 #define WGL_SWAP_OVERLAY5 0x00000020 63 #define WGL_SWAP_OVERLAY6 0x00000040 64 #define WGL_SWAP_OVERLAY7 0x00000080 65 #define WGL_SWAP_OVERLAY8 0x00000100 66 #define WGL_SWAP_OVERLAY9 0x00000200 67 #define WGL_SWAP_OVERLAY10 0x00000400 68 #define WGL_SWAP_OVERLAY11 0x00000800 69 #define WGL_SWAP_OVERLAY12 0x00001000 70 #define WGL_SWAP_OVERLAY13 0x00002000 71 #define WGL_SWAP_OVERLAY14 0x00004000 72 #define WGL_SWAP_OVERLAY15 0x00008000 73 #define WGL_SWAP_UNDERLAY1 0x00010000 74 #define WGL_SWAP_UNDERLAY2 0x00020000 75 #define WGL_SWAP_UNDERLAY3 0x00040000 76 #define WGL_SWAP_UNDERLAY4 0x00080000 77 #define WGL_SWAP_UNDERLAY5 0x00100000 78 #define WGL_SWAP_UNDERLAY6 0x00200000 79 #define WGL_SWAP_UNDERLAY7 0x00400000 80 #define WGL_SWAP_UNDERLAY8 0x00800000 81 #define WGL_SWAP_UNDERLAY9 0x01000000 82 #define WGL_SWAP_UNDERLAY10 0x02000000 83 #define WGL_SWAP_UNDERLAY11 0x04000000 84 #define WGL_SWAP_UNDERLAY12 0x08000000 85 #define WGL_SWAP_UNDERLAY13 0x10000000 86 #define WGL_SWAP_UNDERLAY14 0x20000000 87 #define WGL_SWAP_UNDERLAY15 0x40000000 88 typedef int (WINAPI * PFNCHOOSEPIXELFORMATPROC) (HDC hDc, const PIXELFORMATDESCRIPTOR *pPfd); 89 typedef int (WINAPI * PFNDESCRIBEPIXELFORMATPROC) (HDC hdc, int ipfd, UINT cjpfd, const PIXELFORMATDESCRIPTOR *ppfd); 90 typedef UINT (WINAPI * PFNGETENHMETAFILEPIXELFORMATPROC) (HENHMETAFILE hemf, const PIXELFORMATDESCRIPTOR *ppfd); 91 typedef int (WINAPI * PFNGETPIXELFORMATPROC) (HDC hdc); 92 typedef BOOL (WINAPI * PFNSETPIXELFORMATPROC) (HDC hdc, int ipfd, const PIXELFORMATDESCRIPTOR *ppfd); 93 typedef BOOL (WINAPI * PFNSWAPBUFFERSPROC) (HDC hdc); 94 typedef BOOL (WINAPI * PFNWGLCOPYCONTEXTPROC) (HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask); 95 typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTPROC) (HDC hDc); 96 typedef HGLRC (WINAPI * PFNWGLCREATELAYERCONTEXTPROC) (HDC hDc, int level); 97 typedef BOOL (WINAPI * PFNWGLDELETECONTEXTPROC) (HGLRC oldContext); 98 typedef BOOL (WINAPI * PFNWGLDESCRIBELAYERPLANEPROC) (HDC hDc, int pixelFormat, int layerPlane, UINT nBytes, const LAYERPLANEDESCRIPTOR *plpd); 99 typedef HGLRC (WINAPI * PFNWGLGETCURRENTCONTEXTPROC) (void); 100 typedef HDC (WINAPI * PFNWGLGETCURRENTDCPROC) (void); 101 typedef int (WINAPI * PFNWGLGETLAYERPALETTEENTRIESPROC) (HDC hdc, int iLayerPlane, int iStart, int cEntries, const COLORREF *pcr); 102 typedef PROC (WINAPI * PFNWGLGETPROCADDRESSPROC) (LPCSTR lpszProc); 103 typedef BOOL (WINAPI * PFNWGLMAKECURRENTPROC) (HDC hDc, HGLRC newContext); 104 typedef BOOL (WINAPI * PFNWGLREALIZELAYERPALETTEPROC) (HDC hdc, int iLayerPlane, BOOL bRealize); 105 typedef int (WINAPI * PFNWGLSETLAYERPALETTEENTRIESPROC) (HDC hdc, int iLayerPlane, int iStart, int cEntries, const COLORREF *pcr); 106 typedef BOOL (WINAPI * PFNWGLSHARELISTSPROC) (HGLRC hrcSrvShare, HGLRC hrcSrvSource); 107 typedef BOOL (WINAPI * PFNWGLSWAPLAYERBUFFERSPROC) (HDC hdc, UINT fuFlags); 108 typedef BOOL (WINAPI * PFNWGLUSEFONTBITMAPSPROC) (HDC hDC, DWORD first, DWORD count, DWORD listBase); 109 typedef BOOL (WINAPI * PFNWGLUSEFONTBITMAPSAPROC) (HDC hDC, DWORD first, DWORD count, DWORD listBase); 110 typedef BOOL (WINAPI * PFNWGLUSEFONTBITMAPSWPROC) (HDC hDC, DWORD first, DWORD count, DWORD listBase); 111 typedef BOOL (WINAPI * PFNWGLUSEFONTOUTLINESPROC) (HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf); 112 typedef BOOL (WINAPI * PFNWGLUSEFONTOUTLINESAPROC) (HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf); 113 typedef BOOL (WINAPI * PFNWGLUSEFONTOUTLINESWPROC) (HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf); 114 #ifdef WGL_WGLEXT_PROTOTYPES 115 int WINAPI ChoosePixelFormat (HDC hDc, const PIXELFORMATDESCRIPTOR *pPfd); 116 int WINAPI DescribePixelFormat (HDC hdc, int ipfd, UINT cjpfd, const PIXELFORMATDESCRIPTOR *ppfd); 117 UINT WINAPI GetEnhMetaFilePixelFormat (HENHMETAFILE hemf, const PIXELFORMATDESCRIPTOR *ppfd); 118 int WINAPI GetPixelFormat (HDC hdc); 119 BOOL WINAPI SetPixelFormat (HDC hdc, int ipfd, const PIXELFORMATDESCRIPTOR *ppfd); 120 BOOL WINAPI SwapBuffers (HDC hdc); 121 BOOL WINAPI wglCopyContext (HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask); 122 HGLRC WINAPI wglCreateContext (HDC hDc); 123 HGLRC WINAPI wglCreateLayerContext (HDC hDc, int level); 124 BOOL WINAPI wglDeleteContext (HGLRC oldContext); 125 BOOL WINAPI wglDescribeLayerPlane (HDC hDc, int pixelFormat, int layerPlane, UINT nBytes, const LAYERPLANEDESCRIPTOR *plpd); 126 HGLRC WINAPI wglGetCurrentContext (void); 127 HDC WINAPI wglGetCurrentDC (void); 128 int WINAPI wglGetLayerPaletteEntries (HDC hdc, int iLayerPlane, int iStart, int cEntries, const COLORREF *pcr); 129 PROC WINAPI wglGetProcAddress (LPCSTR lpszProc); 130 BOOL WINAPI wglMakeCurrent (HDC hDc, HGLRC newContext); 131 BOOL WINAPI wglRealizeLayerPalette (HDC hdc, int iLayerPlane, BOOL bRealize); 132 int WINAPI wglSetLayerPaletteEntries (HDC hdc, int iLayerPlane, int iStart, int cEntries, const COLORREF *pcr); 133 BOOL WINAPI wglShareLists (HGLRC hrcSrvShare, HGLRC hrcSrvSource); 134 BOOL WINAPI wglSwapLayerBuffers (HDC hdc, UINT fuFlags); 135 BOOL WINAPI wglUseFontBitmaps (HDC hDC, DWORD first, DWORD count, DWORD listBase); 136 BOOL WINAPI wglUseFontBitmapsA (HDC hDC, DWORD first, DWORD count, DWORD listBase); 137 BOOL WINAPI wglUseFontBitmapsW (HDC hDC, DWORD first, DWORD count, DWORD listBase); 138 BOOL WINAPI wglUseFontOutlines (HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf); 139 BOOL WINAPI wglUseFontOutlinesA (HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf); 140 BOOL WINAPI wglUseFontOutlinesW (HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf); 141 #endif 142 #endif /* WGL_VERSION_1_0 */ 143 144 #ifndef WGL_ARB_buffer_region 145 #define WGL_ARB_buffer_region 1 146 #define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001 147 #define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002 148 #define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004 149 #define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008 150 typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType); 151 typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion); 152 typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height); 153 typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc); 154 #ifdef WGL_WGLEXT_PROTOTYPES 155 HANDLE WINAPI wglCreateBufferRegionARB (HDC hDC, int iLayerPlane, UINT uType); 156 VOID WINAPI wglDeleteBufferRegionARB (HANDLE hRegion); 157 BOOL WINAPI wglSaveBufferRegionARB (HANDLE hRegion, int x, int y, int width, int height); 158 BOOL WINAPI wglRestoreBufferRegionARB (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc); 159 #endif 160 #endif /* WGL_ARB_buffer_region */ 161 162 #ifndef WGL_ARB_context_flush_control 163 #define WGL_ARB_context_flush_control 1 164 #define WGL_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097 165 #define WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0 166 #define WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098 167 #endif /* WGL_ARB_context_flush_control */ 168 169 #ifndef WGL_ARB_create_context 170 #define WGL_ARB_create_context 1 171 #define WGL_CONTEXT_DEBUG_BIT_ARB 0x00000001 172 #define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002 173 #define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091 174 #define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092 175 #define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093 176 #define WGL_CONTEXT_FLAGS_ARB 0x2094 177 #define ERROR_INVALID_VERSION_ARB 0x2095 178 typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int *attribList); 179 #ifdef WGL_WGLEXT_PROTOTYPES 180 HGLRC WINAPI wglCreateContextAttribsARB (HDC hDC, HGLRC hShareContext, const int *attribList); 181 #endif 182 #endif /* WGL_ARB_create_context */ 183 184 #ifndef WGL_ARB_create_context_no_error 185 #define WGL_ARB_create_context_no_error 1 186 #define WGL_CONTEXT_OPENGL_NO_ERROR_ARB 0x31B3 187 #endif /* WGL_ARB_create_context_no_error */ 188 189 #ifndef WGL_ARB_create_context_profile 190 #define WGL_ARB_create_context_profile 1 191 #define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126 192 #define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001 193 #define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002 194 #define ERROR_INVALID_PROFILE_ARB 0x2096 195 #endif /* WGL_ARB_create_context_profile */ 196 197 #ifndef WGL_ARB_create_context_robustness 198 #define WGL_ARB_create_context_robustness 1 199 #define WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004 200 #define WGL_LOSE_CONTEXT_ON_RESET_ARB 0x8252 201 #define WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 202 #define WGL_NO_RESET_NOTIFICATION_ARB 0x8261 203 #endif /* WGL_ARB_create_context_robustness */ 204 205 #ifndef WGL_ARB_extensions_string 206 #define WGL_ARB_extensions_string 1 207 typedef const char *(WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc); 208 #ifdef WGL_WGLEXT_PROTOTYPES 209 const char *WINAPI wglGetExtensionsStringARB (HDC hdc); 210 #endif 211 #endif /* WGL_ARB_extensions_string */ 212 213 #ifndef WGL_ARB_framebuffer_sRGB 214 #define WGL_ARB_framebuffer_sRGB 1 215 #define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9 216 #endif /* WGL_ARB_framebuffer_sRGB */ 217 218 #ifndef WGL_ARB_make_current_read 219 #define WGL_ARB_make_current_read 1 220 #define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043 221 #define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054 222 typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); 223 typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (void); 224 #ifdef WGL_WGLEXT_PROTOTYPES 225 BOOL WINAPI wglMakeContextCurrentARB (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); 226 HDC WINAPI wglGetCurrentReadDCARB (void); 227 #endif 228 #endif /* WGL_ARB_make_current_read */ 229 230 #ifndef WGL_ARB_multisample 231 #define WGL_ARB_multisample 1 232 #define WGL_SAMPLE_BUFFERS_ARB 0x2041 233 #define WGL_SAMPLES_ARB 0x2042 234 #endif /* WGL_ARB_multisample */ 235 236 #ifndef WGL_ARB_pbuffer 237 #define WGL_ARB_pbuffer 1 238 DECLARE_HANDLE(HPBUFFERARB); 239 #define WGL_DRAW_TO_PBUFFER_ARB 0x202D 240 #define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E 241 #define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F 242 #define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030 243 #define WGL_PBUFFER_LARGEST_ARB 0x2033 244 #define WGL_PBUFFER_WIDTH_ARB 0x2034 245 #define WGL_PBUFFER_HEIGHT_ARB 0x2035 246 #define WGL_PBUFFER_LOST_ARB 0x2036 247 typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList); 248 typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer); 249 typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC); 250 typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer); 251 typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue); 252 #ifdef WGL_WGLEXT_PROTOTYPES 253 HPBUFFERARB WINAPI wglCreatePbufferARB (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList); 254 HDC WINAPI wglGetPbufferDCARB (HPBUFFERARB hPbuffer); 255 int WINAPI wglReleasePbufferDCARB (HPBUFFERARB hPbuffer, HDC hDC); 256 BOOL WINAPI wglDestroyPbufferARB (HPBUFFERARB hPbuffer); 257 BOOL WINAPI wglQueryPbufferARB (HPBUFFERARB hPbuffer, int iAttribute, int *piValue); 258 #endif 259 #endif /* WGL_ARB_pbuffer */ 260 261 #ifndef WGL_ARB_pixel_format 262 #define WGL_ARB_pixel_format 1 263 #define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000 264 #define WGL_DRAW_TO_WINDOW_ARB 0x2001 265 #define WGL_DRAW_TO_BITMAP_ARB 0x2002 266 #define WGL_ACCELERATION_ARB 0x2003 267 #define WGL_NEED_PALETTE_ARB 0x2004 268 #define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005 269 #define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006 270 #define WGL_SWAP_METHOD_ARB 0x2007 271 #define WGL_NUMBER_OVERLAYS_ARB 0x2008 272 #define WGL_NUMBER_UNDERLAYS_ARB 0x2009 273 #define WGL_TRANSPARENT_ARB 0x200A 274 #define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037 275 #define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038 276 #define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039 277 #define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A 278 #define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B 279 #define WGL_SHARE_DEPTH_ARB 0x200C 280 #define WGL_SHARE_STENCIL_ARB 0x200D 281 #define WGL_SHARE_ACCUM_ARB 0x200E 282 #define WGL_SUPPORT_GDI_ARB 0x200F 283 #define WGL_SUPPORT_OPENGL_ARB 0x2010 284 #define WGL_DOUBLE_BUFFER_ARB 0x2011 285 #define WGL_STEREO_ARB 0x2012 286 #define WGL_PIXEL_TYPE_ARB 0x2013 287 #define WGL_COLOR_BITS_ARB 0x2014 288 #define WGL_RED_BITS_ARB 0x2015 289 #define WGL_RED_SHIFT_ARB 0x2016 290 #define WGL_GREEN_BITS_ARB 0x2017 291 #define WGL_GREEN_SHIFT_ARB 0x2018 292 #define WGL_BLUE_BITS_ARB 0x2019 293 #define WGL_BLUE_SHIFT_ARB 0x201A 294 #define WGL_ALPHA_BITS_ARB 0x201B 295 #define WGL_ALPHA_SHIFT_ARB 0x201C 296 #define WGL_ACCUM_BITS_ARB 0x201D 297 #define WGL_ACCUM_RED_BITS_ARB 0x201E 298 #define WGL_ACCUM_GREEN_BITS_ARB 0x201F 299 #define WGL_ACCUM_BLUE_BITS_ARB 0x2020 300 #define WGL_ACCUM_ALPHA_BITS_ARB 0x2021 301 #define WGL_DEPTH_BITS_ARB 0x2022 302 #define WGL_STENCIL_BITS_ARB 0x2023 303 #define WGL_AUX_BUFFERS_ARB 0x2024 304 #define WGL_NO_ACCELERATION_ARB 0x2025 305 #define WGL_GENERIC_ACCELERATION_ARB 0x2026 306 #define WGL_FULL_ACCELERATION_ARB 0x2027 307 #define WGL_SWAP_EXCHANGE_ARB 0x2028 308 #define WGL_SWAP_COPY_ARB 0x2029 309 #define WGL_SWAP_UNDEFINED_ARB 0x202A 310 #define WGL_TYPE_RGBA_ARB 0x202B 311 #define WGL_TYPE_COLORINDEX_ARB 0x202C 312 typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues); 313 typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues); 314 typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); 315 #ifdef WGL_WGLEXT_PROTOTYPES 316 BOOL WINAPI wglGetPixelFormatAttribivARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues); 317 BOOL WINAPI wglGetPixelFormatAttribfvARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues); 318 BOOL WINAPI wglChoosePixelFormatARB (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); 319 #endif 320 #endif /* WGL_ARB_pixel_format */ 321 322 #ifndef WGL_ARB_pixel_format_float 323 #define WGL_ARB_pixel_format_float 1 324 #define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0 325 #endif /* WGL_ARB_pixel_format_float */ 326 327 #ifndef WGL_ARB_render_texture 328 #define WGL_ARB_render_texture 1 329 #define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070 330 #define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071 331 #define WGL_TEXTURE_FORMAT_ARB 0x2072 332 #define WGL_TEXTURE_TARGET_ARB 0x2073 333 #define WGL_MIPMAP_TEXTURE_ARB 0x2074 334 #define WGL_TEXTURE_RGB_ARB 0x2075 335 #define WGL_TEXTURE_RGBA_ARB 0x2076 336 #define WGL_NO_TEXTURE_ARB 0x2077 337 #define WGL_TEXTURE_CUBE_MAP_ARB 0x2078 338 #define WGL_TEXTURE_1D_ARB 0x2079 339 #define WGL_TEXTURE_2D_ARB 0x207A 340 #define WGL_MIPMAP_LEVEL_ARB 0x207B 341 #define WGL_CUBE_MAP_FACE_ARB 0x207C 342 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D 343 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E 344 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F 345 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080 346 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081 347 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082 348 #define WGL_FRONT_LEFT_ARB 0x2083 349 #define WGL_FRONT_RIGHT_ARB 0x2084 350 #define WGL_BACK_LEFT_ARB 0x2085 351 #define WGL_BACK_RIGHT_ARB 0x2086 352 #define WGL_AUX0_ARB 0x2087 353 #define WGL_AUX1_ARB 0x2088 354 #define WGL_AUX2_ARB 0x2089 355 #define WGL_AUX3_ARB 0x208A 356 #define WGL_AUX4_ARB 0x208B 357 #define WGL_AUX5_ARB 0x208C 358 #define WGL_AUX6_ARB 0x208D 359 #define WGL_AUX7_ARB 0x208E 360 #define WGL_AUX8_ARB 0x208F 361 #define WGL_AUX9_ARB 0x2090 362 typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); 363 typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); 364 typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int *piAttribList); 365 #ifdef WGL_WGLEXT_PROTOTYPES 366 BOOL WINAPI wglBindTexImageARB (HPBUFFERARB hPbuffer, int iBuffer); 367 BOOL WINAPI wglReleaseTexImageARB (HPBUFFERARB hPbuffer, int iBuffer); 368 BOOL WINAPI wglSetPbufferAttribARB (HPBUFFERARB hPbuffer, const int *piAttribList); 369 #endif 370 #endif /* WGL_ARB_render_texture */ 371 372 #ifndef WGL_ARB_robustness_application_isolation 373 #define WGL_ARB_robustness_application_isolation 1 374 #define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008 375 #endif /* WGL_ARB_robustness_application_isolation */ 376 377 #ifndef WGL_ARB_robustness_share_group_isolation 378 #define WGL_ARB_robustness_share_group_isolation 1 379 #endif /* WGL_ARB_robustness_share_group_isolation */ 380 381 #ifndef WGL_3DFX_multisample 382 #define WGL_3DFX_multisample 1 383 #define WGL_SAMPLE_BUFFERS_3DFX 0x2060 384 #define WGL_SAMPLES_3DFX 0x2061 385 #endif /* WGL_3DFX_multisample */ 386 387 #ifndef WGL_3DL_stereo_control 388 #define WGL_3DL_stereo_control 1 389 #define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055 390 #define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056 391 #define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057 392 #define WGL_STEREO_POLARITY_INVERT_3DL 0x2058 393 typedef BOOL (WINAPI * PFNWGLSETSTEREOEMITTERSTATE3DLPROC) (HDC hDC, UINT uState); 394 #ifdef WGL_WGLEXT_PROTOTYPES 395 BOOL WINAPI wglSetStereoEmitterState3DL (HDC hDC, UINT uState); 396 #endif 397 #endif /* WGL_3DL_stereo_control */ 398 399 #ifndef WGL_AMD_gpu_association 400 #define WGL_AMD_gpu_association 1 401 #define WGL_GPU_VENDOR_AMD 0x1F00 402 #define WGL_GPU_RENDERER_STRING_AMD 0x1F01 403 #define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1F02 404 #define WGL_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2 405 #define WGL_GPU_RAM_AMD 0x21A3 406 #define WGL_GPU_CLOCK_AMD 0x21A4 407 #define WGL_GPU_NUM_PIPES_AMD 0x21A5 408 #define WGL_GPU_NUM_SIMD_AMD 0x21A6 409 #define WGL_GPU_NUM_RB_AMD 0x21A7 410 #define WGL_GPU_NUM_SPI_AMD 0x21A8 411 typedef UINT (WINAPI * PFNWGLGETGPUIDSAMDPROC) (UINT maxCount, UINT *ids); 412 typedef INT (WINAPI * PFNWGLGETGPUINFOAMDPROC) (UINT id, int property, GLenum dataType, UINT size, void *data); 413 typedef UINT (WINAPI * PFNWGLGETCONTEXTGPUIDAMDPROC) (HGLRC hglrc); 414 typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC) (UINT id); 415 typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) (UINT id, HGLRC hShareContext, const int *attribList); 416 typedef BOOL (WINAPI * PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC) (HGLRC hglrc); 417 typedef BOOL (WINAPI * PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (HGLRC hglrc); 418 typedef HGLRC (WINAPI * PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC) (void); 419 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); 420 #ifdef WGL_WGLEXT_PROTOTYPES 421 UINT WINAPI wglGetGPUIDsAMD (UINT maxCount, UINT *ids); 422 INT WINAPI wglGetGPUInfoAMD (UINT id, int property, GLenum dataType, UINT size, void *data); 423 UINT WINAPI wglGetContextGPUIDAMD (HGLRC hglrc); 424 HGLRC WINAPI wglCreateAssociatedContextAMD (UINT id); 425 HGLRC WINAPI wglCreateAssociatedContextAttribsAMD (UINT id, HGLRC hShareContext, const int *attribList); 426 BOOL WINAPI wglDeleteAssociatedContextAMD (HGLRC hglrc); 427 BOOL WINAPI wglMakeAssociatedContextCurrentAMD (HGLRC hglrc); 428 HGLRC WINAPI wglGetCurrentAssociatedContextAMD (void); 429 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); 430 #endif 431 #endif /* WGL_AMD_gpu_association */ 432 433 #ifndef WGL_ATI_pixel_format_float 434 #define WGL_ATI_pixel_format_float 1 435 #define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0 436 #endif /* WGL_ATI_pixel_format_float */ 437 438 #ifndef WGL_ATI_render_texture_rectangle 439 #define WGL_ATI_render_texture_rectangle 1 440 #define WGL_TEXTURE_RECTANGLE_ATI 0x21A5 441 #endif /* WGL_ATI_render_texture_rectangle */ 442 443 #ifndef WGL_EXT_colorspace 444 #define WGL_EXT_colorspace 1 445 #define WGL_COLORSPACE_EXT 0x309D 446 #define WGL_COLORSPACE_SRGB_EXT 0x3089 447 #define WGL_COLORSPACE_LINEAR_EXT 0x308A 448 #endif /* WGL_EXT_colorspace */ 449 450 #ifndef WGL_EXT_create_context_es2_profile 451 #define WGL_EXT_create_context_es2_profile 1 452 #define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004 453 #endif /* WGL_EXT_create_context_es2_profile */ 454 455 #ifndef WGL_EXT_create_context_es_profile 456 #define WGL_EXT_create_context_es_profile 1 457 #define WGL_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004 458 #endif /* WGL_EXT_create_context_es_profile */ 459 460 #ifndef WGL_EXT_depth_float 461 #define WGL_EXT_depth_float 1 462 #define WGL_DEPTH_FLOAT_EXT 0x2040 463 #endif /* WGL_EXT_depth_float */ 464 465 #ifndef WGL_EXT_display_color_table 466 #define WGL_EXT_display_color_table 1 467 typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id); 468 typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (const GLushort *table, GLuint length); 469 typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id); 470 typedef VOID (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id); 471 #ifdef WGL_WGLEXT_PROTOTYPES 472 GLboolean WINAPI wglCreateDisplayColorTableEXT (GLushort id); 473 GLboolean WINAPI wglLoadDisplayColorTableEXT (const GLushort *table, GLuint length); 474 GLboolean WINAPI wglBindDisplayColorTableEXT (GLushort id); 475 VOID WINAPI wglDestroyDisplayColorTableEXT (GLushort id); 476 #endif 477 #endif /* WGL_EXT_display_color_table */ 478 479 #ifndef WGL_EXT_extensions_string 480 #define WGL_EXT_extensions_string 1 481 typedef const char *(WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void); 482 #ifdef WGL_WGLEXT_PROTOTYPES 483 const char *WINAPI wglGetExtensionsStringEXT (void); 484 #endif 485 #endif /* WGL_EXT_extensions_string */ 486 487 #ifndef WGL_EXT_framebuffer_sRGB 488 #define WGL_EXT_framebuffer_sRGB 1 489 #define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9 490 #endif /* WGL_EXT_framebuffer_sRGB */ 491 492 #ifndef WGL_EXT_make_current_read 493 #define WGL_EXT_make_current_read 1 494 #define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043 495 typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); 496 typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (void); 497 #ifdef WGL_WGLEXT_PROTOTYPES 498 BOOL WINAPI wglMakeContextCurrentEXT (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); 499 HDC WINAPI wglGetCurrentReadDCEXT (void); 500 #endif 501 #endif /* WGL_EXT_make_current_read */ 502 503 #ifndef WGL_EXT_multisample 504 #define WGL_EXT_multisample 1 505 #define WGL_SAMPLE_BUFFERS_EXT 0x2041 506 #define WGL_SAMPLES_EXT 0x2042 507 #endif /* WGL_EXT_multisample */ 508 509 #ifndef WGL_EXT_pbuffer 510 #define WGL_EXT_pbuffer 1 511 DECLARE_HANDLE(HPBUFFEREXT); 512 #define WGL_DRAW_TO_PBUFFER_EXT 0x202D 513 #define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E 514 #define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F 515 #define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030 516 #define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031 517 #define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032 518 #define WGL_PBUFFER_LARGEST_EXT 0x2033 519 #define WGL_PBUFFER_WIDTH_EXT 0x2034 520 #define WGL_PBUFFER_HEIGHT_EXT 0x2035 521 typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList); 522 typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer); 523 typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC); 524 typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer); 525 typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue); 526 #ifdef WGL_WGLEXT_PROTOTYPES 527 HPBUFFEREXT WINAPI wglCreatePbufferEXT (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList); 528 HDC WINAPI wglGetPbufferDCEXT (HPBUFFEREXT hPbuffer); 529 int WINAPI wglReleasePbufferDCEXT (HPBUFFEREXT hPbuffer, HDC hDC); 530 BOOL WINAPI wglDestroyPbufferEXT (HPBUFFEREXT hPbuffer); 531 BOOL WINAPI wglQueryPbufferEXT (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue); 532 #endif 533 #endif /* WGL_EXT_pbuffer */ 534 535 #ifndef WGL_EXT_pixel_format 536 #define WGL_EXT_pixel_format 1 537 #define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000 538 #define WGL_DRAW_TO_WINDOW_EXT 0x2001 539 #define WGL_DRAW_TO_BITMAP_EXT 0x2002 540 #define WGL_ACCELERATION_EXT 0x2003 541 #define WGL_NEED_PALETTE_EXT 0x2004 542 #define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005 543 #define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006 544 #define WGL_SWAP_METHOD_EXT 0x2007 545 #define WGL_NUMBER_OVERLAYS_EXT 0x2008 546 #define WGL_NUMBER_UNDERLAYS_EXT 0x2009 547 #define WGL_TRANSPARENT_EXT 0x200A 548 #define WGL_TRANSPARENT_VALUE_EXT 0x200B 549 #define WGL_SHARE_DEPTH_EXT 0x200C 550 #define WGL_SHARE_STENCIL_EXT 0x200D 551 #define WGL_SHARE_ACCUM_EXT 0x200E 552 #define WGL_SUPPORT_GDI_EXT 0x200F 553 #define WGL_SUPPORT_OPENGL_EXT 0x2010 554 #define WGL_DOUBLE_BUFFER_EXT 0x2011 555 #define WGL_STEREO_EXT 0x2012 556 #define WGL_PIXEL_TYPE_EXT 0x2013 557 #define WGL_COLOR_BITS_EXT 0x2014 558 #define WGL_RED_BITS_EXT 0x2015 559 #define WGL_RED_SHIFT_EXT 0x2016 560 #define WGL_GREEN_BITS_EXT 0x2017 561 #define WGL_GREEN_SHIFT_EXT 0x2018 562 #define WGL_BLUE_BITS_EXT 0x2019 563 #define WGL_BLUE_SHIFT_EXT 0x201A 564 #define WGL_ALPHA_BITS_EXT 0x201B 565 #define WGL_ALPHA_SHIFT_EXT 0x201C 566 #define WGL_ACCUM_BITS_EXT 0x201D 567 #define WGL_ACCUM_RED_BITS_EXT 0x201E 568 #define WGL_ACCUM_GREEN_BITS_EXT 0x201F 569 #define WGL_ACCUM_BLUE_BITS_EXT 0x2020 570 #define WGL_ACCUM_ALPHA_BITS_EXT 0x2021 571 #define WGL_DEPTH_BITS_EXT 0x2022 572 #define WGL_STENCIL_BITS_EXT 0x2023 573 #define WGL_AUX_BUFFERS_EXT 0x2024 574 #define WGL_NO_ACCELERATION_EXT 0x2025 575 #define WGL_GENERIC_ACCELERATION_EXT 0x2026 576 #define WGL_FULL_ACCELERATION_EXT 0x2027 577 #define WGL_SWAP_EXCHANGE_EXT 0x2028 578 #define WGL_SWAP_COPY_EXT 0x2029 579 #define WGL_SWAP_UNDEFINED_EXT 0x202A 580 #define WGL_TYPE_RGBA_EXT 0x202B 581 #define WGL_TYPE_COLORINDEX_EXT 0x202C 582 typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues); 583 typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues); 584 typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); 585 #ifdef WGL_WGLEXT_PROTOTYPES 586 BOOL WINAPI wglGetPixelFormatAttribivEXT (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues); 587 BOOL WINAPI wglGetPixelFormatAttribfvEXT (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues); 588 BOOL WINAPI wglChoosePixelFormatEXT (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); 589 #endif 590 #endif /* WGL_EXT_pixel_format */ 591 592 #ifndef WGL_EXT_pixel_format_packed_float 593 #define WGL_EXT_pixel_format_packed_float 1 594 #define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8 595 #endif /* WGL_EXT_pixel_format_packed_float */ 596 597 #ifndef WGL_EXT_swap_control 598 #define WGL_EXT_swap_control 1 599 typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval); 600 typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void); 601 #ifdef WGL_WGLEXT_PROTOTYPES 602 BOOL WINAPI wglSwapIntervalEXT (int interval); 603 int WINAPI wglGetSwapIntervalEXT (void); 604 #endif 605 #endif /* WGL_EXT_swap_control */ 606 607 #ifndef WGL_EXT_swap_control_tear 608 #define WGL_EXT_swap_control_tear 1 609 #endif /* WGL_EXT_swap_control_tear */ 610 611 #ifndef WGL_I3D_digital_video_control 612 #define WGL_I3D_digital_video_control 1 613 #define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050 614 #define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051 615 #define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052 616 #define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053 617 typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue); 618 typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue); 619 #ifdef WGL_WGLEXT_PROTOTYPES 620 BOOL WINAPI wglGetDigitalVideoParametersI3D (HDC hDC, int iAttribute, int *piValue); 621 BOOL WINAPI wglSetDigitalVideoParametersI3D (HDC hDC, int iAttribute, const int *piValue); 622 #endif 623 #endif /* WGL_I3D_digital_video_control */ 624 625 #ifndef WGL_I3D_gamma 626 #define WGL_I3D_gamma 1 627 #define WGL_GAMMA_TABLE_SIZE_I3D 0x204E 628 #define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F 629 typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue); 630 typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue); 631 typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue); 632 typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue); 633 #ifdef WGL_WGLEXT_PROTOTYPES 634 BOOL WINAPI wglGetGammaTableParametersI3D (HDC hDC, int iAttribute, int *piValue); 635 BOOL WINAPI wglSetGammaTableParametersI3D (HDC hDC, int iAttribute, const int *piValue); 636 BOOL WINAPI wglGetGammaTableI3D (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue); 637 BOOL WINAPI wglSetGammaTableI3D (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue); 638 #endif 639 #endif /* WGL_I3D_gamma */ 640 641 #ifndef WGL_I3D_genlock 642 #define WGL_I3D_genlock 1 643 #define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044 644 #define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D 0x2045 645 #define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046 646 #define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D 0x2047 647 #define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048 648 #define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049 649 #define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A 650 #define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B 651 #define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C 652 typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC); 653 typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC); 654 typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL *pFlag); 655 typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource); 656 typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT *uSource); 657 typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge); 658 typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT *uEdge); 659 typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate); 660 typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT *uRate); 661 typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay); 662 typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT *uDelay); 663 typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay); 664 #ifdef WGL_WGLEXT_PROTOTYPES 665 BOOL WINAPI wglEnableGenlockI3D (HDC hDC); 666 BOOL WINAPI wglDisableGenlockI3D (HDC hDC); 667 BOOL WINAPI wglIsEnabledGenlockI3D (HDC hDC, BOOL *pFlag); 668 BOOL WINAPI wglGenlockSourceI3D (HDC hDC, UINT uSource); 669 BOOL WINAPI wglGetGenlockSourceI3D (HDC hDC, UINT *uSource); 670 BOOL WINAPI wglGenlockSourceEdgeI3D (HDC hDC, UINT uEdge); 671 BOOL WINAPI wglGetGenlockSourceEdgeI3D (HDC hDC, UINT *uEdge); 672 BOOL WINAPI wglGenlockSampleRateI3D (HDC hDC, UINT uRate); 673 BOOL WINAPI wglGetGenlockSampleRateI3D (HDC hDC, UINT *uRate); 674 BOOL WINAPI wglGenlockSourceDelayI3D (HDC hDC, UINT uDelay); 675 BOOL WINAPI wglGetGenlockSourceDelayI3D (HDC hDC, UINT *uDelay); 676 BOOL WINAPI wglQueryGenlockMaxSourceDelayI3D (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay); 677 #endif 678 #endif /* WGL_I3D_genlock */ 679 680 #ifndef WGL_I3D_image_buffer 681 #define WGL_I3D_image_buffer 1 682 #define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001 683 #define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002 684 typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags); 685 typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress); 686 typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count); 687 typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const LPVOID *pAddress, UINT count); 688 #ifdef WGL_WGLEXT_PROTOTYPES 689 LPVOID WINAPI wglCreateImageBufferI3D (HDC hDC, DWORD dwSize, UINT uFlags); 690 BOOL WINAPI wglDestroyImageBufferI3D (HDC hDC, LPVOID pAddress); 691 BOOL WINAPI wglAssociateImageBufferEventsI3D (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count); 692 BOOL WINAPI wglReleaseImageBufferEventsI3D (HDC hDC, const LPVOID *pAddress, UINT count); 693 #endif 694 #endif /* WGL_I3D_image_buffer */ 695 696 #ifndef WGL_I3D_swap_frame_lock 697 #define WGL_I3D_swap_frame_lock 1 698 typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (void); 699 typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (void); 700 typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL *pFlag); 701 typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL *pFlag); 702 #ifdef WGL_WGLEXT_PROTOTYPES 703 BOOL WINAPI wglEnableFrameLockI3D (void); 704 BOOL WINAPI wglDisableFrameLockI3D (void); 705 BOOL WINAPI wglIsEnabledFrameLockI3D (BOOL *pFlag); 706 BOOL WINAPI wglQueryFrameLockMasterI3D (BOOL *pFlag); 707 #endif 708 #endif /* WGL_I3D_swap_frame_lock */ 709 710 #ifndef WGL_I3D_swap_frame_usage 711 #define WGL_I3D_swap_frame_usage 1 712 typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float *pUsage); 713 typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void); 714 typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void); 715 typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage); 716 #ifdef WGL_WGLEXT_PROTOTYPES 717 BOOL WINAPI wglGetFrameUsageI3D (float *pUsage); 718 BOOL WINAPI wglBeginFrameTrackingI3D (void); 719 BOOL WINAPI wglEndFrameTrackingI3D (void); 720 BOOL WINAPI wglQueryFrameTrackingI3D (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage); 721 #endif 722 #endif /* WGL_I3D_swap_frame_usage */ 723 724 #ifndef WGL_NV_DX_interop 725 #define WGL_NV_DX_interop 1 726 #define WGL_ACCESS_READ_ONLY_NV 0x00000000 727 #define WGL_ACCESS_READ_WRITE_NV 0x00000001 728 #define WGL_ACCESS_WRITE_DISCARD_NV 0x00000002 729 typedef BOOL (WINAPI * PFNWGLDXSETRESOURCESHAREHANDLENVPROC) (void *dxObject, HANDLE shareHandle); 730 typedef HANDLE (WINAPI * PFNWGLDXOPENDEVICENVPROC) (void *dxDevice); 731 typedef BOOL (WINAPI * PFNWGLDXCLOSEDEVICENVPROC) (HANDLE hDevice); 732 typedef HANDLE (WINAPI * PFNWGLDXREGISTEROBJECTNVPROC) (HANDLE hDevice, void *dxObject, GLuint name, GLenum type, GLenum access); 733 typedef BOOL (WINAPI * PFNWGLDXUNREGISTEROBJECTNVPROC) (HANDLE hDevice, HANDLE hObject); 734 typedef BOOL (WINAPI * PFNWGLDXOBJECTACCESSNVPROC) (HANDLE hObject, GLenum access); 735 typedef BOOL (WINAPI * PFNWGLDXLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE *hObjects); 736 typedef BOOL (WINAPI * PFNWGLDXUNLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE *hObjects); 737 #ifdef WGL_WGLEXT_PROTOTYPES 738 BOOL WINAPI wglDXSetResourceShareHandleNV (void *dxObject, HANDLE shareHandle); 739 HANDLE WINAPI wglDXOpenDeviceNV (void *dxDevice); 740 BOOL WINAPI wglDXCloseDeviceNV (HANDLE hDevice); 741 HANDLE WINAPI wglDXRegisterObjectNV (HANDLE hDevice, void *dxObject, GLuint name, GLenum type, GLenum access); 742 BOOL WINAPI wglDXUnregisterObjectNV (HANDLE hDevice, HANDLE hObject); 743 BOOL WINAPI wglDXObjectAccessNV (HANDLE hObject, GLenum access); 744 BOOL WINAPI wglDXLockObjectsNV (HANDLE hDevice, GLint count, HANDLE *hObjects); 745 BOOL WINAPI wglDXUnlockObjectsNV (HANDLE hDevice, GLint count, HANDLE *hObjects); 746 #endif 747 #endif /* WGL_NV_DX_interop */ 748 749 #ifndef WGL_NV_DX_interop2 750 #define WGL_NV_DX_interop2 1 751 #endif /* WGL_NV_DX_interop2 */ 752 753 #ifndef WGL_NV_copy_image 754 #define WGL_NV_copy_image 1 755 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); 756 #ifdef WGL_WGLEXT_PROTOTYPES 757 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); 758 #endif 759 #endif /* WGL_NV_copy_image */ 760 761 #ifndef WGL_NV_delay_before_swap 762 #define WGL_NV_delay_before_swap 1 763 typedef BOOL (WINAPI * PFNWGLDELAYBEFORESWAPNVPROC) (HDC hDC, GLfloat seconds); 764 #ifdef WGL_WGLEXT_PROTOTYPES 765 BOOL WINAPI wglDelayBeforeSwapNV (HDC hDC, GLfloat seconds); 766 #endif 767 #endif /* WGL_NV_delay_before_swap */ 768 769 #ifndef WGL_NV_float_buffer 770 #define WGL_NV_float_buffer 1 771 #define WGL_FLOAT_COMPONENTS_NV 0x20B0 772 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1 773 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2 774 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3 775 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4 776 #define WGL_TEXTURE_FLOAT_R_NV 0x20B5 777 #define WGL_TEXTURE_FLOAT_RG_NV 0x20B6 778 #define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7 779 #define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8 780 #endif /* WGL_NV_float_buffer */ 781 782 #ifndef WGL_NV_gpu_affinity 783 #define WGL_NV_gpu_affinity 1 784 DECLARE_HANDLE(HGPUNV); 785 struct _GPU_DEVICE { 786 DWORD cb; 787 CHAR DeviceName[32]; 788 CHAR DeviceString[128]; 789 DWORD Flags; 790 RECT rcVirtualScreen; 791 }; 792 typedef struct _GPU_DEVICE *PGPU_DEVICE; 793 #define ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0 794 #define ERROR_MISSING_AFFINITY_MASK_NV 0x20D1 795 typedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu); 796 typedef BOOL (WINAPI * PFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice); 797 typedef HDC (WINAPI * PFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV *phGpuList); 798 typedef BOOL (WINAPI * PFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu); 799 typedef BOOL (WINAPI * PFNWGLDELETEDCNVPROC) (HDC hdc); 800 #ifdef WGL_WGLEXT_PROTOTYPES 801 BOOL WINAPI wglEnumGpusNV (UINT iGpuIndex, HGPUNV *phGpu); 802 BOOL WINAPI wglEnumGpuDevicesNV (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice); 803 HDC WINAPI wglCreateAffinityDCNV (const HGPUNV *phGpuList); 804 BOOL WINAPI wglEnumGpusFromAffinityDCNV (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu); 805 BOOL WINAPI wglDeleteDCNV (HDC hdc); 806 #endif 807 #endif /* WGL_NV_gpu_affinity */ 808 809 #ifndef WGL_NV_multisample_coverage 810 #define WGL_NV_multisample_coverage 1 811 #define WGL_COVERAGE_SAMPLES_NV 0x2042 812 #define WGL_COLOR_SAMPLES_NV 0x20B9 813 #endif /* WGL_NV_multisample_coverage */ 814 815 #ifndef WGL_NV_present_video 816 #define WGL_NV_present_video 1 817 DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV); 818 #define WGL_NUM_VIDEO_SLOTS_NV 0x20F0 819 typedef int (WINAPI * PFNWGLENUMERATEVIDEODEVICESNVPROC) (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList); 820 typedef BOOL (WINAPI * PFNWGLBINDVIDEODEVICENVPROC) (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList); 821 typedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int *piValue); 822 #ifdef WGL_WGLEXT_PROTOTYPES 823 int WINAPI wglEnumerateVideoDevicesNV (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList); 824 BOOL WINAPI wglBindVideoDeviceNV (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList); 825 BOOL WINAPI wglQueryCurrentContextNV (int iAttribute, int *piValue); 826 #endif 827 #endif /* WGL_NV_present_video */ 828 829 #ifndef WGL_NV_render_depth_texture 830 #define WGL_NV_render_depth_texture 1 831 #define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3 832 #define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4 833 #define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5 834 #define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6 835 #define WGL_DEPTH_COMPONENT_NV 0x20A7 836 #endif /* WGL_NV_render_depth_texture */ 837 838 #ifndef WGL_NV_render_texture_rectangle 839 #define WGL_NV_render_texture_rectangle 1 840 #define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0 841 #define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1 842 #define WGL_TEXTURE_RECTANGLE_NV 0x20A2 843 #endif /* WGL_NV_render_texture_rectangle */ 844 845 #ifndef WGL_NV_swap_group 846 #define WGL_NV_swap_group 1 847 typedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group); 848 typedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier); 849 typedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint *group, GLuint *barrier); 850 typedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers); 851 typedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint *count); 852 typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC); 853 #ifdef WGL_WGLEXT_PROTOTYPES 854 BOOL WINAPI wglJoinSwapGroupNV (HDC hDC, GLuint group); 855 BOOL WINAPI wglBindSwapBarrierNV (GLuint group, GLuint barrier); 856 BOOL WINAPI wglQuerySwapGroupNV (HDC hDC, GLuint *group, GLuint *barrier); 857 BOOL WINAPI wglQueryMaxSwapGroupsNV (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers); 858 BOOL WINAPI wglQueryFrameCountNV (HDC hDC, GLuint *count); 859 BOOL WINAPI wglResetFrameCountNV (HDC hDC); 860 #endif 861 #endif /* WGL_NV_swap_group */ 862 863 #ifndef WGL_NV_vertex_array_range 864 #define WGL_NV_vertex_array_range 1 865 typedef void *(WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority); 866 typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer); 867 #ifdef WGL_WGLEXT_PROTOTYPES 868 void *WINAPI wglAllocateMemoryNV (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority); 869 void WINAPI wglFreeMemoryNV (void *pointer); 870 #endif 871 #endif /* WGL_NV_vertex_array_range */ 872 873 #ifndef WGL_NV_video_capture 874 #define WGL_NV_video_capture 1 875 DECLARE_HANDLE(HVIDEOINPUTDEVICENV); 876 #define WGL_UNIQUE_ID_NV 0x20CE 877 #define WGL_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF 878 typedef BOOL (WINAPI * PFNWGLBINDVIDEOCAPTUREDEVICENVPROC) (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice); 879 typedef UINT (WINAPI * PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC) (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList); 880 typedef BOOL (WINAPI * PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice); 881 typedef BOOL (WINAPI * PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue); 882 typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice); 883 #ifdef WGL_WGLEXT_PROTOTYPES 884 BOOL WINAPI wglBindVideoCaptureDeviceNV (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice); 885 UINT WINAPI wglEnumerateVideoCaptureDevicesNV (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList); 886 BOOL WINAPI wglLockVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice); 887 BOOL WINAPI wglQueryVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue); 888 BOOL WINAPI wglReleaseVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice); 889 #endif 890 #endif /* WGL_NV_video_capture */ 891 892 #ifndef WGL_NV_video_output 893 #define WGL_NV_video_output 1 894 DECLARE_HANDLE(HPVIDEODEV); 895 #define WGL_BIND_TO_VIDEO_RGB_NV 0x20C0 896 #define WGL_BIND_TO_VIDEO_RGBA_NV 0x20C1 897 #define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2 898 #define WGL_VIDEO_OUT_COLOR_NV 0x20C3 899 #define WGL_VIDEO_OUT_ALPHA_NV 0x20C4 900 #define WGL_VIDEO_OUT_DEPTH_NV 0x20C5 901 #define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6 902 #define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7 903 #define WGL_VIDEO_OUT_FRAME 0x20C8 904 #define WGL_VIDEO_OUT_FIELD_1 0x20C9 905 #define WGL_VIDEO_OUT_FIELD_2 0x20CA 906 #define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20CB 907 #define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20CC 908 typedef BOOL (WINAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice); 909 typedef BOOL (WINAPI * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice); 910 typedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer); 911 typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer); 912 typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock); 913 typedef BOOL (WINAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo); 914 #ifdef WGL_WGLEXT_PROTOTYPES 915 BOOL WINAPI wglGetVideoDeviceNV (HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice); 916 BOOL WINAPI wglReleaseVideoDeviceNV (HPVIDEODEV hVideoDevice); 917 BOOL WINAPI wglBindVideoImageNV (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer); 918 BOOL WINAPI wglReleaseVideoImageNV (HPBUFFERARB hPbuffer, int iVideoBuffer); 919 BOOL WINAPI wglSendPbufferToVideoNV (HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock); 920 BOOL WINAPI wglGetVideoInfoNV (HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo); 921 #endif 922 #endif /* WGL_NV_video_output */ 923 924 #ifndef WGL_OML_sync_control 925 #define WGL_OML_sync_control 1 926 typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc); 927 typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32 *numerator, INT32 *denominator); 928 typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder); 929 typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder); 930 typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc); 931 typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc); 932 #ifdef WGL_WGLEXT_PROTOTYPES 933 BOOL WINAPI wglGetSyncValuesOML (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc); 934 BOOL WINAPI wglGetMscRateOML (HDC hdc, INT32 *numerator, INT32 *denominator); 935 INT64 WINAPI wglSwapBuffersMscOML (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder); 936 INT64 WINAPI wglSwapLayerBuffersMscOML (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder); 937 BOOL WINAPI wglWaitForMscOML (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc); 938 BOOL WINAPI wglWaitForSbcOML (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc); 939 #endif 940 #endif /* WGL_OML_sync_control */ 941 942 #ifdef __cplusplus 943 } 944 #endif 945 946 #endif 947