Clone of mesa.
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165
  1. /*
  2. ** The OpenGL Extension Wrangler Library
  3. ** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
  4. ** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
  5. ** Copyright (C) 2002, Lev Povalahev
  6. ** All rights reserved.
  7. **
  8. ** Redistribution and use in source and binary forms, with or without
  9. ** modification, are permitted provided that the following conditions are met:
  10. **
  11. ** * Redistributions of source code must retain the above copyright notice,
  12. ** this list of conditions and the following disclaimer.
  13. ** * Redistributions in binary form must reproduce the above copyright notice,
  14. ** this list of conditions and the following disclaimer in the documentation
  15. ** and/or other materials provided with the distribution.
  16. ** * The name of the author may be used to endorse or promote products
  17. ** derived from this software without specific prior written permission.
  18. **
  19. ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  20. ** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  21. ** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  22. ** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  23. ** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  24. ** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  25. ** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  26. ** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  27. ** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  28. ** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  29. ** THE POSSIBILITY OF SUCH DAMAGE.
  30. */
  31. /*
  32. ** Copyright (c) 2007 The Khronos Group Inc.
  33. **
  34. ** Permission is hereby granted, free of charge, to any person obtaining a
  35. ** copy of this software and/or associated documentation files (the
  36. ** "Materials"), to deal in the Materials without restriction, including
  37. ** without limitation the rights to use, copy, modify, merge, publish,
  38. ** distribute, sublicense, and/or sell copies of the Materials, and to
  39. ** permit persons to whom the Materials are furnished to do so, subject to
  40. ** the following conditions:
  41. **
  42. ** The above copyright notice and this permission notice shall be included
  43. ** in all copies or substantial portions of the Materials.
  44. **
  45. ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  46. ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  47. ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  48. ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
  49. ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
  50. ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  51. ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
  52. */
  53. #ifndef __wglew_h__
  54. #define __wglew_h__
  55. #define __WGLEW_H__
  56. #ifdef __wglext_h_
  57. #error wglext.h included before wglew.h
  58. #endif
  59. #define __wglext_h_
  60. #if !defined(APIENTRY) && !defined(__CYGWIN__)
  61. # ifndef WIN32_LEAN_AND_MEAN
  62. # define WIN32_LEAN_AND_MEAN 1
  63. # endif
  64. #include <windows.h>
  65. #endif
  66. /*
  67. * GLEW_STATIC needs to be set when using the static version.
  68. * GLEW_BUILD is set when building the DLL version.
  69. */
  70. #ifdef GLEW_STATIC
  71. # define GLEWAPI extern
  72. #else
  73. # ifdef GLEW_BUILD
  74. # define GLEWAPI extern __declspec(dllexport)
  75. # else
  76. # define GLEWAPI extern __declspec(dllimport)
  77. # endif
  78. #endif
  79. #ifdef __cplusplus
  80. extern "C" {
  81. #endif
  82. /* -------------------------- WGL_3DFX_multisample ------------------------- */
  83. #ifndef WGL_3DFX_multisample
  84. #define WGL_3DFX_multisample 1
  85. #define WGL_SAMPLE_BUFFERS_3DFX 0x2060
  86. #define WGL_SAMPLES_3DFX 0x2061
  87. #define WGLEW_3DFX_multisample WGLEW_GET_VAR(__WGLEW_3DFX_multisample)
  88. #endif /* WGL_3DFX_multisample */
  89. /* ------------------------- WGL_3DL_stereo_control ------------------------ */
  90. #ifndef WGL_3DL_stereo_control
  91. #define WGL_3DL_stereo_control 1
  92. #define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055
  93. #define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056
  94. #define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057
  95. #define WGL_STEREO_POLARITY_INVERT_3DL 0x2058
  96. typedef BOOL (WINAPI * PFNWGLSETSTEREOEMITTERSTATE3DLPROC) (HDC hDC, UINT uState);
  97. #define wglSetStereoEmitterState3DL WGLEW_GET_FUN(__wglewSetStereoEmitterState3DL)
  98. #define WGLEW_3DL_stereo_control WGLEW_GET_VAR(__WGLEW_3DL_stereo_control)
  99. #endif /* WGL_3DL_stereo_control */
  100. /* ------------------------- WGL_ARB_buffer_region ------------------------- */
  101. #ifndef WGL_ARB_buffer_region
  102. #define WGL_ARB_buffer_region 1
  103. #define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001
  104. #define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002
  105. #define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004
  106. #define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008
  107. typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType);
  108. typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion);
  109. typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
  110. typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height);
  111. #define wglCreateBufferRegionARB WGLEW_GET_FUN(__wglewCreateBufferRegionARB)
  112. #define wglDeleteBufferRegionARB WGLEW_GET_FUN(__wglewDeleteBufferRegionARB)
  113. #define wglRestoreBufferRegionARB WGLEW_GET_FUN(__wglewRestoreBufferRegionARB)
  114. #define wglSaveBufferRegionARB WGLEW_GET_FUN(__wglewSaveBufferRegionARB)
  115. #define WGLEW_ARB_buffer_region WGLEW_GET_VAR(__WGLEW_ARB_buffer_region)
  116. #endif /* WGL_ARB_buffer_region */
  117. /* ------------------------- WGL_ARB_create_context ------------------------ */
  118. #ifndef WGL_ARB_create_context
  119. #define WGL_ARB_create_context 1
  120. #define WGL_CONTEXT_DEBUG_BIT_ARB 0x0001
  121. #define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002
  122. #define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
  123. #define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092
  124. #define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
  125. #define WGL_CONTEXT_FLAGS_ARB 0x2094
  126. typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int* attribList);
  127. #define wglCreateContextAttribsARB WGLEW_GET_FUN(__wglewCreateContextAttribsARB)
  128. #define WGLEW_ARB_create_context WGLEW_GET_VAR(__WGLEW_ARB_create_context)
  129. #endif /* WGL_ARB_create_context */
  130. /* ----------------------- WGL_ARB_extensions_string ----------------------- */
  131. #ifndef WGL_ARB_extensions_string
  132. #define WGL_ARB_extensions_string 1
  133. typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
  134. #define wglGetExtensionsStringARB WGLEW_GET_FUN(__wglewGetExtensionsStringARB)
  135. #define WGLEW_ARB_extensions_string WGLEW_GET_VAR(__WGLEW_ARB_extensions_string)
  136. #endif /* WGL_ARB_extensions_string */
  137. /* ------------------------ WGL_ARB_framebuffer_sRGB ----------------------- */
  138. #ifndef WGL_ARB_framebuffer_sRGB
  139. #define WGL_ARB_framebuffer_sRGB 1
  140. #define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9
  141. #define WGLEW_ARB_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_ARB_framebuffer_sRGB)
  142. #endif /* WGL_ARB_framebuffer_sRGB */
  143. /* ----------------------- WGL_ARB_make_current_read ----------------------- */
  144. #ifndef WGL_ARB_make_current_read
  145. #define WGL_ARB_make_current_read 1
  146. #define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
  147. #define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
  148. typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (VOID);
  149. typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
  150. #define wglGetCurrentReadDCARB WGLEW_GET_FUN(__wglewGetCurrentReadDCARB)
  151. #define wglMakeContextCurrentARB WGLEW_GET_FUN(__wglewMakeContextCurrentARB)
  152. #define WGLEW_ARB_make_current_read WGLEW_GET_VAR(__WGLEW_ARB_make_current_read)
  153. #endif /* WGL_ARB_make_current_read */
  154. /* -------------------------- WGL_ARB_multisample -------------------------- */
  155. #ifndef WGL_ARB_multisample
  156. #define WGL_ARB_multisample 1
  157. #define WGL_SAMPLE_BUFFERS_ARB 0x2041
  158. #define WGL_SAMPLES_ARB 0x2042
  159. #define WGLEW_ARB_multisample WGLEW_GET_VAR(__WGLEW_ARB_multisample)
  160. #endif /* WGL_ARB_multisample */
  161. /* ---------------------------- WGL_ARB_pbuffer ---------------------------- */
  162. #ifndef WGL_ARB_pbuffer
  163. #define WGL_ARB_pbuffer 1
  164. #define WGL_DRAW_TO_PBUFFER_ARB 0x202D
  165. #define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E
  166. #define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F
  167. #define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030
  168. #define WGL_PBUFFER_LARGEST_ARB 0x2033
  169. #define WGL_PBUFFER_WIDTH_ARB 0x2034
  170. #define WGL_PBUFFER_HEIGHT_ARB 0x2035
  171. #define WGL_PBUFFER_LOST_ARB 0x2036
  172. DECLARE_HANDLE(HPBUFFERARB);
  173. typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList);
  174. typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer);
  175. typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer);
  176. typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int* piValue);
  177. typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC);
  178. #define wglCreatePbufferARB WGLEW_GET_FUN(__wglewCreatePbufferARB)
  179. #define wglDestroyPbufferARB WGLEW_GET_FUN(__wglewDestroyPbufferARB)
  180. #define wglGetPbufferDCARB WGLEW_GET_FUN(__wglewGetPbufferDCARB)
  181. #define wglQueryPbufferARB WGLEW_GET_FUN(__wglewQueryPbufferARB)
  182. #define wglReleasePbufferDCARB WGLEW_GET_FUN(__wglewReleasePbufferDCARB)
  183. #define WGLEW_ARB_pbuffer WGLEW_GET_VAR(__WGLEW_ARB_pbuffer)
  184. #endif /* WGL_ARB_pbuffer */
  185. /* -------------------------- WGL_ARB_pixel_format ------------------------- */
  186. #ifndef WGL_ARB_pixel_format
  187. #define WGL_ARB_pixel_format 1
  188. #define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000
  189. #define WGL_DRAW_TO_WINDOW_ARB 0x2001
  190. #define WGL_DRAW_TO_BITMAP_ARB 0x2002
  191. #define WGL_ACCELERATION_ARB 0x2003
  192. #define WGL_NEED_PALETTE_ARB 0x2004
  193. #define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005
  194. #define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006
  195. #define WGL_SWAP_METHOD_ARB 0x2007
  196. #define WGL_NUMBER_OVERLAYS_ARB 0x2008
  197. #define WGL_NUMBER_UNDERLAYS_ARB 0x2009
  198. #define WGL_TRANSPARENT_ARB 0x200A
  199. #define WGL_SHARE_DEPTH_ARB 0x200C
  200. #define WGL_SHARE_STENCIL_ARB 0x200D
  201. #define WGL_SHARE_ACCUM_ARB 0x200E
  202. #define WGL_SUPPORT_GDI_ARB 0x200F
  203. #define WGL_SUPPORT_OPENGL_ARB 0x2010
  204. #define WGL_DOUBLE_BUFFER_ARB 0x2011
  205. #define WGL_STEREO_ARB 0x2012
  206. #define WGL_PIXEL_TYPE_ARB 0x2013
  207. #define WGL_COLOR_BITS_ARB 0x2014
  208. #define WGL_RED_BITS_ARB 0x2015
  209. #define WGL_RED_SHIFT_ARB 0x2016
  210. #define WGL_GREEN_BITS_ARB 0x2017
  211. #define WGL_GREEN_SHIFT_ARB 0x2018
  212. #define WGL_BLUE_BITS_ARB 0x2019
  213. #define WGL_BLUE_SHIFT_ARB 0x201A
  214. #define WGL_ALPHA_BITS_ARB 0x201B
  215. #define WGL_ALPHA_SHIFT_ARB 0x201C
  216. #define WGL_ACCUM_BITS_ARB 0x201D
  217. #define WGL_ACCUM_RED_BITS_ARB 0x201E
  218. #define WGL_ACCUM_GREEN_BITS_ARB 0x201F
  219. #define WGL_ACCUM_BLUE_BITS_ARB 0x2020
  220. #define WGL_ACCUM_ALPHA_BITS_ARB 0x2021
  221. #define WGL_DEPTH_BITS_ARB 0x2022
  222. #define WGL_STENCIL_BITS_ARB 0x2023
  223. #define WGL_AUX_BUFFERS_ARB 0x2024
  224. #define WGL_NO_ACCELERATION_ARB 0x2025
  225. #define WGL_GENERIC_ACCELERATION_ARB 0x2026
  226. #define WGL_FULL_ACCELERATION_ARB 0x2027
  227. #define WGL_SWAP_EXCHANGE_ARB 0x2028
  228. #define WGL_SWAP_COPY_ARB 0x2029
  229. #define WGL_SWAP_UNDEFINED_ARB 0x202A
  230. #define WGL_TYPE_RGBA_ARB 0x202B
  231. #define WGL_TYPE_COLORINDEX_ARB 0x202C
  232. #define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037
  233. #define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
  234. #define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
  235. #define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
  236. #define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
  237. typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
  238. typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, FLOAT *pfValues);
  239. typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, int *piValues);
  240. #define wglChoosePixelFormatARB WGLEW_GET_FUN(__wglewChoosePixelFormatARB)
  241. #define wglGetPixelFormatAttribfvARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvARB)
  242. #define wglGetPixelFormatAttribivARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribivARB)
  243. #define WGLEW_ARB_pixel_format WGLEW_GET_VAR(__WGLEW_ARB_pixel_format)
  244. #endif /* WGL_ARB_pixel_format */
  245. /* ----------------------- WGL_ARB_pixel_format_float ---------------------- */
  246. #ifndef WGL_ARB_pixel_format_float
  247. #define WGL_ARB_pixel_format_float 1
  248. #define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0
  249. #define WGLEW_ARB_pixel_format_float WGLEW_GET_VAR(__WGLEW_ARB_pixel_format_float)
  250. #endif /* WGL_ARB_pixel_format_float */
  251. /* ------------------------- WGL_ARB_render_texture ------------------------ */
  252. #ifndef WGL_ARB_render_texture
  253. #define WGL_ARB_render_texture 1
  254. #define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070
  255. #define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071
  256. #define WGL_TEXTURE_FORMAT_ARB 0x2072
  257. #define WGL_TEXTURE_TARGET_ARB 0x2073
  258. #define WGL_MIPMAP_TEXTURE_ARB 0x2074
  259. #define WGL_TEXTURE_RGB_ARB 0x2075
  260. #define WGL_TEXTURE_RGBA_ARB 0x2076
  261. #define WGL_NO_TEXTURE_ARB 0x2077
  262. #define WGL_TEXTURE_CUBE_MAP_ARB 0x2078
  263. #define WGL_TEXTURE_1D_ARB 0x2079
  264. #define WGL_TEXTURE_2D_ARB 0x207A
  265. #define WGL_MIPMAP_LEVEL_ARB 0x207B
  266. #define WGL_CUBE_MAP_FACE_ARB 0x207C
  267. #define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D
  268. #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E
  269. #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F
  270. #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080
  271. #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081
  272. #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082
  273. #define WGL_FRONT_LEFT_ARB 0x2083
  274. #define WGL_FRONT_RIGHT_ARB 0x2084
  275. #define WGL_BACK_LEFT_ARB 0x2085
  276. #define WGL_BACK_RIGHT_ARB 0x2086
  277. #define WGL_AUX0_ARB 0x2087
  278. #define WGL_AUX1_ARB 0x2088
  279. #define WGL_AUX2_ARB 0x2089
  280. #define WGL_AUX3_ARB 0x208A
  281. #define WGL_AUX4_ARB 0x208B
  282. #define WGL_AUX5_ARB 0x208C
  283. #define WGL_AUX6_ARB 0x208D
  284. #define WGL_AUX7_ARB 0x208E
  285. #define WGL_AUX8_ARB 0x208F
  286. #define WGL_AUX9_ARB 0x2090
  287. typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
  288. typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
  289. typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int* piAttribList);
  290. #define wglBindTexImageARB WGLEW_GET_FUN(__wglewBindTexImageARB)
  291. #define wglReleaseTexImageARB WGLEW_GET_FUN(__wglewReleaseTexImageARB)
  292. #define wglSetPbufferAttribARB WGLEW_GET_FUN(__wglewSetPbufferAttribARB)
  293. #define WGLEW_ARB_render_texture WGLEW_GET_VAR(__WGLEW_ARB_render_texture)
  294. #endif /* WGL_ARB_render_texture */
  295. /* ----------------------- WGL_ATI_pixel_format_float ---------------------- */
  296. #ifndef WGL_ATI_pixel_format_float
  297. #define WGL_ATI_pixel_format_float 1
  298. #define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0
  299. #define GL_RGBA_FLOAT_MODE_ATI 0x8820
  300. #define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835
  301. #define WGLEW_ATI_pixel_format_float WGLEW_GET_VAR(__WGLEW_ATI_pixel_format_float)
  302. #endif /* WGL_ATI_pixel_format_float */
  303. /* -------------------- WGL_ATI_render_texture_rectangle ------------------- */
  304. #ifndef WGL_ATI_render_texture_rectangle
  305. #define WGL_ATI_render_texture_rectangle 1
  306. #define WGL_TEXTURE_RECTANGLE_ATI 0x21A5
  307. #define WGLEW_ATI_render_texture_rectangle WGLEW_GET_VAR(__WGLEW_ATI_render_texture_rectangle)
  308. #endif /* WGL_ATI_render_texture_rectangle */
  309. /* -------------------------- WGL_EXT_depth_float -------------------------- */
  310. #ifndef WGL_EXT_depth_float
  311. #define WGL_EXT_depth_float 1
  312. #define WGL_DEPTH_FLOAT_EXT 0x2040
  313. #define WGLEW_EXT_depth_float WGLEW_GET_VAR(__WGLEW_EXT_depth_float)
  314. #endif /* WGL_EXT_depth_float */
  315. /* ---------------------- WGL_EXT_display_color_table ---------------------- */
  316. #ifndef WGL_EXT_display_color_table
  317. #define WGL_EXT_display_color_table 1
  318. typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id);
  319. typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id);
  320. typedef void (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id);
  321. typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (GLushort* table, GLuint length);
  322. #define wglBindDisplayColorTableEXT WGLEW_GET_FUN(__wglewBindDisplayColorTableEXT)
  323. #define wglCreateDisplayColorTableEXT WGLEW_GET_FUN(__wglewCreateDisplayColorTableEXT)
  324. #define wglDestroyDisplayColorTableEXT WGLEW_GET_FUN(__wglewDestroyDisplayColorTableEXT)
  325. #define wglLoadDisplayColorTableEXT WGLEW_GET_FUN(__wglewLoadDisplayColorTableEXT)
  326. #define WGLEW_EXT_display_color_table WGLEW_GET_VAR(__WGLEW_EXT_display_color_table)
  327. #endif /* WGL_EXT_display_color_table */
  328. /* ----------------------- WGL_EXT_extensions_string ----------------------- */
  329. #ifndef WGL_EXT_extensions_string
  330. #define WGL_EXT_extensions_string 1
  331. typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void);
  332. #define wglGetExtensionsStringEXT WGLEW_GET_FUN(__wglewGetExtensionsStringEXT)
  333. #define WGLEW_EXT_extensions_string WGLEW_GET_VAR(__WGLEW_EXT_extensions_string)
  334. #endif /* WGL_EXT_extensions_string */
  335. /* ------------------------ WGL_EXT_framebuffer_sRGB ----------------------- */
  336. #ifndef WGL_EXT_framebuffer_sRGB
  337. #define WGL_EXT_framebuffer_sRGB 1
  338. #define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9
  339. #define WGLEW_EXT_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_EXT_framebuffer_sRGB)
  340. #endif /* WGL_EXT_framebuffer_sRGB */
  341. /* ----------------------- WGL_EXT_make_current_read ----------------------- */
  342. #ifndef WGL_EXT_make_current_read
  343. #define WGL_EXT_make_current_read 1
  344. #define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043
  345. typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (VOID);
  346. typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
  347. #define wglGetCurrentReadDCEXT WGLEW_GET_FUN(__wglewGetCurrentReadDCEXT)
  348. #define wglMakeContextCurrentEXT WGLEW_GET_FUN(__wglewMakeContextCurrentEXT)
  349. #define WGLEW_EXT_make_current_read WGLEW_GET_VAR(__WGLEW_EXT_make_current_read)
  350. #endif /* WGL_EXT_make_current_read */
  351. /* -------------------------- WGL_EXT_multisample -------------------------- */
  352. #ifndef WGL_EXT_multisample
  353. #define WGL_EXT_multisample 1
  354. #define WGL_SAMPLE_BUFFERS_EXT 0x2041
  355. #define WGL_SAMPLES_EXT 0x2042
  356. #define WGLEW_EXT_multisample WGLEW_GET_VAR(__WGLEW_EXT_multisample)
  357. #endif /* WGL_EXT_multisample */
  358. /* ---------------------------- WGL_EXT_pbuffer ---------------------------- */
  359. #ifndef WGL_EXT_pbuffer
  360. #define WGL_EXT_pbuffer 1
  361. #define WGL_DRAW_TO_PBUFFER_EXT 0x202D
  362. #define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E
  363. #define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F
  364. #define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030
  365. #define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031
  366. #define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032
  367. #define WGL_PBUFFER_LARGEST_EXT 0x2033
  368. #define WGL_PBUFFER_WIDTH_EXT 0x2034
  369. #define WGL_PBUFFER_HEIGHT_EXT 0x2035
  370. DECLARE_HANDLE(HPBUFFEREXT);
  371. typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList);
  372. typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer);
  373. typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer);
  374. typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int* piValue);
  375. typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC);
  376. #define wglCreatePbufferEXT WGLEW_GET_FUN(__wglewCreatePbufferEXT)
  377. #define wglDestroyPbufferEXT WGLEW_GET_FUN(__wglewDestroyPbufferEXT)
  378. #define wglGetPbufferDCEXT WGLEW_GET_FUN(__wglewGetPbufferDCEXT)
  379. #define wglQueryPbufferEXT WGLEW_GET_FUN(__wglewQueryPbufferEXT)
  380. #define wglReleasePbufferDCEXT WGLEW_GET_FUN(__wglewReleasePbufferDCEXT)
  381. #define WGLEW_EXT_pbuffer WGLEW_GET_VAR(__WGLEW_EXT_pbuffer)
  382. #endif /* WGL_EXT_pbuffer */
  383. /* -------------------------- WGL_EXT_pixel_format ------------------------- */
  384. #ifndef WGL_EXT_pixel_format
  385. #define WGL_EXT_pixel_format 1
  386. #define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000
  387. #define WGL_DRAW_TO_WINDOW_EXT 0x2001
  388. #define WGL_DRAW_TO_BITMAP_EXT 0x2002
  389. #define WGL_ACCELERATION_EXT 0x2003
  390. #define WGL_NEED_PALETTE_EXT 0x2004
  391. #define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005
  392. #define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006
  393. #define WGL_SWAP_METHOD_EXT 0x2007
  394. #define WGL_NUMBER_OVERLAYS_EXT 0x2008
  395. #define WGL_NUMBER_UNDERLAYS_EXT 0x2009
  396. #define WGL_TRANSPARENT_EXT 0x200A
  397. #define WGL_TRANSPARENT_VALUE_EXT 0x200B
  398. #define WGL_SHARE_DEPTH_EXT 0x200C
  399. #define WGL_SHARE_STENCIL_EXT 0x200D
  400. #define WGL_SHARE_ACCUM_EXT 0x200E
  401. #define WGL_SUPPORT_GDI_EXT 0x200F
  402. #define WGL_SUPPORT_OPENGL_EXT 0x2010
  403. #define WGL_DOUBLE_BUFFER_EXT 0x2011
  404. #define WGL_STEREO_EXT 0x2012
  405. #define WGL_PIXEL_TYPE_EXT 0x2013
  406. #define WGL_COLOR_BITS_EXT 0x2014
  407. #define WGL_RED_BITS_EXT 0x2015
  408. #define WGL_RED_SHIFT_EXT 0x2016
  409. #define WGL_GREEN_BITS_EXT 0x2017
  410. #define WGL_GREEN_SHIFT_EXT 0x2018
  411. #define WGL_BLUE_BITS_EXT 0x2019
  412. #define WGL_BLUE_SHIFT_EXT 0x201A
  413. #define WGL_ALPHA_BITS_EXT 0x201B
  414. #define WGL_ALPHA_SHIFT_EXT 0x201C
  415. #define WGL_ACCUM_BITS_EXT 0x201D
  416. #define WGL_ACCUM_RED_BITS_EXT 0x201E
  417. #define WGL_ACCUM_GREEN_BITS_EXT 0x201F
  418. #define WGL_ACCUM_BLUE_BITS_EXT 0x2020
  419. #define WGL_ACCUM_ALPHA_BITS_EXT 0x2021
  420. #define WGL_DEPTH_BITS_EXT 0x2022
  421. #define WGL_STENCIL_BITS_EXT 0x2023
  422. #define WGL_AUX_BUFFERS_EXT 0x2024
  423. #define WGL_NO_ACCELERATION_EXT 0x2025
  424. #define WGL_GENERIC_ACCELERATION_EXT 0x2026
  425. #define WGL_FULL_ACCELERATION_EXT 0x2027
  426. #define WGL_SWAP_EXCHANGE_EXT 0x2028
  427. #define WGL_SWAP_COPY_EXT 0x2029
  428. #define WGL_SWAP_UNDEFINED_EXT 0x202A
  429. #define WGL_TYPE_RGBA_EXT 0x202B
  430. #define WGL_TYPE_COLORINDEX_EXT 0x202C
  431. typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
  432. typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, FLOAT *pfValues);
  433. typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, int *piValues);
  434. #define wglChoosePixelFormatEXT WGLEW_GET_FUN(__wglewChoosePixelFormatEXT)
  435. #define wglGetPixelFormatAttribfvEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvEXT)
  436. #define wglGetPixelFormatAttribivEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribivEXT)
  437. #define WGLEW_EXT_pixel_format WGLEW_GET_VAR(__WGLEW_EXT_pixel_format)
  438. #endif /* WGL_EXT_pixel_format */
  439. /* ------------------- WGL_EXT_pixel_format_packed_float ------------------- */
  440. #ifndef WGL_EXT_pixel_format_packed_float
  441. #define WGL_EXT_pixel_format_packed_float 1
  442. #define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8
  443. #define WGLEW_EXT_pixel_format_packed_float WGLEW_GET_VAR(__WGLEW_EXT_pixel_format_packed_float)
  444. #endif /* WGL_EXT_pixel_format_packed_float */
  445. /* -------------------------- WGL_EXT_swap_control ------------------------- */
  446. #ifndef WGL_EXT_swap_control
  447. #define WGL_EXT_swap_control 1
  448. typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void);
  449. typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
  450. #define wglGetSwapIntervalEXT WGLEW_GET_FUN(__wglewGetSwapIntervalEXT)
  451. #define wglSwapIntervalEXT WGLEW_GET_FUN(__wglewSwapIntervalEXT)
  452. #define WGLEW_EXT_swap_control WGLEW_GET_VAR(__WGLEW_EXT_swap_control)
  453. #endif /* WGL_EXT_swap_control */
  454. /* --------------------- WGL_I3D_digital_video_control --------------------- */
  455. #ifndef WGL_I3D_digital_video_control
  456. #define WGL_I3D_digital_video_control 1
  457. #define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050
  458. #define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051
  459. #define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052
  460. #define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053
  461. typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int* piValue);
  462. typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue);
  463. #define wglGetDigitalVideoParametersI3D WGLEW_GET_FUN(__wglewGetDigitalVideoParametersI3D)
  464. #define wglSetDigitalVideoParametersI3D WGLEW_GET_FUN(__wglewSetDigitalVideoParametersI3D)
  465. #define WGLEW_I3D_digital_video_control WGLEW_GET_VAR(__WGLEW_I3D_digital_video_control)
  466. #endif /* WGL_I3D_digital_video_control */
  467. /* ----------------------------- WGL_I3D_gamma ----------------------------- */
  468. #ifndef WGL_I3D_gamma
  469. #define WGL_I3D_gamma 1
  470. #define WGL_GAMMA_TABLE_SIZE_I3D 0x204E
  471. #define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F
  472. typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT* puRed, USHORT *puGreen, USHORT *puBlue);
  473. typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int* piValue);
  474. typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT* puRed, const USHORT *puGreen, const USHORT *puBlue);
  475. typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue);
  476. #define wglGetGammaTableI3D WGLEW_GET_FUN(__wglewGetGammaTableI3D)
  477. #define wglGetGammaTableParametersI3D WGLEW_GET_FUN(__wglewGetGammaTableParametersI3D)
  478. #define wglSetGammaTableI3D WGLEW_GET_FUN(__wglewSetGammaTableI3D)
  479. #define wglSetGammaTableParametersI3D WGLEW_GET_FUN(__wglewSetGammaTableParametersI3D)
  480. #define WGLEW_I3D_gamma WGLEW_GET_VAR(__WGLEW_I3D_gamma)
  481. #endif /* WGL_I3D_gamma */
  482. /* ---------------------------- WGL_I3D_genlock ---------------------------- */
  483. #ifndef WGL_I3D_genlock
  484. #define WGL_I3D_genlock 1
  485. #define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044
  486. #define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D 0x2045
  487. #define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046
  488. #define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D 0x2047
  489. #define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048
  490. #define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049
  491. #define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A
  492. #define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B
  493. #define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C
  494. typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC);
  495. typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC);
  496. typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate);
  497. typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay);
  498. typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge);
  499. typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource);
  500. typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT* uRate);
  501. typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT* uDelay);
  502. typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT* uEdge);
  503. typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT* uSource);
  504. typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL* pFlag);
  505. typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT* uMaxLineDelay, UINT *uMaxPixelDelay);
  506. #define wglDisableGenlockI3D WGLEW_GET_FUN(__wglewDisableGenlockI3D)
  507. #define wglEnableGenlockI3D WGLEW_GET_FUN(__wglewEnableGenlockI3D)
  508. #define wglGenlockSampleRateI3D WGLEW_GET_FUN(__wglewGenlockSampleRateI3D)
  509. #define wglGenlockSourceDelayI3D WGLEW_GET_FUN(__wglewGenlockSourceDelayI3D)
  510. #define wglGenlockSourceEdgeI3D WGLEW_GET_FUN(__wglewGenlockSourceEdgeI3D)
  511. #define wglGenlockSourceI3D WGLEW_GET_FUN(__wglewGenlockSourceI3D)
  512. #define wglGetGenlockSampleRateI3D WGLEW_GET_FUN(__wglewGetGenlockSampleRateI3D)
  513. #define wglGetGenlockSourceDelayI3D WGLEW_GET_FUN(__wglewGetGenlockSourceDelayI3D)
  514. #define wglGetGenlockSourceEdgeI3D WGLEW_GET_FUN(__wglewGetGenlockSourceEdgeI3D)
  515. #define wglGetGenlockSourceI3D WGLEW_GET_FUN(__wglewGetGenlockSourceI3D)
  516. #define wglIsEnabledGenlockI3D WGLEW_GET_FUN(__wglewIsEnabledGenlockI3D)
  517. #define wglQueryGenlockMaxSourceDelayI3D WGLEW_GET_FUN(__wglewQueryGenlockMaxSourceDelayI3D)
  518. #define WGLEW_I3D_genlock WGLEW_GET_VAR(__WGLEW_I3D_genlock)
  519. #endif /* WGL_I3D_genlock */
  520. /* -------------------------- WGL_I3D_image_buffer ------------------------- */
  521. #ifndef WGL_I3D_image_buffer
  522. #define WGL_I3D_image_buffer 1
  523. #define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001
  524. #define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002
  525. typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, HANDLE* pEvent, LPVOID *pAddress, DWORD *pSize, UINT count);
  526. typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags);
  527. typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress);
  528. typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, LPVOID* pAddress, UINT count);
  529. #define wglAssociateImageBufferEventsI3D WGLEW_GET_FUN(__wglewAssociateImageBufferEventsI3D)
  530. #define wglCreateImageBufferI3D WGLEW_GET_FUN(__wglewCreateImageBufferI3D)
  531. #define wglDestroyImageBufferI3D WGLEW_GET_FUN(__wglewDestroyImageBufferI3D)
  532. #define wglReleaseImageBufferEventsI3D WGLEW_GET_FUN(__wglewReleaseImageBufferEventsI3D)
  533. #define WGLEW_I3D_image_buffer WGLEW_GET_VAR(__WGLEW_I3D_image_buffer)
  534. #endif /* WGL_I3D_image_buffer */
  535. /* ------------------------ WGL_I3D_swap_frame_lock ------------------------ */
  536. #ifndef WGL_I3D_swap_frame_lock
  537. #define WGL_I3D_swap_frame_lock 1
  538. typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (VOID);
  539. typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (VOID);
  540. typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL* pFlag);
  541. typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL* pFlag);
  542. #define wglDisableFrameLockI3D WGLEW_GET_FUN(__wglewDisableFrameLockI3D)
  543. #define wglEnableFrameLockI3D WGLEW_GET_FUN(__wglewEnableFrameLockI3D)
  544. #define wglIsEnabledFrameLockI3D WGLEW_GET_FUN(__wglewIsEnabledFrameLockI3D)
  545. #define wglQueryFrameLockMasterI3D WGLEW_GET_FUN(__wglewQueryFrameLockMasterI3D)
  546. #define WGLEW_I3D_swap_frame_lock WGLEW_GET_VAR(__WGLEW_I3D_swap_frame_lock)
  547. #endif /* WGL_I3D_swap_frame_lock */
  548. /* ------------------------ WGL_I3D_swap_frame_usage ----------------------- */
  549. #ifndef WGL_I3D_swap_frame_usage
  550. #define WGL_I3D_swap_frame_usage 1
  551. typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void);
  552. typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void);
  553. typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float* pUsage);
  554. typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD* pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
  555. #define wglBeginFrameTrackingI3D WGLEW_GET_FUN(__wglewBeginFrameTrackingI3D)
  556. #define wglEndFrameTrackingI3D WGLEW_GET_FUN(__wglewEndFrameTrackingI3D)
  557. #define wglGetFrameUsageI3D WGLEW_GET_FUN(__wglewGetFrameUsageI3D)
  558. #define wglQueryFrameTrackingI3D WGLEW_GET_FUN(__wglewQueryFrameTrackingI3D)
  559. #define WGLEW_I3D_swap_frame_usage WGLEW_GET_VAR(__WGLEW_I3D_swap_frame_usage)
  560. #endif /* WGL_I3D_swap_frame_usage */
  561. /* -------------------------- WGL_NV_float_buffer -------------------------- */
  562. #ifndef WGL_NV_float_buffer
  563. #define WGL_NV_float_buffer 1
  564. #define WGL_FLOAT_COMPONENTS_NV 0x20B0
  565. #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1
  566. #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2
  567. #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3
  568. #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4
  569. #define WGL_TEXTURE_FLOAT_R_NV 0x20B5
  570. #define WGL_TEXTURE_FLOAT_RG_NV 0x20B6
  571. #define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7
  572. #define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8
  573. #define WGLEW_NV_float_buffer WGLEW_GET_VAR(__WGLEW_NV_float_buffer)
  574. #endif /* WGL_NV_float_buffer */
  575. /* -------------------------- WGL_NV_gpu_affinity -------------------------- */
  576. #ifndef WGL_NV_gpu_affinity
  577. #define WGL_NV_gpu_affinity 1
  578. #define WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0
  579. #define WGL_ERROR_MISSING_AFFINITY_MASK_NV 0x20D1
  580. DECLARE_HANDLE(HGPUNV);
  581. typedef struct _GPU_DEVICE {
  582. DWORD cb;
  583. CHAR DeviceName[32];
  584. CHAR DeviceString[128];
  585. DWORD Flags;
  586. RECT rcVirtualScreen;
  587. } GPU_DEVICE, *PGPU_DEVICE;
  588. typedef HDC (WINAPI * PFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV *phGpuList);
  589. typedef BOOL (WINAPI * PFNWGLDELETEDCNVPROC) (HDC hdc);
  590. typedef BOOL (WINAPI * PFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
  591. typedef BOOL (WINAPI * PFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);
  592. typedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu);
  593. #define wglCreateAffinityDCNV WGLEW_GET_FUN(__wglewCreateAffinityDCNV)
  594. #define wglDeleteDCNV WGLEW_GET_FUN(__wglewDeleteDCNV)
  595. #define wglEnumGpuDevicesNV WGLEW_GET_FUN(__wglewEnumGpuDevicesNV)
  596. #define wglEnumGpusFromAffinityDCNV WGLEW_GET_FUN(__wglewEnumGpusFromAffinityDCNV)
  597. #define wglEnumGpusNV WGLEW_GET_FUN(__wglewEnumGpusNV)
  598. #define WGLEW_NV_gpu_affinity WGLEW_GET_VAR(__WGLEW_NV_gpu_affinity)
  599. #endif /* WGL_NV_gpu_affinity */
  600. /* -------------------------- WGL_NV_present_video ------------------------- */
  601. #ifndef WGL_NV_present_video
  602. #define WGL_NV_present_video 1
  603. #define WGL_NUM_VIDEO_SLOTS_NV 0x20F0
  604. DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
  605. typedef BOOL (WINAPI * PFNWGLBINDVIDEODEVICENVPROC) (HDC hDc, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int* piAttribList);
  606. typedef int (WINAPI * PFNWGLENUMERATEVIDEODEVICESNVPROC) (HDC hDc, HVIDEOOUTPUTDEVICENV* phDeviceList);
  607. typedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int* piValue);
  608. #define wglBindVideoDeviceNV WGLEW_GET_FUN(__wglewBindVideoDeviceNV)
  609. #define wglEnumerateVideoDevicesNV WGLEW_GET_FUN(__wglewEnumerateVideoDevicesNV)
  610. #define wglQueryCurrentContextNV WGLEW_GET_FUN(__wglewQueryCurrentContextNV)
  611. #define WGLEW_NV_present_video WGLEW_GET_VAR(__WGLEW_NV_present_video)
  612. #endif /* WGL_NV_present_video */
  613. /* ---------------------- WGL_NV_render_depth_texture ---------------------- */
  614. #ifndef WGL_NV_render_depth_texture
  615. #define WGL_NV_render_depth_texture 1
  616. #define WGL_NO_TEXTURE_ARB 0x2077
  617. #define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3
  618. #define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4
  619. #define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5
  620. #define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6
  621. #define WGL_DEPTH_COMPONENT_NV 0x20A7
  622. #define WGLEW_NV_render_depth_texture WGLEW_GET_VAR(__WGLEW_NV_render_depth_texture)
  623. #endif /* WGL_NV_render_depth_texture */
  624. /* -------------------- WGL_NV_render_texture_rectangle -------------------- */
  625. #ifndef WGL_NV_render_texture_rectangle
  626. #define WGL_NV_render_texture_rectangle 1
  627. #define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0
  628. #define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1
  629. #define WGL_TEXTURE_RECTANGLE_NV 0x20A2
  630. #define WGLEW_NV_render_texture_rectangle WGLEW_GET_VAR(__WGLEW_NV_render_texture_rectangle)
  631. #endif /* WGL_NV_render_texture_rectangle */
  632. /* --------------------------- WGL_NV_swap_group --------------------------- */
  633. #ifndef WGL_NV_swap_group
  634. #define WGL_NV_swap_group 1
  635. typedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier);
  636. typedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group);
  637. typedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint* count);
  638. typedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint* maxGroups, GLuint *maxBarriers);
  639. typedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint* group);
  640. typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC);
  641. #define wglBindSwapBarrierNV WGLEW_GET_FUN(__wglewBindSwapBarrierNV)
  642. #define wglJoinSwapGroupNV WGLEW_GET_FUN(__wglewJoinSwapGroupNV)
  643. #define wglQueryFrameCountNV WGLEW_GET_FUN(__wglewQueryFrameCountNV)
  644. #define wglQueryMaxSwapGroupsNV WGLEW_GET_FUN(__wglewQueryMaxSwapGroupsNV)
  645. #define wglQuerySwapGroupNV WGLEW_GET_FUN(__wglewQuerySwapGroupNV)
  646. #define wglResetFrameCountNV WGLEW_GET_FUN(__wglewResetFrameCountNV)
  647. #define WGLEW_NV_swap_group WGLEW_GET_VAR(__WGLEW_NV_swap_group)
  648. #endif /* WGL_NV_swap_group */
  649. /* ----------------------- WGL_NV_vertex_array_range ----------------------- */
  650. #ifndef WGL_NV_vertex_array_range
  651. #define WGL_NV_vertex_array_range 1
  652. typedef void * (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
  653. typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
  654. #define wglAllocateMemoryNV WGLEW_GET_FUN(__wglewAllocateMemoryNV)
  655. #define wglFreeMemoryNV WGLEW_GET_FUN(__wglewFreeMemoryNV)
  656. #define WGLEW_NV_vertex_array_range WGLEW_GET_VAR(__WGLEW_NV_vertex_array_range)
  657. #endif /* WGL_NV_vertex_array_range */
  658. /* -------------------------- WGL_NV_video_output -------------------------- */
  659. #ifndef WGL_NV_video_output
  660. #define WGL_NV_video_output 1
  661. #define WGL_BIND_TO_VIDEO_RGB_NV 0x20C0
  662. #define WGL_BIND_TO_VIDEO_RGBA_NV 0x20C1
  663. #define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2
  664. #define WGL_VIDEO_OUT_COLOR_NV 0x20C3
  665. #define WGL_VIDEO_OUT_ALPHA_NV 0x20C4
  666. #define WGL_VIDEO_OUT_DEPTH_NV 0x20C5
  667. #define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
  668. #define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
  669. #define WGL_VIDEO_OUT_FRAME 0x20C8
  670. #define WGL_VIDEO_OUT_FIELD_1 0x20C9
  671. #define WGL_VIDEO_OUT_FIELD_2 0x20CA
  672. #define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20CB
  673. #define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20CC
  674. DECLARE_HANDLE(HPVIDEODEV);
  675. typedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
  676. typedef BOOL (WINAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV* hVideoDevice);
  677. typedef BOOL (WINAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long* pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
  678. typedef BOOL (WINAPI * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice);
  679. typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer);
  680. typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long* pulCounterPbuffer, BOOL bBlock);
  681. #define wglBindVideoImageNV WGLEW_GET_FUN(__wglewBindVideoImageNV)
  682. #define wglGetVideoDeviceNV WGLEW_GET_FUN(__wglewGetVideoDeviceNV)
  683. #define wglGetVideoInfoNV WGLEW_GET_FUN(__wglewGetVideoInfoNV)
  684. #define wglReleaseVideoDeviceNV WGLEW_GET_FUN(__wglewReleaseVideoDeviceNV)
  685. #define wglReleaseVideoImageNV WGLEW_GET_FUN(__wglewReleaseVideoImageNV)
  686. #define wglSendPbufferToVideoNV WGLEW_GET_FUN(__wglewSendPbufferToVideoNV)
  687. #define WGLEW_NV_video_output WGLEW_GET_VAR(__WGLEW_NV_video_output)
  688. #endif /* WGL_NV_video_output */
  689. /* -------------------------- WGL_OML_sync_control ------------------------- */
  690. #ifndef WGL_OML_sync_control
  691. #define WGL_OML_sync_control 1
  692. typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32* numerator, INT32 *denominator);
  693. typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64* ust, INT64 *msc, INT64 *sbc);
  694. typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
  695. typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, INT fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
  696. typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64* ust, INT64 *msc, INT64 *sbc);
  697. typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64* ust, INT64 *msc, INT64 *sbc);
  698. #define wglGetMscRateOML WGLEW_GET_FUN(__wglewGetMscRateOML)
  699. #define wglGetSyncValuesOML WGLEW_GET_FUN(__wglewGetSyncValuesOML)
  700. #define wglSwapBuffersMscOML WGLEW_GET_FUN(__wglewSwapBuffersMscOML)
  701. #define wglSwapLayerBuffersMscOML WGLEW_GET_FUN(__wglewSwapLayerBuffersMscOML)
  702. #define wglWaitForMscOML WGLEW_GET_FUN(__wglewWaitForMscOML)
  703. #define wglWaitForSbcOML WGLEW_GET_FUN(__wglewWaitForSbcOML)
  704. #define WGLEW_OML_sync_control WGLEW_GET_VAR(__WGLEW_OML_sync_control)
  705. #endif /* WGL_OML_sync_control */
  706. /* ------------------------------------------------------------------------- */
  707. #ifdef GLEW_MX
  708. #define WGLEW_EXPORT
  709. #else
  710. #define WGLEW_EXPORT GLEWAPI
  711. #endif /* GLEW_MX */
  712. #ifdef GLEW_MX
  713. struct WGLEWContextStruct
  714. {
  715. #endif /* GLEW_MX */
  716. WGLEW_EXPORT PFNWGLSETSTEREOEMITTERSTATE3DLPROC __wglewSetStereoEmitterState3DL;
  717. WGLEW_EXPORT PFNWGLCREATEBUFFERREGIONARBPROC __wglewCreateBufferRegionARB;
  718. WGLEW_EXPORT PFNWGLDELETEBUFFERREGIONARBPROC __wglewDeleteBufferRegionARB;
  719. WGLEW_EXPORT PFNWGLRESTOREBUFFERREGIONARBPROC __wglewRestoreBufferRegionARB;
  720. WGLEW_EXPORT PFNWGLSAVEBUFFERREGIONARBPROC __wglewSaveBufferRegionARB;
  721. WGLEW_EXPORT PFNWGLCREATECONTEXTATTRIBSARBPROC __wglewCreateContextAttribsARB;
  722. WGLEW_EXPORT PFNWGLGETEXTENSIONSSTRINGARBPROC __wglewGetExtensionsStringARB;
  723. WGLEW_EXPORT PFNWGLGETCURRENTREADDCARBPROC __wglewGetCurrentReadDCARB;
  724. WGLEW_EXPORT PFNWGLMAKECONTEXTCURRENTARBPROC __wglewMakeContextCurrentARB;
  725. WGLEW_EXPORT PFNWGLCREATEPBUFFERARBPROC __wglewCreatePbufferARB;
  726. WGLEW_EXPORT PFNWGLDESTROYPBUFFERARBPROC __wglewDestroyPbufferARB;
  727. WGLEW_EXPORT PFNWGLGETPBUFFERDCARBPROC __wglewGetPbufferDCARB;
  728. WGLEW_EXPORT PFNWGLQUERYPBUFFERARBPROC __wglewQueryPbufferARB;
  729. WGLEW_EXPORT PFNWGLRELEASEPBUFFERDCARBPROC __wglewReleasePbufferDCARB;
  730. WGLEW_EXPORT PFNWGLCHOOSEPIXELFORMATARBPROC __wglewChoosePixelFormatARB;
  731. WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBFVARBPROC __wglewGetPixelFormatAttribfvARB;
  732. WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBIVARBPROC __wglewGetPixelFormatAttribivARB;
  733. WGLEW_EXPORT PFNWGLBINDTEXIMAGEARBPROC __wglewBindTexImageARB;
  734. WGLEW_EXPORT PFNWGLRELEASETEXIMAGEARBPROC __wglewReleaseTexImageARB;
  735. WGLEW_EXPORT PFNWGLSETPBUFFERATTRIBARBPROC __wglewSetPbufferAttribARB;
  736. WGLEW_EXPORT PFNWGLBINDDISPLAYCOLORTABLEEXTPROC __wglewBindDisplayColorTableEXT;
  737. WGLEW_EXPORT PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC __wglewCreateDisplayColorTableEXT;
  738. WGLEW_EXPORT PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC __wglewDestroyDisplayColorTableEXT;
  739. WGLEW_EXPORT PFNWGLLOADDISPLAYCOLORTABLEEXTPROC __wglewLoadDisplayColorTableEXT;
  740. WGLEW_EXPORT PFNWGLGETEXTENSIONSSTRINGEXTPROC __wglewGetExtensionsStringEXT;
  741. WGLEW_EXPORT PFNWGLGETCURRENTREADDCEXTPROC __wglewGetCurrentReadDCEXT;
  742. WGLEW_EXPORT PFNWGLMAKECONTEXTCURRENTEXTPROC __wglewMakeContextCurrentEXT;
  743. WGLEW_EXPORT PFNWGLCREATEPBUFFEREXTPROC __wglewCreatePbufferEXT;
  744. WGLEW_EXPORT PFNWGLDESTROYPBUFFEREXTPROC __wglewDestroyPbufferEXT;
  745. WGLEW_EXPORT PFNWGLGETPBUFFERDCEXTPROC __wglewGetPbufferDCEXT;
  746. WGLEW_EXPORT PFNWGLQUERYPBUFFEREXTPROC __wglewQueryPbufferEXT;
  747. WGLEW_EXPORT PFNWGLRELEASEPBUFFERDCEXTPROC __wglewReleasePbufferDCEXT;
  748. WGLEW_EXPORT PFNWGLCHOOSEPIXELFORMATEXTPROC __wglewChoosePixelFormatEXT;
  749. WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBFVEXTPROC __wglewGetPixelFormatAttribfvEXT;
  750. WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBIVEXTPROC __wglewGetPixelFormatAttribivEXT;
  751. WGLEW_EXPORT PFNWGLGETSWAPINTERVALEXTPROC __wglewGetSwapIntervalEXT;
  752. WGLEW_EXPORT PFNWGLSWAPINTERVALEXTPROC __wglewSwapIntervalEXT;
  753. WGLEW_EXPORT PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC __wglewGetDigitalVideoParametersI3D;
  754. WGLEW_EXPORT PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC __wglewSetDigitalVideoParametersI3D;
  755. WGLEW_EXPORT PFNWGLGETGAMMATABLEI3DPROC __wglewGetGammaTableI3D;
  756. WGLEW_EXPORT PFNWGLGETGAMMATABLEPARAMETERSI3DPROC __wglewGetGammaTableParametersI3D;
  757. WGLEW_EXPORT PFNWGLSETGAMMATABLEI3DPROC __wglewSetGammaTableI3D;
  758. WGLEW_EXPORT PFNWGLSETGAMMATABLEPARAMETERSI3DPROC __wglewSetGammaTableParametersI3D;
  759. WGLEW_EXPORT PFNWGLDISABLEGENLOCKI3DPROC __wglewDisableGenlockI3D;
  760. WGLEW_EXPORT PFNWGLENABLEGENLOCKI3DPROC __wglewEnableGenlockI3D;
  761. WGLEW_EXPORT PFNWGLGENLOCKSAMPLERATEI3DPROC __wglewGenlockSampleRateI3D;
  762. WGLEW_EXPORT PFNWGLGENLOCKSOURCEDELAYI3DPROC __wglewGenlockSourceDelayI3D;
  763. WGLEW_EXPORT PFNWGLGENLOCKSOURCEEDGEI3DPROC __wglewGenlockSourceEdgeI3D;
  764. WGLEW_EXPORT PFNWGLGENLOCKSOURCEI3DPROC __wglewGenlockSourceI3D;
  765. WGLEW_EXPORT PFNWGLGETGENLOCKSAMPLERATEI3DPROC __wglewGetGenlockSampleRateI3D;
  766. WGLEW_EXPORT PFNWGLGETGENLOCKSOURCEDELAYI3DPROC __wglewGetGenlockSourceDelayI3D;
  767. WGLEW_EXPORT PFNWGLGETGENLOCKSOURCEEDGEI3DPROC __wglewGetGenlockSourceEdgeI3D;
  768. WGLEW_EXPORT PFNWGLGETGENLOCKSOURCEI3DPROC __wglewGetGenlockSourceI3D;
  769. WGLEW_EXPORT PFNWGLISENABLEDGENLOCKI3DPROC __wglewIsEnabledGenlockI3D;
  770. WGLEW_EXPORT PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC __wglewQueryGenlockMaxSourceDelayI3D;
  771. WGLEW_EXPORT PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC __wglewAssociateImageBufferEventsI3D;
  772. WGLEW_EXPORT PFNWGLCREATEIMAGEBUFFERI3DPROC __wglewCreateImageBufferI3D;
  773. WGLEW_EXPORT PFNWGLDESTROYIMAGEBUFFERI3DPROC __wglewDestroyImageBufferI3D;
  774. WGLEW_EXPORT PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC __wglewReleaseImageBufferEventsI3D;
  775. WGLEW_EXPORT PFNWGLDISABLEFRAMELOCKI3DPROC __wglewDisableFrameLockI3D;
  776. WGLEW_EXPORT PFNWGLENABLEFRAMELOCKI3DPROC __wglewEnableFrameLockI3D;
  777. WGLEW_EXPORT PFNWGLISENABLEDFRAMELOCKI3DPROC __wglewIsEnabledFrameLockI3D;
  778. WGLEW_EXPORT PFNWGLQUERYFRAMELOCKMASTERI3DPROC __wglewQueryFrameLockMasterI3D;
  779. WGLEW_EXPORT PFNWGLBEGINFRAMETRACKINGI3DPROC __wglewBeginFrameTrackingI3D;
  780. WGLEW_EXPORT PFNWGLENDFRAMETRACKINGI3DPROC __wglewEndFrameTrackingI3D;
  781. WGLEW_EXPORT PFNWGLGETFRAMEUSAGEI3DPROC __wglewGetFrameUsageI3D;
  782. WGLEW_EXPORT PFNWGLQUERYFRAMETRACKINGI3DPROC __wglewQueryFrameTrackingI3D;
  783. WGLEW_EXPORT PFNWGLCREATEAFFINITYDCNVPROC __wglewCreateAffinityDCNV;
  784. WGLEW_EXPORT PFNWGLDELETEDCNVPROC __wglewDeleteDCNV;
  785. WGLEW_EXPORT PFNWGLENUMGPUDEVICESNVPROC __wglewEnumGpuDevicesNV;
  786. WGLEW_EXPORT PFNWGLENUMGPUSFROMAFFINITYDCNVPROC __wglewEnumGpusFromAffinityDCNV;
  787. WGLEW_EXPORT PFNWGLENUMGPUSNVPROC __wglewEnumGpusNV;
  788. WGLEW_EXPORT PFNWGLBINDVIDEODEVICENVPROC __wglewBindVideoDeviceNV;
  789. WGLEW_EXPORT PFNWGLENUMERATEVIDEODEVICESNVPROC __wglewEnumerateVideoDevicesNV;
  790. WGLEW_EXPORT PFNWGLQUERYCURRENTCONTEXTNVPROC __wglewQueryCurrentContextNV;
  791. WGLEW_EXPORT PFNWGLBINDSWAPBARRIERNVPROC __wglewBindSwapBarrierNV;
  792. WGLEW_EXPORT PFNWGLJOINSWAPGROUPNVPROC __wglewJoinSwapGroupNV;
  793. WGLEW_EXPORT PFNWGLQUERYFRAMECOUNTNVPROC __wglewQueryFrameCountNV;
  794. WGLEW_EXPORT PFNWGLQUERYMAXSWAPGROUPSNVPROC __wglewQueryMaxSwapGroupsNV;
  795. WGLEW_EXPORT PFNWGLQUERYSWAPGROUPNVPROC __wglewQuerySwapGroupNV;
  796. WGLEW_EXPORT PFNWGLRESETFRAMECOUNTNVPROC __wglewResetFrameCountNV;
  797. WGLEW_EXPORT PFNWGLALLOCATEMEMORYNVPROC __wglewAllocateMemoryNV;
  798. WGLEW_EXPORT PFNWGLFREEMEMORYNVPROC __wglewFreeMemoryNV;
  799. WGLEW_EXPORT PFNWGLBINDVIDEOIMAGENVPROC __wglewBindVideoImageNV;
  800. WGLEW_EXPORT PFNWGLGETVIDEODEVICENVPROC __wglewGetVideoDeviceNV;
  801. WGLEW_EXPORT PFNWGLGETVIDEOINFONVPROC __wglewGetVideoInfoNV;
  802. WGLEW_EXPORT PFNWGLRELEASEVIDEODEVICENVPROC __wglewReleaseVideoDeviceNV;
  803. WGLEW_EXPORT PFNWGLRELEASEVIDEOIMAGENVPROC __wglewReleaseVideoImageNV;
  804. WGLEW_EXPORT PFNWGLSENDPBUFFERTOVIDEONVPROC __wglewSendPbufferToVideoNV;
  805. WGLEW_EXPORT PFNWGLGETMSCRATEOMLPROC __wglewGetMscRateOML;
  806. WGLEW_EXPORT PFNWGLGETSYNCVALUESOMLPROC __wglewGetSyncValuesOML;
  807. WGLEW_EXPORT PFNWGLSWAPBUFFERSMSCOMLPROC __wglewSwapBuffersMscOML;
  808. WGLEW_EXPORT PFNWGLSWAPLAYERBUFFERSMSCOMLPROC __wglewSwapLayerBuffersMscOML;
  809. WGLEW_EXPORT PFNWGLWAITFORMSCOMLPROC __wglewWaitForMscOML;
  810. WGLEW_EXPORT PFNWGLWAITFORSBCOMLPROC __wglewWaitForSbcOML;
  811. WGLEW_EXPORT GLboolean __WGLEW_3DFX_multisample;
  812. WGLEW_EXPORT GLboolean __WGLEW_3DL_stereo_control;
  813. WGLEW_EXPORT GLboolean __WGLEW_ARB_buffer_region;
  814. WGLEW_EXPORT GLboolean __WGLEW_ARB_create_context;
  815. WGLEW_EXPORT GLboolean __WGLEW_ARB_extensions_string;
  816. WGLEW_EXPORT GLboolean __WGLEW_ARB_framebuffer_sRGB;
  817. WGLEW_EXPORT GLboolean __WGLEW_ARB_make_current_read;
  818. WGLEW_EXPORT GLboolean __WGLEW_ARB_multisample;
  819. WGLEW_EXPORT GLboolean __WGLEW_ARB_pbuffer;
  820. WGLEW_EXPORT GLboolean __WGLEW_ARB_pixel_format;
  821. WGLEW_EXPORT GLboolean __WGLEW_ARB_pixel_format_float;
  822. WGLEW_EXPORT GLboolean __WGLEW_ARB_render_texture;
  823. WGLEW_EXPORT GLboolean __WGLEW_ATI_pixel_format_float;
  824. WGLEW_EXPORT GLboolean __WGLEW_ATI_render_texture_rectangle;
  825. WGLEW_EXPORT GLboolean __WGLEW_EXT_depth_float;
  826. WGLEW_EXPORT GLboolean __WGLEW_EXT_display_color_table;
  827. WGLEW_EXPORT GLboolean __WGLEW_EXT_extensions_string;
  828. WGLEW_EXPORT GLboolean __WGLEW_EXT_framebuffer_sRGB;
  829. WGLEW_EXPORT GLboolean __WGLEW_EXT_make_current_read;
  830. WGLEW_EXPORT GLboolean __WGLEW_EXT_multisample;
  831. WGLEW_EXPORT GLboolean __WGLEW_EXT_pbuffer;
  832. WGLEW_EXPORT GLboolean __WGLEW_EXT_pixel_format;
  833. WGLEW_EXPORT GLboolean __WGLEW_EXT_pixel_format_packed_float;
  834. WGLEW_EXPORT GLboolean __WGLEW_EXT_swap_control;
  835. WGLEW_EXPORT GLboolean __WGLEW_I3D_digital_video_control;
  836. WGLEW_EXPORT GLboolean __WGLEW_I3D_gamma;
  837. WGLEW_EXPORT GLboolean __WGLEW_I3D_genlock;
  838. WGLEW_EXPORT GLboolean __WGLEW_I3D_image_buffer;
  839. WGLEW_EXPORT GLboolean __WGLEW_I3D_swap_frame_lock;
  840. WGLEW_EXPORT GLboolean __WGLEW_I3D_swap_frame_usage;
  841. WGLEW_EXPORT GLboolean __WGLEW_NV_float_buffer;
  842. WGLEW_EXPORT GLboolean __WGLEW_NV_gpu_affinity;
  843. WGLEW_EXPORT GLboolean __WGLEW_NV_present_video;
  844. WGLEW_EXPORT GLboolean __WGLEW_NV_render_depth_texture;
  845. WGLEW_EXPORT GLboolean __WGLEW_NV_render_texture_rectangle;
  846. WGLEW_EXPORT GLboolean __WGLEW_NV_swap_group;
  847. WGLEW_EXPORT GLboolean __WGLEW_NV_vertex_array_range;
  848. WGLEW_EXPORT GLboolean __WGLEW_NV_video_output;
  849. WGLEW_EXPORT GLboolean __WGLEW_OML_sync_control;
  850. #ifdef GLEW_MX
  851. }; /* WGLEWContextStruct */
  852. #endif /* GLEW_MX */
  853. /* ------------------------------------------------------------------------- */
  854. #ifdef GLEW_MX
  855. typedef struct WGLEWContextStruct WGLEWContext;
  856. GLEWAPI GLenum wglewContextInit (WGLEWContext* ctx);
  857. GLEWAPI GLboolean wglewContextIsSupported (WGLEWContext* ctx, const char* name);
  858. #define wglewInit() wglewContextInit(wglewGetContext())
  859. #define wglewIsSupported(x) wglewContextIsSupported(wglewGetContext(), x)
  860. #define WGLEW_GET_VAR(x) (*(const GLboolean*)&(wglewGetContext()->x))
  861. #define WGLEW_GET_FUN(x) wglewGetContext()->x
  862. #else /* GLEW_MX */
  863. #define WGLEW_GET_VAR(x) (*(const GLboolean*)&x)
  864. #define WGLEW_GET_FUN(x) x
  865. GLEWAPI GLboolean wglewIsSupported (const char* name);
  866. #endif /* GLEW_MX */
  867. GLEWAPI GLboolean wglewGetExtension (const char* name);
  868. #ifdef __cplusplus
  869. }
  870. #endif
  871. #undef GLEWAPI
  872. #endif /* __wglew_h__ */