glplatform-wgl.h 42 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310
  1. #ifndef GL_BINDIFY_wgl_H
  2. #define GL_BINDIFY_wgl_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #include <windows.h>
  7. #include <stdint.h>
  8. #include <stddef.h>
  9. #include <string.h>
  10. #include <stdbool.h>
  11. #ifndef GLBINDIFY_COMMON_GL_TYPEDEFS
  12. #define GLBINDIFY_COMMON_GL_TYPEDEFS
  13. typedef unsigned int GLenum;
  14. typedef unsigned char GLboolean;
  15. typedef unsigned int GLbitfield;
  16. typedef signed char GLbyte;
  17. typedef short GLshort;
  18. typedef int GLint;
  19. typedef unsigned char GLubyte;
  20. typedef unsigned short GLushort;
  21. typedef unsigned int GLuint;
  22. typedef int GLsizei;
  23. typedef float GLfloat;
  24. typedef double GLdouble;
  25. typedef ptrdiff_t GLintptr;
  26. typedef ptrdiff_t GLsizeiptr;
  27. #endif
  28. #ifndef GLPLATFORM_WGL_VERSION
  29. #define GLPLATFORM_WGL_VERSION 10
  30. #endif
  31. #ifndef GLPLATFORM_TYPE_BOOL
  32. #define GLPLATFORM_TYPE_BOOL
  33. #endif
  34. #ifndef GLPLATFORM_TYPE_COLORREF
  35. #define GLPLATFORM_TYPE_COLORREF
  36. #endif
  37. #ifndef GLPLATFORM_TYPE_DWORD
  38. #define GLPLATFORM_TYPE_DWORD
  39. #endif
  40. #ifndef GLPLATFORM_TYPE_FLOAT
  41. #define GLPLATFORM_TYPE_FLOAT
  42. #endif
  43. #ifndef GLPLATFORM_TYPE_HDC
  44. #define GLPLATFORM_TYPE_HDC
  45. #endif
  46. #ifndef GLPLATFORM_TYPE_HGLRC
  47. #define GLPLATFORM_TYPE_HGLRC
  48. #endif
  49. #ifndef GLPLATFORM_TYPE_LAYERPLANEDESCRIPTOR
  50. #define GLPLATFORM_TYPE_LAYERPLANEDESCRIPTOR
  51. #endif
  52. #ifndef GLPLATFORM_TYPE_LPCSTR
  53. #define GLPLATFORM_TYPE_LPCSTR
  54. #endif
  55. #ifndef GLPLATFORM_TYPE_LPGLYPHMETRICSFLOAT
  56. #define GLPLATFORM_TYPE_LPGLYPHMETRICSFLOAT
  57. #endif
  58. #ifndef GLPLATFORM_TYPE_PROC
  59. #define GLPLATFORM_TYPE_PROC
  60. #endif
  61. #ifndef GLPLATFORM_TYPE_UINT
  62. #define GLPLATFORM_TYPE_UINT
  63. #endif
  64. #define WGL_FONT_LINES 0x0
  65. #define WGL_FONT_POLYGONS 0x1
  66. #define WGL_SWAP_MAIN_PLANE 0x1
  67. #define WGL_SWAP_OVERLAY1 0x2
  68. #define WGL_SWAP_OVERLAY10 0x400
  69. #define WGL_SWAP_OVERLAY11 0x800
  70. #define WGL_SWAP_OVERLAY12 0x1000
  71. #define WGL_SWAP_OVERLAY13 0x2000
  72. #define WGL_SWAP_OVERLAY14 0x4000
  73. #define WGL_SWAP_OVERLAY15 0x8000
  74. #define WGL_SWAP_OVERLAY2 0x4
  75. #define WGL_SWAP_OVERLAY3 0x8
  76. #define WGL_SWAP_OVERLAY4 0x10
  77. #define WGL_SWAP_OVERLAY5 0x20
  78. #define WGL_SWAP_OVERLAY6 0x40
  79. #define WGL_SWAP_OVERLAY7 0x80
  80. #define WGL_SWAP_OVERLAY8 0x100
  81. #define WGL_SWAP_OVERLAY9 0x200
  82. #define WGL_SWAP_UNDERLAY1 0x10000
  83. #define WGL_SWAP_UNDERLAY10 0x2000000
  84. #define WGL_SWAP_UNDERLAY11 0x4000000
  85. #define WGL_SWAP_UNDERLAY12 0x8000000
  86. #define WGL_SWAP_UNDERLAY13 0x10000000
  87. #define WGL_SWAP_UNDERLAY14 0x20000000
  88. #define WGL_SWAP_UNDERLAY15 0x40000000
  89. #define WGL_SWAP_UNDERLAY2 0x20000
  90. #define WGL_SWAP_UNDERLAY3 0x40000
  91. #define WGL_SWAP_UNDERLAY4 0x80000
  92. #define WGL_SWAP_UNDERLAY5 0x100000
  93. #define WGL_SWAP_UNDERLAY6 0x200000
  94. #define WGL_SWAP_UNDERLAY7 0x400000
  95. #define WGL_SWAP_UNDERLAY8 0x800000
  96. #define WGL_SWAP_UNDERLAY9 0x1000000
  97. #define wglCopyContext _glplatform_wglCopyContext
  98. extern BOOL (*wglCopyContext)(HGLRC, HGLRC, UINT);
  99. /*
  100. #define wglCreateContext__org wglCreateContext
  101. #define wglCreateContext _glplatform_wglCreateContext
  102. extern HGLRC (*wglCreateContext)(HDC);
  103. */
  104. #define wglCreateLayerContext _glplatform_wglCreateLayerContext
  105. extern HGLRC (*wglCreateLayerContext)(HDC, int );
  106. #define wglDeleteContext _glplatform_wglDeleteContext
  107. extern BOOL (*wglDeleteContext)(HGLRC);
  108. #define wglDescribeLayerPlane _glplatform_wglDescribeLayerPlane
  109. extern BOOL (*wglDescribeLayerPlane)(HDC, int , int , UINT, const LAYERPLANEDESCRIPTOR *);
  110. #define wglGetCurrentContext _glplatform_wglGetCurrentContext
  111. extern HGLRC (*wglGetCurrentContext)();
  112. #define wglGetCurrentDC _glplatform_wglGetCurrentDC
  113. extern HDC (*wglGetCurrentDC)();
  114. #define wglGetLayerPaletteEntries _glplatform_wglGetLayerPaletteEntries
  115. extern int (*wglGetLayerPaletteEntries)(HDC, int , int , int , const COLORREF *);
  116. #define wglGetProcAddress _glplatform_wglGetProcAddress
  117. extern PROC (*wglGetProcAddress)(LPCSTR);
  118. /*
  119. #define wglMakeCurrent__org wglMakeCurrent
  120. #define wglMakeCurrent _glplatform_wglMakeCurrent
  121. extern BOOL (*wglMakeCurrent)(HDC, HGLRC);
  122. */
  123. #define wglRealizeLayerPalette _glplatform_wglRealizeLayerPalette
  124. extern BOOL (*wglRealizeLayerPalette)(HDC, int , BOOL);
  125. #define wglSetLayerPaletteEntries _glplatform_wglSetLayerPaletteEntries
  126. extern int (*wglSetLayerPaletteEntries)(HDC, int , int , int , const COLORREF *);
  127. #define wglShareLists _glplatform_wglShareLists
  128. extern BOOL (*wglShareLists)(HGLRC, HGLRC);
  129. #define wglSwapLayerBuffers _glplatform_wglSwapLayerBuffers
  130. extern BOOL (*wglSwapLayerBuffers)(HDC, UINT);
  131. #define wglUseFontBitmaps _glplatform_wglUseFontBitmaps
  132. extern BOOL (*wglUseFontBitmaps)(HDC, DWORD, DWORD, DWORD);
  133. #define wglUseFontBitmapsA _glplatform_wglUseFontBitmapsA
  134. extern BOOL (*wglUseFontBitmapsA)(HDC, DWORD, DWORD, DWORD);
  135. #define wglUseFontBitmapsW _glplatform_wglUseFontBitmapsW
  136. extern BOOL (*wglUseFontBitmapsW)(HDC, DWORD, DWORD, DWORD);
  137. #define wglUseFontOutlines _glplatform_wglUseFontOutlines
  138. extern BOOL (*wglUseFontOutlines)(HDC, DWORD, DWORD, DWORD, FLOAT, FLOAT, int , LPGLYPHMETRICSFLOAT);
  139. #define wglUseFontOutlinesA _glplatform_wglUseFontOutlinesA
  140. extern BOOL (*wglUseFontOutlinesA)(HDC, DWORD, DWORD, DWORD, FLOAT, FLOAT, int , LPGLYPHMETRICSFLOAT);
  141. #define wglUseFontOutlinesW _glplatform_wglUseFontOutlinesW
  142. extern BOOL (*wglUseFontOutlinesW)(HDC, DWORD, DWORD, DWORD, FLOAT, FLOAT, int , LPGLYPHMETRICSFLOAT);
  143. #if defined(GLPLATFORM_ENABLE_WGL_3DFX_multisample)
  144. extern bool GLPLATFORM_WGL_3DFX_multisample;
  145. #define WGL_SAMPLES_3DFX 0x2061
  146. #define WGL_SAMPLE_BUFFERS_3DFX 0x2060
  147. #endif
  148. #if defined(GLPLATFORM_ENABLE_WGL_3DL_stereo_control)
  149. extern bool GLPLATFORM_WGL_3DL_stereo_control;
  150. #ifndef GLPLATFORM_TYPE_BOOL
  151. #define GLPLATFORM_TYPE_BOOL
  152. #endif
  153. #ifndef GLPLATFORM_TYPE_HDC
  154. #define GLPLATFORM_TYPE_HDC
  155. #endif
  156. #ifndef GLPLATFORM_TYPE_UINT
  157. #define GLPLATFORM_TYPE_UINT
  158. #endif
  159. #define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056
  160. #define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055
  161. #define WGL_STEREO_POLARITY_INVERT_3DL 0x2058
  162. #define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057
  163. #define wglSetStereoEmitterState3DL _glplatform_wglSetStereoEmitterState3DL
  164. extern BOOL (*wglSetStereoEmitterState3DL)(HDC, UINT);
  165. #endif
  166. #if defined(GLPLATFORM_ENABLE_WGL_AMD_gpu_association)
  167. extern bool GLPLATFORM_WGL_AMD_gpu_association;
  168. #ifndef GLPLATFORM_TYPE_BOOL
  169. #define GLPLATFORM_TYPE_BOOL
  170. #endif
  171. #ifndef GLPLATFORM_TYPE_HGLRC
  172. #define GLPLATFORM_TYPE_HGLRC
  173. #endif
  174. #ifndef GLPLATFORM_TYPE_INT
  175. #define GLPLATFORM_TYPE_INT
  176. #endif
  177. #ifndef GLPLATFORM_TYPE_UINT
  178. #define GLPLATFORM_TYPE_UINT
  179. #endif
  180. #ifndef GLPLATFORM_TYPE_VOID
  181. #define GLPLATFORM_TYPE_VOID
  182. #endif
  183. #define WGL_GPU_CLOCK_AMD 0x21a4
  184. #define WGL_GPU_FASTEST_TARGET_GPUS_AMD 0x21a2
  185. #define WGL_GPU_NUM_PIPES_AMD 0x21a5
  186. #define WGL_GPU_NUM_RB_AMD 0x21a7
  187. #define WGL_GPU_NUM_SIMD_AMD 0x21a6
  188. #define WGL_GPU_NUM_SPI_AMD 0x21a8
  189. #define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1f02
  190. #define WGL_GPU_RAM_AMD 0x21a3
  191. #define WGL_GPU_RENDERER_STRING_AMD 0x1f01
  192. #define WGL_GPU_VENDOR_AMD 0x1f00
  193. #define wglBlitContextFramebufferAMD _glplatform_wglBlitContextFramebufferAMD
  194. extern VOID (*wglBlitContextFramebufferAMD)(HGLRC, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
  195. #define wglCreateAssociatedContextAMD _glplatform_wglCreateAssociatedContextAMD
  196. extern HGLRC (*wglCreateAssociatedContextAMD)(UINT);
  197. #define wglCreateAssociatedContextAttribsAMD _glplatform_wglCreateAssociatedContextAttribsAMD
  198. extern HGLRC (*wglCreateAssociatedContextAttribsAMD)(UINT, HGLRC, const int *);
  199. #define wglDeleteAssociatedContextAMD _glplatform_wglDeleteAssociatedContextAMD
  200. extern BOOL (*wglDeleteAssociatedContextAMD)(HGLRC);
  201. #define wglGetContextGPUIDAMD _glplatform_wglGetContextGPUIDAMD
  202. extern UINT (*wglGetContextGPUIDAMD)(HGLRC);
  203. #define wglGetCurrentAssociatedContextAMD _glplatform_wglGetCurrentAssociatedContextAMD
  204. extern HGLRC (*wglGetCurrentAssociatedContextAMD)();
  205. #define wglGetGPUIDsAMD _glplatform_wglGetGPUIDsAMD
  206. extern UINT (*wglGetGPUIDsAMD)(UINT, UINT *);
  207. #define wglGetGPUInfoAMD _glplatform_wglGetGPUInfoAMD
  208. extern INT (*wglGetGPUInfoAMD)(UINT, int , GLenum, UINT, void *);
  209. #define wglMakeAssociatedContextCurrentAMD _glplatform_wglMakeAssociatedContextCurrentAMD
  210. extern BOOL (*wglMakeAssociatedContextCurrentAMD)(HGLRC);
  211. #endif
  212. #if defined(GLPLATFORM_ENABLE_WGL_ARB_buffer_region)
  213. extern bool GLPLATFORM_WGL_ARB_buffer_region;
  214. #ifndef GLPLATFORM_TYPE_BOOL
  215. #define GLPLATFORM_TYPE_BOOL
  216. #endif
  217. #ifndef GLPLATFORM_TYPE_HANDLE
  218. #define GLPLATFORM_TYPE_HANDLE
  219. #endif
  220. #ifndef GLPLATFORM_TYPE_HDC
  221. #define GLPLATFORM_TYPE_HDC
  222. #endif
  223. #ifndef GLPLATFORM_TYPE_UINT
  224. #define GLPLATFORM_TYPE_UINT
  225. #endif
  226. #ifndef GLPLATFORM_TYPE_VOID
  227. #define GLPLATFORM_TYPE_VOID
  228. #endif
  229. #define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x2
  230. #define WGL_DEPTH_BUFFER_BIT_ARB 0x4
  231. #define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x1
  232. #define WGL_STENCIL_BUFFER_BIT_ARB 0x8
  233. #define wglCreateBufferRegionARB _glplatform_wglCreateBufferRegionARB
  234. extern HANDLE (*wglCreateBufferRegionARB)(HDC, int , UINT);
  235. #define wglDeleteBufferRegionARB _glplatform_wglDeleteBufferRegionARB
  236. extern VOID (*wglDeleteBufferRegionARB)(HANDLE);
  237. #define wglRestoreBufferRegionARB _glplatform_wglRestoreBufferRegionARB
  238. extern BOOL (*wglRestoreBufferRegionARB)(HANDLE, int , int , int , int , int , int );
  239. #define wglSaveBufferRegionARB _glplatform_wglSaveBufferRegionARB
  240. extern BOOL (*wglSaveBufferRegionARB)(HANDLE, int , int , int , int );
  241. #endif
  242. #if defined(GLPLATFORM_ENABLE_WGL_ARB_context_flush_control)
  243. extern bool GLPLATFORM_WGL_ARB_context_flush_control;
  244. #define WGL_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097
  245. #define WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098
  246. #define WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0x0
  247. #endif
  248. #if defined(GLPLATFORM_ENABLE_WGL_ARB_create_context)
  249. extern bool GLPLATFORM_WGL_ARB_create_context;
  250. #ifndef GLPLATFORM_TYPE_HDC
  251. #define GLPLATFORM_TYPE_HDC
  252. #endif
  253. #ifndef GLPLATFORM_TYPE_HGLRC
  254. #define GLPLATFORM_TYPE_HGLRC
  255. #endif
  256. #define WGL_CONTEXT_DEBUG_BIT_ARB 0x1
  257. #define WGL_CONTEXT_FLAGS_ARB 0x2094
  258. #define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x2
  259. #define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
  260. #define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
  261. #define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092
  262. #define wglCreateContextAttribsARB _glplatform_wglCreateContextAttribsARB
  263. #define wglCreateContextAttribsARB__org wglCreateContextAttribsARB
  264. extern HGLRC (*wglCreateContextAttribsARB)(HDC, HGLRC, const int *);
  265. #endif
  266. #if defined(GLPLATFORM_ENABLE_WGL_ARB_create_context_profile)
  267. extern bool GLPLATFORM_WGL_ARB_create_context_profile;
  268. #define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x2
  269. #define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x1
  270. #define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126
  271. #endif
  272. #if defined(GLPLATFORM_ENABLE_WGL_ARB_create_context_robustness)
  273. extern bool GLPLATFORM_WGL_ARB_create_context_robustness;
  274. #define WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
  275. #define WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x4
  276. #define WGL_LOSE_CONTEXT_ON_RESET_ARB 0x8252
  277. #define WGL_NO_RESET_NOTIFICATION_ARB 0x8261
  278. #endif
  279. #if defined(GLPLATFORM_ENABLE_WGL_ARB_extensions_string)
  280. extern bool GLPLATFORM_WGL_ARB_extensions_string;
  281. #ifndef GLPLATFORM_TYPE_HDC
  282. #define GLPLATFORM_TYPE_HDC
  283. #endif
  284. #define wglGetExtensionsStringARB _glplatform_wglGetExtensionsStringARB
  285. extern const char * (*wglGetExtensionsStringARB)(HDC);
  286. #endif
  287. #if defined(GLPLATFORM_ENABLE_WGL_ARB_framebuffer_sRGB)
  288. extern bool GLPLATFORM_WGL_ARB_framebuffer_sRGB;
  289. #define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20a9
  290. #endif
  291. #if defined(GLPLATFORM_ENABLE_WGL_ARB_make_current_read)
  292. extern bool GLPLATFORM_WGL_ARB_make_current_read;
  293. #ifndef GLPLATFORM_TYPE_BOOL
  294. #define GLPLATFORM_TYPE_BOOL
  295. #endif
  296. #ifndef GLPLATFORM_TYPE_HDC
  297. #define GLPLATFORM_TYPE_HDC
  298. #endif
  299. #ifndef GLPLATFORM_TYPE_HGLRC
  300. #define GLPLATFORM_TYPE_HGLRC
  301. #endif
  302. #define wglGetCurrentReadDCARB _glplatform_wglGetCurrentReadDCARB
  303. extern HDC (*wglGetCurrentReadDCARB)();
  304. #define wglMakeContextCurrentARB _glplatform_wglMakeContextCurrentARB
  305. extern BOOL (*wglMakeContextCurrentARB)(HDC, HDC, HGLRC);
  306. #endif
  307. #if defined(GLPLATFORM_ENABLE_WGL_ARB_multisample)
  308. extern bool GLPLATFORM_WGL_ARB_multisample;
  309. #define WGL_SAMPLES_ARB 0x2042
  310. #define WGL_SAMPLE_BUFFERS_ARB 0x2041
  311. #endif
  312. #if defined(GLPLATFORM_ENABLE_WGL_ARB_pbuffer)
  313. extern bool GLPLATFORM_WGL_ARB_pbuffer;
  314. #ifndef GLPLATFORM_TYPE_BOOL
  315. #define GLPLATFORM_TYPE_BOOL
  316. #endif
  317. #ifndef GLPLATFORM_TYPE_HDC
  318. #define GLPLATFORM_TYPE_HDC
  319. #endif
  320. #ifndef GLPLATFORM_TYPE_HPBUFFERARB
  321. #define GLPLATFORM_TYPE_HPBUFFERARB
  322. DECLARE_HANDLE(HPBUFFERARB);
  323. #endif
  324. #define WGL_DRAW_TO_PBUFFER_ARB 0x202d
  325. #define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030
  326. #define WGL_MAX_PBUFFER_PIXELS_ARB 0x202e
  327. #define WGL_MAX_PBUFFER_WIDTH_ARB 0x202f
  328. #define WGL_PBUFFER_HEIGHT_ARB 0x2035
  329. #define WGL_PBUFFER_LARGEST_ARB 0x2033
  330. #define WGL_PBUFFER_LOST_ARB 0x2036
  331. #define WGL_PBUFFER_WIDTH_ARB 0x2034
  332. #define wglCreatePbufferARB _glplatform_wglCreatePbufferARB
  333. extern HPBUFFERARB (*wglCreatePbufferARB)(HDC, int , int , int , const int *);
  334. #define wglDestroyPbufferARB _glplatform_wglDestroyPbufferARB
  335. extern BOOL (*wglDestroyPbufferARB)(HPBUFFERARB);
  336. #define wglGetPbufferDCARB _glplatform_wglGetPbufferDCARB
  337. extern HDC (*wglGetPbufferDCARB)(HPBUFFERARB);
  338. #define wglQueryPbufferARB _glplatform_wglQueryPbufferARB
  339. extern BOOL (*wglQueryPbufferARB)(HPBUFFERARB, int , int *);
  340. #define wglReleasePbufferDCARB _glplatform_wglReleasePbufferDCARB
  341. extern int (*wglReleasePbufferDCARB)(HPBUFFERARB, HDC);
  342. #endif
  343. #if defined(GLPLATFORM_ENABLE_WGL_ARB_pixel_format)
  344. extern bool GLPLATFORM_WGL_ARB_pixel_format;
  345. #ifndef GLPLATFORM_TYPE_BOOL
  346. #define GLPLATFORM_TYPE_BOOL
  347. #endif
  348. #ifndef GLPLATFORM_TYPE_FLOAT
  349. #define GLPLATFORM_TYPE_FLOAT
  350. #endif
  351. #ifndef GLPLATFORM_TYPE_HDC
  352. #define GLPLATFORM_TYPE_HDC
  353. #endif
  354. #ifndef GLPLATFORM_TYPE_UINT
  355. #define GLPLATFORM_TYPE_UINT
  356. #endif
  357. #define WGL_ACCELERATION_ARB 0x2003
  358. #define WGL_ACCUM_ALPHA_BITS_ARB 0x2021
  359. #define WGL_ACCUM_BITS_ARB 0x201d
  360. #define WGL_ACCUM_BLUE_BITS_ARB 0x2020
  361. #define WGL_ACCUM_GREEN_BITS_ARB 0x201f
  362. #define WGL_ACCUM_RED_BITS_ARB 0x201e
  363. #define WGL_ALPHA_BITS_ARB 0x201b
  364. #define WGL_ALPHA_SHIFT_ARB 0x201c
  365. #define WGL_AUX_BUFFERS_ARB 0x2024
  366. #define WGL_BLUE_BITS_ARB 0x2019
  367. #define WGL_BLUE_SHIFT_ARB 0x201a
  368. #define WGL_COLOR_BITS_ARB 0x2014
  369. #define WGL_DEPTH_BITS_ARB 0x2022
  370. #define WGL_DOUBLE_BUFFER_ARB 0x2011
  371. #define WGL_DRAW_TO_BITMAP_ARB 0x2002
  372. #define WGL_DRAW_TO_WINDOW_ARB 0x2001
  373. #define WGL_FULL_ACCELERATION_ARB 0x2027
  374. #define WGL_GENERIC_ACCELERATION_ARB 0x2026
  375. #define WGL_GREEN_BITS_ARB 0x2017
  376. #define WGL_GREEN_SHIFT_ARB 0x2018
  377. #define WGL_NEED_PALETTE_ARB 0x2004
  378. #define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005
  379. #define WGL_NO_ACCELERATION_ARB 0x2025
  380. #define WGL_NUMBER_OVERLAYS_ARB 0x2008
  381. #define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000
  382. #define WGL_NUMBER_UNDERLAYS_ARB 0x2009
  383. #define WGL_PIXEL_TYPE_ARB 0x2013
  384. #define WGL_RED_BITS_ARB 0x2015
  385. #define WGL_RED_SHIFT_ARB 0x2016
  386. #define WGL_SHARE_ACCUM_ARB 0x200e
  387. #define WGL_SHARE_DEPTH_ARB 0x200c
  388. #define WGL_SHARE_STENCIL_ARB 0x200d
  389. #define WGL_STENCIL_BITS_ARB 0x2023
  390. #define WGL_STEREO_ARB 0x2012
  391. #define WGL_SUPPORT_GDI_ARB 0x200f
  392. #define WGL_SUPPORT_OPENGL_ARB 0x2010
  393. #define WGL_SWAP_COPY_ARB 0x2029
  394. #define WGL_SWAP_EXCHANGE_ARB 0x2028
  395. #define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006
  396. #define WGL_SWAP_METHOD_ARB 0x2007
  397. #define WGL_SWAP_UNDEFINED_ARB 0x202a
  398. #define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203a
  399. #define WGL_TRANSPARENT_ARB 0x200a
  400. #define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
  401. #define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
  402. #define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203b
  403. #define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037
  404. #define WGL_TYPE_COLORINDEX_ARB 0x202c
  405. #define WGL_TYPE_RGBA_ARB 0x202b
  406. #define wglChoosePixelFormatARB _glplatform_wglChoosePixelFormatARB
  407. extern BOOL (*wglChoosePixelFormatARB)(HDC, const int *, const FLOAT *, UINT, int *, UINT *);
  408. #define wglGetPixelFormatAttribfvARB _glplatform_wglGetPixelFormatAttribfvARB
  409. extern BOOL (*wglGetPixelFormatAttribfvARB)(HDC, int , int , UINT, const int *, FLOAT *);
  410. #define wglGetPixelFormatAttribivARB _glplatform_wglGetPixelFormatAttribivARB
  411. extern BOOL (*wglGetPixelFormatAttribivARB)(HDC, int , int , UINT, const int *, int *);
  412. #endif
  413. #if defined(GLPLATFORM_ENABLE_WGL_ARB_pixel_format_float)
  414. extern bool GLPLATFORM_WGL_ARB_pixel_format_float;
  415. #define WGL_TYPE_RGBA_FLOAT_ARB 0x21a0
  416. #endif
  417. #if defined(GLPLATFORM_ENABLE_WGL_ARB_render_texture)
  418. extern bool GLPLATFORM_WGL_ARB_render_texture;
  419. #ifndef GLPLATFORM_TYPE_BOOL
  420. #define GLPLATFORM_TYPE_BOOL
  421. #endif
  422. #ifndef GLPLATFORM_TYPE_HPBUFFERARB
  423. #define GLPLATFORM_TYPE_HPBUFFERARB
  424. DECLARE_HANDLE(HPBUFFERARB);
  425. #endif
  426. #define WGL_AUX0_ARB 0x2087
  427. #define WGL_AUX1_ARB 0x2088
  428. #define WGL_AUX2_ARB 0x2089
  429. #define WGL_AUX3_ARB 0x208a
  430. #define WGL_AUX4_ARB 0x208b
  431. #define WGL_AUX5_ARB 0x208c
  432. #define WGL_AUX6_ARB 0x208d
  433. #define WGL_AUX7_ARB 0x208e
  434. #define WGL_AUX8_ARB 0x208f
  435. #define WGL_AUX9_ARB 0x2090
  436. #define WGL_BACK_LEFT_ARB 0x2085
  437. #define WGL_BACK_RIGHT_ARB 0x2086
  438. #define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071
  439. #define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070
  440. #define WGL_CUBE_MAP_FACE_ARB 0x207c
  441. #define WGL_FRONT_LEFT_ARB 0x2083
  442. #define WGL_FRONT_RIGHT_ARB 0x2084
  443. #define WGL_MIPMAP_LEVEL_ARB 0x207b
  444. #define WGL_MIPMAP_TEXTURE_ARB 0x2074
  445. #define WGL_NO_TEXTURE_ARB 0x2077
  446. #define WGL_TEXTURE_1D_ARB 0x2079
  447. #define WGL_TEXTURE_2D_ARB 0x207a
  448. #define WGL_TEXTURE_CUBE_MAP_ARB 0x2078
  449. #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207e
  450. #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080
  451. #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082
  452. #define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207d
  453. #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207f
  454. #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081
  455. #define WGL_TEXTURE_FORMAT_ARB 0x2072
  456. #define WGL_TEXTURE_RGBA_ARB 0x2076
  457. #define WGL_TEXTURE_RGB_ARB 0x2075
  458. #define WGL_TEXTURE_TARGET_ARB 0x2073
  459. #define wglBindTexImageARB _glplatform_wglBindTexImageARB
  460. extern BOOL (*wglBindTexImageARB)(HPBUFFERARB, int );
  461. #define wglReleaseTexImageARB _glplatform_wglReleaseTexImageARB
  462. extern BOOL (*wglReleaseTexImageARB)(HPBUFFERARB, int );
  463. #define wglSetPbufferAttribARB _glplatform_wglSetPbufferAttribARB
  464. extern BOOL (*wglSetPbufferAttribARB)(HPBUFFERARB, const int *);
  465. #endif
  466. #if defined(GLPLATFORM_ENABLE_WGL_ARB_robustness_application_isolation)
  467. extern bool GLPLATFORM_WGL_ARB_robustness_application_isolation;
  468. #define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x8
  469. #endif
  470. #if defined(GLPLATFORM_ENABLE_WGL_ARB_robustness_share_group_isolation)
  471. extern bool GLPLATFORM_WGL_ARB_robustness_share_group_isolation;
  472. #define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x8
  473. #endif
  474. #if defined(GLPLATFORM_ENABLE_WGL_ATI_pixel_format_float)
  475. extern bool GLPLATFORM_WGL_ATI_pixel_format_float;
  476. #define WGL_TYPE_RGBA_FLOAT_ATI 0x21a0
  477. #endif
  478. #if defined(GLPLATFORM_ENABLE_WGL_EXT_create_context_es2_profile)
  479. extern bool GLPLATFORM_WGL_EXT_create_context_es2_profile;
  480. #define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x4
  481. #endif
  482. #if defined(GLPLATFORM_ENABLE_WGL_EXT_create_context_es_profile)
  483. extern bool GLPLATFORM_WGL_EXT_create_context_es_profile;
  484. #define WGL_CONTEXT_ES_PROFILE_BIT_EXT 0x4
  485. #endif
  486. #if defined(GLPLATFORM_ENABLE_WGL_EXT_depth_float)
  487. extern bool GLPLATFORM_WGL_EXT_depth_float;
  488. #define WGL_DEPTH_FLOAT_EXT 0x2040
  489. #endif
  490. #if defined(GLPLATFORM_ENABLE_WGL_EXT_display_color_table)
  491. extern bool GLPLATFORM_WGL_EXT_display_color_table;
  492. #ifndef GLPLATFORM_TYPE_VOID
  493. #define GLPLATFORM_TYPE_VOID
  494. #endif
  495. #define wglBindDisplayColorTableEXT _glplatform_wglBindDisplayColorTableEXT
  496. extern GLboolean (*wglBindDisplayColorTableEXT)(GLushort);
  497. #define wglCreateDisplayColorTableEXT _glplatform_wglCreateDisplayColorTableEXT
  498. extern GLboolean (*wglCreateDisplayColorTableEXT)(GLushort);
  499. #define wglDestroyDisplayColorTableEXT _glplatform_wglDestroyDisplayColorTableEXT
  500. extern VOID (*wglDestroyDisplayColorTableEXT)(GLushort);
  501. #define wglLoadDisplayColorTableEXT _glplatform_wglLoadDisplayColorTableEXT
  502. extern GLboolean (*wglLoadDisplayColorTableEXT)(const GLushort *, GLuint);
  503. #endif
  504. #if defined(GLPLATFORM_ENABLE_WGL_EXT_extensions_string)
  505. extern bool GLPLATFORM_WGL_EXT_extensions_string;
  506. #define wglGetExtensionsStringEXT _glplatform_wglGetExtensionsStringEXT
  507. extern const char * (*wglGetExtensionsStringEXT)();
  508. #endif
  509. #if defined(GLPLATFORM_ENABLE_WGL_EXT_framebuffer_sRGB)
  510. extern bool GLPLATFORM_WGL_EXT_framebuffer_sRGB;
  511. #define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20a9
  512. #endif
  513. #if defined(GLPLATFORM_ENABLE_WGL_EXT_make_current_read)
  514. extern bool GLPLATFORM_WGL_EXT_make_current_read;
  515. #ifndef GLPLATFORM_TYPE_BOOL
  516. #define GLPLATFORM_TYPE_BOOL
  517. #endif
  518. #ifndef GLPLATFORM_TYPE_HDC
  519. #define GLPLATFORM_TYPE_HDC
  520. #endif
  521. #ifndef GLPLATFORM_TYPE_HGLRC
  522. #define GLPLATFORM_TYPE_HGLRC
  523. #endif
  524. #define wglGetCurrentReadDCEXT _glplatform_wglGetCurrentReadDCEXT
  525. extern HDC (*wglGetCurrentReadDCEXT)();
  526. #define wglMakeContextCurrentEXT _glplatform_wglMakeContextCurrentEXT
  527. extern BOOL (*wglMakeContextCurrentEXT)(HDC, HDC, HGLRC);
  528. #endif
  529. #if defined(GLPLATFORM_ENABLE_WGL_EXT_multisample)
  530. extern bool GLPLATFORM_WGL_EXT_multisample;
  531. #define WGL_SAMPLES_EXT 0x2042
  532. #define WGL_SAMPLE_BUFFERS_EXT 0x2041
  533. #endif
  534. #if defined(GLPLATFORM_ENABLE_WGL_EXT_pbuffer)
  535. extern bool GLPLATFORM_WGL_EXT_pbuffer;
  536. #ifndef GLPLATFORM_TYPE_BOOL
  537. #define GLPLATFORM_TYPE_BOOL
  538. #endif
  539. #ifndef GLPLATFORM_TYPE_HDC
  540. #define GLPLATFORM_TYPE_HDC
  541. #endif
  542. #ifndef GLPLATFORM_TYPE_HPBUFFEREXT
  543. #define GLPLATFORM_TYPE_HPBUFFEREXT
  544. DECLARE_HANDLE(HPBUFFEREXT);
  545. #endif
  546. #define WGL_DRAW_TO_PBUFFER_EXT 0x202d
  547. #define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030
  548. #define WGL_MAX_PBUFFER_PIXELS_EXT 0x202e
  549. #define WGL_MAX_PBUFFER_WIDTH_EXT 0x202f
  550. #define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032
  551. #define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031
  552. #define WGL_PBUFFER_HEIGHT_EXT 0x2035
  553. #define WGL_PBUFFER_LARGEST_EXT 0x2033
  554. #define WGL_PBUFFER_WIDTH_EXT 0x2034
  555. #define wglCreatePbufferEXT _glplatform_wglCreatePbufferEXT
  556. extern HPBUFFEREXT (*wglCreatePbufferEXT)(HDC, int , int , int , const int *);
  557. #define wglDestroyPbufferEXT _glplatform_wglDestroyPbufferEXT
  558. extern BOOL (*wglDestroyPbufferEXT)(HPBUFFEREXT);
  559. #define wglGetPbufferDCEXT _glplatform_wglGetPbufferDCEXT
  560. extern HDC (*wglGetPbufferDCEXT)(HPBUFFEREXT);
  561. #define wglQueryPbufferEXT _glplatform_wglQueryPbufferEXT
  562. extern BOOL (*wglQueryPbufferEXT)(HPBUFFEREXT, int , int *);
  563. #define wglReleasePbufferDCEXT _glplatform_wglReleasePbufferDCEXT
  564. extern int (*wglReleasePbufferDCEXT)(HPBUFFEREXT, HDC);
  565. #endif
  566. #if defined(GLPLATFORM_ENABLE_WGL_EXT_pixel_format)
  567. extern bool GLPLATFORM_WGL_EXT_pixel_format;
  568. #ifndef GLPLATFORM_TYPE_BOOL
  569. #define GLPLATFORM_TYPE_BOOL
  570. #endif
  571. #ifndef GLPLATFORM_TYPE_FLOAT
  572. #define GLPLATFORM_TYPE_FLOAT
  573. #endif
  574. #ifndef GLPLATFORM_TYPE_HDC
  575. #define GLPLATFORM_TYPE_HDC
  576. #endif
  577. #ifndef GLPLATFORM_TYPE_UINT
  578. #define GLPLATFORM_TYPE_UINT
  579. #endif
  580. #define WGL_ACCELERATION_EXT 0x2003
  581. #define WGL_ACCUM_ALPHA_BITS_EXT 0x2021
  582. #define WGL_ACCUM_BITS_EXT 0x201d
  583. #define WGL_ACCUM_BLUE_BITS_EXT 0x2020
  584. #define WGL_ACCUM_GREEN_BITS_EXT 0x201f
  585. #define WGL_ACCUM_RED_BITS_EXT 0x201e
  586. #define WGL_ALPHA_BITS_EXT 0x201b
  587. #define WGL_ALPHA_SHIFT_EXT 0x201c
  588. #define WGL_AUX_BUFFERS_EXT 0x2024
  589. #define WGL_BLUE_BITS_EXT 0x2019
  590. #define WGL_BLUE_SHIFT_EXT 0x201a
  591. #define WGL_COLOR_BITS_EXT 0x2014
  592. #define WGL_DEPTH_BITS_EXT 0x2022
  593. #define WGL_DOUBLE_BUFFER_EXT 0x2011
  594. #define WGL_DRAW_TO_BITMAP_EXT 0x2002
  595. #define WGL_DRAW_TO_WINDOW_EXT 0x2001
  596. #define WGL_FULL_ACCELERATION_EXT 0x2027
  597. #define WGL_GENERIC_ACCELERATION_EXT 0x2026
  598. #define WGL_GREEN_BITS_EXT 0x2017
  599. #define WGL_GREEN_SHIFT_EXT 0x2018
  600. #define WGL_NEED_PALETTE_EXT 0x2004
  601. #define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005
  602. #define WGL_NO_ACCELERATION_EXT 0x2025
  603. #define WGL_NUMBER_OVERLAYS_EXT 0x2008
  604. #define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000
  605. #define WGL_NUMBER_UNDERLAYS_EXT 0x2009
  606. #define WGL_PIXEL_TYPE_EXT 0x2013
  607. #define WGL_RED_BITS_EXT 0x2015
  608. #define WGL_RED_SHIFT_EXT 0x2016
  609. #define WGL_SHARE_ACCUM_EXT 0x200e
  610. #define WGL_SHARE_DEPTH_EXT 0x200c
  611. #define WGL_SHARE_STENCIL_EXT 0x200d
  612. #define WGL_STENCIL_BITS_EXT 0x2023
  613. #define WGL_STEREO_EXT 0x2012
  614. #define WGL_SUPPORT_GDI_EXT 0x200f
  615. #define WGL_SUPPORT_OPENGL_EXT 0x2010
  616. #define WGL_SWAP_COPY_EXT 0x2029
  617. #define WGL_SWAP_EXCHANGE_EXT 0x2028
  618. #define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006
  619. #define WGL_SWAP_METHOD_EXT 0x2007
  620. #define WGL_SWAP_UNDEFINED_EXT 0x202a
  621. #define WGL_TRANSPARENT_EXT 0x200a
  622. #define WGL_TRANSPARENT_VALUE_EXT 0x200b
  623. #define WGL_TYPE_COLORINDEX_EXT 0x202c
  624. #define WGL_TYPE_RGBA_EXT 0x202b
  625. #define wglChoosePixelFormatEXT _glplatform_wglChoosePixelFormatEXT
  626. extern BOOL (*wglChoosePixelFormatEXT)(HDC, const int *, const FLOAT *, UINT, int *, UINT *);
  627. #define wglGetPixelFormatAttribfvEXT _glplatform_wglGetPixelFormatAttribfvEXT
  628. extern BOOL (*wglGetPixelFormatAttribfvEXT)(HDC, int , int , UINT, int *, FLOAT *);
  629. #define wglGetPixelFormatAttribivEXT _glplatform_wglGetPixelFormatAttribivEXT
  630. extern BOOL (*wglGetPixelFormatAttribivEXT)(HDC, int , int , UINT, int *, int *);
  631. #endif
  632. #if defined(GLPLATFORM_ENABLE_WGL_EXT_pixel_format_packed_float)
  633. extern bool GLPLATFORM_WGL_EXT_pixel_format_packed_float;
  634. #define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20a8
  635. #endif
  636. #if defined(GLPLATFORM_ENABLE_WGL_EXT_swap_control)
  637. extern bool GLPLATFORM_WGL_EXT_swap_control;
  638. #ifndef GLPLATFORM_TYPE_BOOL
  639. #define GLPLATFORM_TYPE_BOOL
  640. #endif
  641. #define wglGetSwapIntervalEXT _glplatform_wglGetSwapIntervalEXT
  642. extern int (*wglGetSwapIntervalEXT)();
  643. #define wglSwapIntervalEXT _glplatform_wglSwapIntervalEXT
  644. extern BOOL (*wglSwapIntervalEXT)(int );
  645. #endif
  646. #if defined(GLPLATFORM_ENABLE_WGL_EXT_swap_control_tear)
  647. extern bool GLPLATFORM_WGL_EXT_swap_control_tear;
  648. #endif
  649. #if defined(GLPLATFORM_ENABLE_WGL_I3D_digital_video_control)
  650. extern bool GLPLATFORM_WGL_I3D_digital_video_control;
  651. #ifndef GLPLATFORM_TYPE_BOOL
  652. #define GLPLATFORM_TYPE_BOOL
  653. #endif
  654. #ifndef GLPLATFORM_TYPE_HDC
  655. #define GLPLATFORM_TYPE_HDC
  656. #endif
  657. #define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050
  658. #define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051
  659. #define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052
  660. #define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053
  661. #define wglGetDigitalVideoParametersI3D _glplatform_wglGetDigitalVideoParametersI3D
  662. extern BOOL (*wglGetDigitalVideoParametersI3D)(HDC, int , int *);
  663. #define wglSetDigitalVideoParametersI3D _glplatform_wglSetDigitalVideoParametersI3D
  664. extern BOOL (*wglSetDigitalVideoParametersI3D)(HDC, int , const int *);
  665. #endif
  666. #if defined(GLPLATFORM_ENABLE_WGL_I3D_gamma)
  667. extern bool GLPLATFORM_WGL_I3D_gamma;
  668. #ifndef GLPLATFORM_TYPE_BOOL
  669. #define GLPLATFORM_TYPE_BOOL
  670. #endif
  671. #ifndef GLPLATFORM_TYPE_HDC
  672. #define GLPLATFORM_TYPE_HDC
  673. #endif
  674. #ifndef GLPLATFORM_TYPE_USHORT
  675. #define GLPLATFORM_TYPE_USHORT
  676. #endif
  677. #define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204f
  678. #define WGL_GAMMA_TABLE_SIZE_I3D 0x204e
  679. #define wglGetGammaTableI3D _glplatform_wglGetGammaTableI3D
  680. extern BOOL (*wglGetGammaTableI3D)(HDC, int , USHORT *, USHORT *, USHORT *);
  681. #define wglGetGammaTableParametersI3D _glplatform_wglGetGammaTableParametersI3D
  682. extern BOOL (*wglGetGammaTableParametersI3D)(HDC, int , int *);
  683. #define wglSetGammaTableI3D _glplatform_wglSetGammaTableI3D
  684. extern BOOL (*wglSetGammaTableI3D)(HDC, int , const USHORT *, const USHORT *, const USHORT *);
  685. #define wglSetGammaTableParametersI3D _glplatform_wglSetGammaTableParametersI3D
  686. extern BOOL (*wglSetGammaTableParametersI3D)(HDC, int , const int *);
  687. #endif
  688. #if defined(GLPLATFORM_ENABLE_WGL_I3D_genlock)
  689. extern bool GLPLATFORM_WGL_I3D_genlock;
  690. #ifndef GLPLATFORM_TYPE_BOOL
  691. #define GLPLATFORM_TYPE_BOOL
  692. #endif
  693. #ifndef GLPLATFORM_TYPE_HDC
  694. #define GLPLATFORM_TYPE_HDC
  695. #endif
  696. #ifndef GLPLATFORM_TYPE_UINT
  697. #define GLPLATFORM_TYPE_UINT
  698. #endif
  699. #define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049
  700. #define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048
  701. #define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204c
  702. #define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204a
  703. #define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204b
  704. #define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046
  705. #define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D 0x2045
  706. #define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D 0x2047
  707. #define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044
  708. #define wglDisableGenlockI3D _glplatform_wglDisableGenlockI3D
  709. extern BOOL (*wglDisableGenlockI3D)(HDC);
  710. #define wglEnableGenlockI3D _glplatform_wglEnableGenlockI3D
  711. extern BOOL (*wglEnableGenlockI3D)(HDC);
  712. #define wglGenlockSampleRateI3D _glplatform_wglGenlockSampleRateI3D
  713. extern BOOL (*wglGenlockSampleRateI3D)(HDC, UINT);
  714. #define wglGenlockSourceDelayI3D _glplatform_wglGenlockSourceDelayI3D
  715. extern BOOL (*wglGenlockSourceDelayI3D)(HDC, UINT);
  716. #define wglGenlockSourceEdgeI3D _glplatform_wglGenlockSourceEdgeI3D
  717. extern BOOL (*wglGenlockSourceEdgeI3D)(HDC, UINT);
  718. #define wglGenlockSourceI3D _glplatform_wglGenlockSourceI3D
  719. extern BOOL (*wglGenlockSourceI3D)(HDC, UINT);
  720. #define wglGetGenlockSampleRateI3D _glplatform_wglGetGenlockSampleRateI3D
  721. extern BOOL (*wglGetGenlockSampleRateI3D)(HDC, UINT *);
  722. #define wglGetGenlockSourceDelayI3D _glplatform_wglGetGenlockSourceDelayI3D
  723. extern BOOL (*wglGetGenlockSourceDelayI3D)(HDC, UINT *);
  724. #define wglGetGenlockSourceEdgeI3D _glplatform_wglGetGenlockSourceEdgeI3D
  725. extern BOOL (*wglGetGenlockSourceEdgeI3D)(HDC, UINT *);
  726. #define wglGetGenlockSourceI3D _glplatform_wglGetGenlockSourceI3D
  727. extern BOOL (*wglGetGenlockSourceI3D)(HDC, UINT *);
  728. #define wglIsEnabledGenlockI3D _glplatform_wglIsEnabledGenlockI3D
  729. extern BOOL (*wglIsEnabledGenlockI3D)(HDC, BOOL *);
  730. #define wglQueryGenlockMaxSourceDelayI3D _glplatform_wglQueryGenlockMaxSourceDelayI3D
  731. extern BOOL (*wglQueryGenlockMaxSourceDelayI3D)(HDC, UINT *, UINT *);
  732. #endif
  733. #if defined(GLPLATFORM_ENABLE_WGL_I3D_image_buffer)
  734. extern bool GLPLATFORM_WGL_I3D_image_buffer;
  735. #ifndef GLPLATFORM_TYPE_BOOL
  736. #define GLPLATFORM_TYPE_BOOL
  737. #endif
  738. #ifndef GLPLATFORM_TYPE_DWORD
  739. #define GLPLATFORM_TYPE_DWORD
  740. #endif
  741. #ifndef GLPLATFORM_TYPE_HANDLE
  742. #define GLPLATFORM_TYPE_HANDLE
  743. #endif
  744. #ifndef GLPLATFORM_TYPE_HDC
  745. #define GLPLATFORM_TYPE_HDC
  746. #endif
  747. #ifndef GLPLATFORM_TYPE_LPVOID
  748. #define GLPLATFORM_TYPE_LPVOID
  749. #endif
  750. #ifndef GLPLATFORM_TYPE_UINT
  751. #define GLPLATFORM_TYPE_UINT
  752. #endif
  753. #define WGL_IMAGE_BUFFER_LOCK_I3D 0x2
  754. #define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x1
  755. #define wglAssociateImageBufferEventsI3D _glplatform_wglAssociateImageBufferEventsI3D
  756. extern BOOL (*wglAssociateImageBufferEventsI3D)(HDC, const HANDLE *, const LPVOID *, const DWORD *, UINT);
  757. #define wglCreateImageBufferI3D _glplatform_wglCreateImageBufferI3D
  758. extern LPVOID (*wglCreateImageBufferI3D)(HDC, DWORD, UINT);
  759. #define wglDestroyImageBufferI3D _glplatform_wglDestroyImageBufferI3D
  760. extern BOOL (*wglDestroyImageBufferI3D)(HDC, LPVOID);
  761. #define wglReleaseImageBufferEventsI3D _glplatform_wglReleaseImageBufferEventsI3D
  762. extern BOOL (*wglReleaseImageBufferEventsI3D)(HDC, const LPVOID *, UINT);
  763. #endif
  764. #if defined(GLPLATFORM_ENABLE_WGL_I3D_swap_frame_lock)
  765. extern bool GLPLATFORM_WGL_I3D_swap_frame_lock;
  766. #ifndef GLPLATFORM_TYPE_BOOL
  767. #define GLPLATFORM_TYPE_BOOL
  768. #endif
  769. #define wglDisableFrameLockI3D _glplatform_wglDisableFrameLockI3D
  770. extern BOOL (*wglDisableFrameLockI3D)();
  771. #define wglEnableFrameLockI3D _glplatform_wglEnableFrameLockI3D
  772. extern BOOL (*wglEnableFrameLockI3D)();
  773. #define wglIsEnabledFrameLockI3D _glplatform_wglIsEnabledFrameLockI3D
  774. extern BOOL (*wglIsEnabledFrameLockI3D)(BOOL *);
  775. #define wglQueryFrameLockMasterI3D _glplatform_wglQueryFrameLockMasterI3D
  776. extern BOOL (*wglQueryFrameLockMasterI3D)(BOOL *);
  777. #endif
  778. #if defined(GLPLATFORM_ENABLE_WGL_I3D_swap_frame_usage)
  779. extern bool GLPLATFORM_WGL_I3D_swap_frame_usage;
  780. #ifndef GLPLATFORM_TYPE_BOOL
  781. #define GLPLATFORM_TYPE_BOOL
  782. #endif
  783. #ifndef GLPLATFORM_TYPE_DWORD
  784. #define GLPLATFORM_TYPE_DWORD
  785. #endif
  786. #define wglBeginFrameTrackingI3D _glplatform_wglBeginFrameTrackingI3D
  787. extern BOOL (*wglBeginFrameTrackingI3D)();
  788. #define wglEndFrameTrackingI3D _glplatform_wglEndFrameTrackingI3D
  789. extern BOOL (*wglEndFrameTrackingI3D)();
  790. #define wglGetFrameUsageI3D _glplatform_wglGetFrameUsageI3D
  791. extern BOOL (*wglGetFrameUsageI3D)(float *);
  792. #define wglQueryFrameTrackingI3D _glplatform_wglQueryFrameTrackingI3D
  793. extern BOOL (*wglQueryFrameTrackingI3D)(DWORD *, DWORD *, float *);
  794. #endif
  795. #if defined(GLPLATFORM_ENABLE_WGL_NV_DX_interop)
  796. extern bool GLPLATFORM_WGL_NV_DX_interop;
  797. #ifndef GLPLATFORM_TYPE_BOOL
  798. #define GLPLATFORM_TYPE_BOOL
  799. #endif
  800. #ifndef GLPLATFORM_TYPE_HANDLE
  801. #define GLPLATFORM_TYPE_HANDLE
  802. #endif
  803. #define WGL_ACCESS_READ_ONLY_NV 0x0
  804. #define WGL_ACCESS_READ_WRITE_NV 0x1
  805. #define WGL_ACCESS_WRITE_DISCARD_NV 0x2
  806. #define wglDXCloseDeviceNV _glplatform_wglDXCloseDeviceNV
  807. extern BOOL (*wglDXCloseDeviceNV)(HANDLE);
  808. #define wglDXLockObjectsNV _glplatform_wglDXLockObjectsNV
  809. extern BOOL (*wglDXLockObjectsNV)(HANDLE, GLint, HANDLE *);
  810. #define wglDXObjectAccessNV _glplatform_wglDXObjectAccessNV
  811. extern BOOL (*wglDXObjectAccessNV)(HANDLE, GLenum);
  812. #define wglDXOpenDeviceNV _glplatform_wglDXOpenDeviceNV
  813. extern HANDLE (*wglDXOpenDeviceNV)(void *);
  814. #define wglDXRegisterObjectNV _glplatform_wglDXRegisterObjectNV
  815. extern HANDLE (*wglDXRegisterObjectNV)(HANDLE, void *, GLuint, GLenum, GLenum);
  816. #define wglDXSetResourceShareHandleNV _glplatform_wglDXSetResourceShareHandleNV
  817. extern BOOL (*wglDXSetResourceShareHandleNV)(void *, HANDLE);
  818. #define wglDXUnlockObjectsNV _glplatform_wglDXUnlockObjectsNV
  819. extern BOOL (*wglDXUnlockObjectsNV)(HANDLE, GLint, HANDLE *);
  820. #define wglDXUnregisterObjectNV _glplatform_wglDXUnregisterObjectNV
  821. extern BOOL (*wglDXUnregisterObjectNV)(HANDLE, HANDLE);
  822. #endif
  823. #if defined(GLPLATFORM_ENABLE_WGL_NV_DX_interop2)
  824. extern bool GLPLATFORM_WGL_NV_DX_interop2;
  825. #endif
  826. #if defined(GLPLATFORM_ENABLE_WGL_NV_copy_image)
  827. extern bool GLPLATFORM_WGL_NV_copy_image;
  828. #ifndef GLPLATFORM_TYPE_BOOL
  829. #define GLPLATFORM_TYPE_BOOL
  830. #endif
  831. #ifndef GLPLATFORM_TYPE_HGLRC
  832. #define GLPLATFORM_TYPE_HGLRC
  833. #endif
  834. #define wglCopyImageSubDataNV _glplatform_wglCopyImageSubDataNV
  835. extern BOOL (*wglCopyImageSubDataNV)(HGLRC, GLuint, GLenum, GLint, GLint, GLint, GLint, HGLRC, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
  836. #endif
  837. #if defined(GLPLATFORM_ENABLE_WGL_NV_delay_before_swap)
  838. extern bool GLPLATFORM_WGL_NV_delay_before_swap;
  839. #ifndef GLPLATFORM_TYPE_BOOL
  840. #define GLPLATFORM_TYPE_BOOL
  841. #endif
  842. #ifndef GLPLATFORM_TYPE_HDC
  843. #define GLPLATFORM_TYPE_HDC
  844. #endif
  845. #define wglDelayBeforeSwapNV _glplatform_wglDelayBeforeSwapNV
  846. extern BOOL (*wglDelayBeforeSwapNV)(HDC, GLfloat);
  847. #endif
  848. #if defined(GLPLATFORM_ENABLE_WGL_NV_float_buffer)
  849. extern bool GLPLATFORM_WGL_NV_float_buffer;
  850. #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20b4
  851. #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20b3
  852. #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20b2
  853. #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20b1
  854. #define WGL_FLOAT_COMPONENTS_NV 0x20b0
  855. #define WGL_TEXTURE_FLOAT_RGBA_NV 0x20b8
  856. #define WGL_TEXTURE_FLOAT_RGB_NV 0x20b7
  857. #define WGL_TEXTURE_FLOAT_RG_NV 0x20b6
  858. #define WGL_TEXTURE_FLOAT_R_NV 0x20b5
  859. #endif
  860. #if defined(GLPLATFORM_ENABLE_WGL_NV_gpu_affinity)
  861. extern bool GLPLATFORM_WGL_NV_gpu_affinity;
  862. #ifndef GLPLATFORM_TYPE_BOOL
  863. #define GLPLATFORM_TYPE_BOOL
  864. #endif
  865. #ifndef GLPLATFORM_TYPE_HDC
  866. #define GLPLATFORM_TYPE_HDC
  867. #endif
  868. #ifndef GLPLATFORM_TYPE_HGPUNV
  869. #define GLPLATFORM_TYPE_HGPUNV
  870. DECLARE_HANDLE(HGPUNV);
  871. #endif
  872. #ifndef GLPLATFORM_TYPE_PGPU_DEVICE
  873. #define GLPLATFORM_TYPE_PGPU_DEVICE
  874. typedef struct _GPU_DEVICE *PGPU_DEVICE;
  875. #endif
  876. #ifndef GLPLATFORM_TYPE_UINT
  877. #define GLPLATFORM_TYPE_UINT
  878. #endif
  879. #define wglCreateAffinityDCNV _glplatform_wglCreateAffinityDCNV
  880. extern HDC (*wglCreateAffinityDCNV)(const HGPUNV *);
  881. #define wglDeleteDCNV _glplatform_wglDeleteDCNV
  882. extern BOOL (*wglDeleteDCNV)(HDC);
  883. #define wglEnumGpuDevicesNV _glplatform_wglEnumGpuDevicesNV
  884. extern BOOL (*wglEnumGpuDevicesNV)(HGPUNV, UINT, PGPU_DEVICE);
  885. #define wglEnumGpusFromAffinityDCNV _glplatform_wglEnumGpusFromAffinityDCNV
  886. extern BOOL (*wglEnumGpusFromAffinityDCNV)(HDC, UINT, HGPUNV *);
  887. #define wglEnumGpusNV _glplatform_wglEnumGpusNV
  888. extern BOOL (*wglEnumGpusNV)(UINT, HGPUNV *);
  889. #endif
  890. #if defined(GLPLATFORM_ENABLE_WGL_NV_multisample_coverage)
  891. extern bool GLPLATFORM_WGL_NV_multisample_coverage;
  892. #define WGL_COLOR_SAMPLES_NV 0x20b9
  893. #define WGL_COVERAGE_SAMPLES_NV 0x2042
  894. #endif
  895. #if defined(GLPLATFORM_ENABLE_WGL_NV_present_video)
  896. extern bool GLPLATFORM_WGL_NV_present_video;
  897. #ifndef GLPLATFORM_TYPE_BOOL
  898. #define GLPLATFORM_TYPE_BOOL
  899. #endif
  900. #ifndef GLPLATFORM_TYPE_HDC
  901. #define GLPLATFORM_TYPE_HDC
  902. #endif
  903. #ifndef GLPLATFORM_TYPE_HVIDEOOUTPUTDEVICENV
  904. #define GLPLATFORM_TYPE_HVIDEOOUTPUTDEVICENV
  905. DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
  906. #endif
  907. #define WGL_NUM_VIDEO_SLOTS_NV 0x20f0
  908. #define wglBindVideoDeviceNV _glplatform_wglBindVideoDeviceNV
  909. extern BOOL (*wglBindVideoDeviceNV)(HDC, unsigned int , HVIDEOOUTPUTDEVICENV, const int *);
  910. #define wglEnumerateVideoDevicesNV _glplatform_wglEnumerateVideoDevicesNV
  911. extern int (*wglEnumerateVideoDevicesNV)(HDC, HVIDEOOUTPUTDEVICENV *);
  912. #define wglQueryCurrentContextNV _glplatform_wglQueryCurrentContextNV
  913. extern BOOL (*wglQueryCurrentContextNV)(int , int *);
  914. #endif
  915. #if defined(GLPLATFORM_ENABLE_WGL_NV_render_depth_texture)
  916. extern bool GLPLATFORM_WGL_NV_render_depth_texture;
  917. #define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20a3
  918. #define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20a4
  919. #define WGL_DEPTH_COMPONENT_NV 0x20a7
  920. #define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20a5
  921. #define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20a6
  922. #endif
  923. #if defined(GLPLATFORM_ENABLE_WGL_NV_render_texture_rectangle)
  924. extern bool GLPLATFORM_WGL_NV_render_texture_rectangle;
  925. #define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20a1
  926. #define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20a0
  927. #define WGL_TEXTURE_RECTANGLE_NV 0x20a2
  928. #endif
  929. #if defined(GLPLATFORM_ENABLE_WGL_NV_swap_group)
  930. extern bool GLPLATFORM_WGL_NV_swap_group;
  931. #ifndef GLPLATFORM_TYPE_BOOL
  932. #define GLPLATFORM_TYPE_BOOL
  933. #endif
  934. #ifndef GLPLATFORM_TYPE_HDC
  935. #define GLPLATFORM_TYPE_HDC
  936. #endif
  937. #define wglBindSwapBarrierNV _glplatform_wglBindSwapBarrierNV
  938. extern BOOL (*wglBindSwapBarrierNV)(GLuint, GLuint);
  939. #define wglJoinSwapGroupNV _glplatform_wglJoinSwapGroupNV
  940. extern BOOL (*wglJoinSwapGroupNV)(HDC, GLuint);
  941. #define wglQueryFrameCountNV _glplatform_wglQueryFrameCountNV
  942. extern BOOL (*wglQueryFrameCountNV)(HDC, GLuint *);
  943. #define wglQueryMaxSwapGroupsNV _glplatform_wglQueryMaxSwapGroupsNV
  944. extern BOOL (*wglQueryMaxSwapGroupsNV)(HDC, GLuint *, GLuint *);
  945. #define wglQuerySwapGroupNV _glplatform_wglQuerySwapGroupNV
  946. extern BOOL (*wglQuerySwapGroupNV)(HDC, GLuint *, GLuint *);
  947. #define wglResetFrameCountNV _glplatform_wglResetFrameCountNV
  948. extern BOOL (*wglResetFrameCountNV)(HDC);
  949. #endif
  950. #if defined(GLPLATFORM_ENABLE_WGL_NV_vertex_array_range)
  951. extern bool GLPLATFORM_WGL_NV_vertex_array_range;
  952. #define wglAllocateMemoryNV _glplatform_wglAllocateMemoryNV
  953. extern void * (*wglAllocateMemoryNV)(GLsizei, GLfloat, GLfloat, GLfloat);
  954. #define wglFreeMemoryNV _glplatform_wglFreeMemoryNV
  955. extern void (*wglFreeMemoryNV)(void *);
  956. #endif
  957. #if defined(GLPLATFORM_ENABLE_WGL_NV_video_capture)
  958. extern bool GLPLATFORM_WGL_NV_video_capture;
  959. #ifndef GLPLATFORM_TYPE_BOOL
  960. #define GLPLATFORM_TYPE_BOOL
  961. #endif
  962. #ifndef GLPLATFORM_TYPE_HDC
  963. #define GLPLATFORM_TYPE_HDC
  964. #endif
  965. #ifndef GLPLATFORM_TYPE_HVIDEOINPUTDEVICENV
  966. #define GLPLATFORM_TYPE_HVIDEOINPUTDEVICENV
  967. DECLARE_HANDLE(HVIDEOINPUTDEVICENV);
  968. #endif
  969. #ifndef GLPLATFORM_TYPE_UINT
  970. #define GLPLATFORM_TYPE_UINT
  971. #endif
  972. #define WGL_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20cf
  973. #define WGL_UNIQUE_ID_NV 0x20ce
  974. #define wglBindVideoCaptureDeviceNV _glplatform_wglBindVideoCaptureDeviceNV
  975. extern BOOL (*wglBindVideoCaptureDeviceNV)(UINT, HVIDEOINPUTDEVICENV);
  976. #define wglEnumerateVideoCaptureDevicesNV _glplatform_wglEnumerateVideoCaptureDevicesNV
  977. extern UINT (*wglEnumerateVideoCaptureDevicesNV)(HDC, HVIDEOINPUTDEVICENV *);
  978. #define wglLockVideoCaptureDeviceNV _glplatform_wglLockVideoCaptureDeviceNV
  979. extern BOOL (*wglLockVideoCaptureDeviceNV)(HDC, HVIDEOINPUTDEVICENV);
  980. #define wglQueryVideoCaptureDeviceNV _glplatform_wglQueryVideoCaptureDeviceNV
  981. extern BOOL (*wglQueryVideoCaptureDeviceNV)(HDC, HVIDEOINPUTDEVICENV, int , int *);
  982. #define wglReleaseVideoCaptureDeviceNV _glplatform_wglReleaseVideoCaptureDeviceNV
  983. extern BOOL (*wglReleaseVideoCaptureDeviceNV)(HDC, HVIDEOINPUTDEVICENV);
  984. #endif
  985. #if defined(GLPLATFORM_ENABLE_WGL_NV_video_output)
  986. extern bool GLPLATFORM_WGL_NV_video_output;
  987. #ifndef GLPLATFORM_TYPE_BOOL
  988. #define GLPLATFORM_TYPE_BOOL
  989. #endif
  990. #ifndef GLPLATFORM_TYPE_HDC
  991. #define GLPLATFORM_TYPE_HDC
  992. #endif
  993. #ifndef GLPLATFORM_TYPE_HPBUFFERARB
  994. #define GLPLATFORM_TYPE_HPBUFFERARB
  995. DECLARE_HANDLE(HPBUFFERARB);
  996. #endif
  997. #ifndef GLPLATFORM_TYPE_HPVIDEODEV
  998. #define GLPLATFORM_TYPE_HPVIDEODEV
  999. DECLARE_HANDLE(HPVIDEODEV);
  1000. #endif
  1001. #define WGL_BIND_TO_VIDEO_RGBA_NV 0x20c1
  1002. #define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20c2
  1003. #define WGL_BIND_TO_VIDEO_RGB_NV 0x20c0
  1004. #define WGL_VIDEO_OUT_ALPHA_NV 0x20c4
  1005. #define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20c6
  1006. #define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20c7
  1007. #define WGL_VIDEO_OUT_COLOR_NV 0x20c3
  1008. #define WGL_VIDEO_OUT_DEPTH_NV 0x20c5
  1009. #define WGL_VIDEO_OUT_FIELD_1 0x20c9
  1010. #define WGL_VIDEO_OUT_FIELD_2 0x20ca
  1011. #define WGL_VIDEO_OUT_FRAME 0x20c8
  1012. #define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20cb
  1013. #define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20cc
  1014. #define wglBindVideoImageNV _glplatform_wglBindVideoImageNV
  1015. extern BOOL (*wglBindVideoImageNV)(HPVIDEODEV, HPBUFFERARB, int );
  1016. #define wglGetVideoDeviceNV _glplatform_wglGetVideoDeviceNV
  1017. extern BOOL (*wglGetVideoDeviceNV)(HDC, int , HPVIDEODEV *);
  1018. #define wglGetVideoInfoNV _glplatform_wglGetVideoInfoNV
  1019. extern BOOL (*wglGetVideoInfoNV)(HPVIDEODEV, unsigned long *, unsigned long *);
  1020. #define wglReleaseVideoDeviceNV _glplatform_wglReleaseVideoDeviceNV
  1021. extern BOOL (*wglReleaseVideoDeviceNV)(HPVIDEODEV);
  1022. #define wglReleaseVideoImageNV _glplatform_wglReleaseVideoImageNV
  1023. extern BOOL (*wglReleaseVideoImageNV)(HPBUFFERARB, int );
  1024. #define wglSendPbufferToVideoNV _glplatform_wglSendPbufferToVideoNV
  1025. extern BOOL (*wglSendPbufferToVideoNV)(HPBUFFERARB, int , unsigned long *, BOOL);
  1026. #endif
  1027. #if defined(GLPLATFORM_ENABLE_WGL_OML_sync_control)
  1028. extern bool GLPLATFORM_WGL_OML_sync_control;
  1029. #ifndef GLPLATFORM_TYPE_BOOL
  1030. #define GLPLATFORM_TYPE_BOOL
  1031. #endif
  1032. #ifndef GLPLATFORM_TYPE_HDC
  1033. #define GLPLATFORM_TYPE_HDC
  1034. #endif
  1035. #ifndef GLPLATFORM_TYPE_INT32
  1036. #define GLPLATFORM_TYPE_INT32
  1037. #endif
  1038. #ifndef GLPLATFORM_TYPE_INT64
  1039. #define GLPLATFORM_TYPE_INT64
  1040. #endif
  1041. #define wglGetMscRateOML _glplatform_wglGetMscRateOML
  1042. extern BOOL (*wglGetMscRateOML)(HDC, INT32 *, INT32 *);
  1043. #define wglGetSyncValuesOML _glplatform_wglGetSyncValuesOML
  1044. extern BOOL (*wglGetSyncValuesOML)(HDC, INT64 *, INT64 *, INT64 *);
  1045. #define wglSwapBuffersMscOML _glplatform_wglSwapBuffersMscOML
  1046. extern INT64 (*wglSwapBuffersMscOML)(HDC, INT64, INT64, INT64);
  1047. #define wglSwapLayerBuffersMscOML _glplatform_wglSwapLayerBuffersMscOML
  1048. extern INT64 (*wglSwapLayerBuffersMscOML)(HDC, int , INT64, INT64, INT64);
  1049. #define wglWaitForMscOML _glplatform_wglWaitForMscOML
  1050. extern BOOL (*wglWaitForMscOML)(HDC, INT64, INT64, INT64, INT64 *, INT64 *, INT64 *);
  1051. #define wglWaitForSbcOML _glplatform_wglWaitForSbcOML
  1052. extern BOOL (*wglWaitForSbcOML)(HDC, INT64, INT64 *, INT64 *, INT64 *);
  1053. #endif
  1054. bool glplatform_wgl_init(int maj, int min);
  1055. #ifdef __cplusplus
  1056. }
  1057. #endif
  1058. #endif