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