source: Bindings/glfw/wglew.h @ 38

Revision 38, 40.8 KB checked in by art, 12 years ago (diff)
Line 
1/*
2** The OpenGL Extension Wrangler Library
3** Copyright (C) 2002-2007, Milan Ikits <milan ikits[]ieee org>
4** Copyright (C) 2002-2007, 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#ifndef __wglew_h__
33#define __wglew_h__
34#define __WGLEW_H__
35
36#ifdef __wglext_h_
37#error wglext.h included before wglew.h
38#endif
39
40#define __wglext_h_
41
42#if !defined(APIENTRY) && !defined(__CYGWIN__)
43#  ifndef WIN32_LEAN_AND_MEAN
44#    define WIN32_LEAN_AND_MEAN 1
45#  endif
46#include <windows.h>
47#endif
48
49/*
50 * GLEW_STATIC needs to be set when using the static version.
51 * GLEW_BUILD is set when building the DLL version.
52 */
53#ifdef GLEW_STATIC
54#  define GLEWAPI extern
55#else
56#  ifdef GLEW_BUILD
57#    define GLEWAPI extern __declspec(dllexport)
58#  else
59#    define GLEWAPI extern __declspec(dllimport)
60#  endif
61#endif
62
63#ifdef __cplusplus
64extern "C" {
65#endif
66
67/* -------------------------- WGL_3DFX_multisample ------------------------- */
68
69#ifndef WGL_3DFX_multisample
70#define WGL_3DFX_multisample 1
71
72#define WGL_SAMPLE_BUFFERS_3DFX 0x2060
73#define WGL_SAMPLES_3DFX 0x2061
74
75#define WGLEW_3DFX_multisample WGLEW_GET_VAR(__WGLEW_3DFX_multisample)
76
77#endif /* WGL_3DFX_multisample */
78
79/* ------------------------- WGL_3DL_stereo_control ------------------------ */
80
81#ifndef WGL_3DL_stereo_control
82#define WGL_3DL_stereo_control 1
83
84#define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055
85#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056
86#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057
87#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058
88
89typedef BOOL (WINAPI * PFNWGLSETSTEREOEMITTERSTATE3DLPROC) (HDC hDC, UINT uState);
90
91#define wglSetStereoEmitterState3DL WGLEW_GET_FUN(__wglewSetStereoEmitterState3DL)
92
93#define WGLEW_3DL_stereo_control WGLEW_GET_VAR(__WGLEW_3DL_stereo_control)
94
95#endif /* WGL_3DL_stereo_control */
96
97/* ------------------------- WGL_ARB_buffer_region ------------------------- */
98
99#ifndef WGL_ARB_buffer_region
100#define WGL_ARB_buffer_region 1
101
102#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001
103#define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002
104#define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004
105#define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008
106
107typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType);
108typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion);
109typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
110typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height);
111
112#define wglCreateBufferRegionARB WGLEW_GET_FUN(__wglewCreateBufferRegionARB)
113#define wglDeleteBufferRegionARB WGLEW_GET_FUN(__wglewDeleteBufferRegionARB)
114#define wglRestoreBufferRegionARB WGLEW_GET_FUN(__wglewRestoreBufferRegionARB)
115#define wglSaveBufferRegionARB WGLEW_GET_FUN(__wglewSaveBufferRegionARB)
116
117#define WGLEW_ARB_buffer_region WGLEW_GET_VAR(__WGLEW_ARB_buffer_region)
118
119#endif /* WGL_ARB_buffer_region */
120
121/* ----------------------- WGL_ARB_extensions_string ----------------------- */
122
123#ifndef WGL_ARB_extensions_string
124#define WGL_ARB_extensions_string 1
125
126typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
127
128#define wglGetExtensionsStringARB WGLEW_GET_FUN(__wglewGetExtensionsStringARB)
129
130#define WGLEW_ARB_extensions_string WGLEW_GET_VAR(__WGLEW_ARB_extensions_string)
131
132#endif /* WGL_ARB_extensions_string */
133
134/* ----------------------- WGL_ARB_make_current_read ----------------------- */
135
136#ifndef WGL_ARB_make_current_read
137#define WGL_ARB_make_current_read 1
138
139typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (VOID);
140typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
141
142#define wglGetCurrentReadDCARB WGLEW_GET_FUN(__wglewGetCurrentReadDCARB)
143#define wglMakeContextCurrentARB WGLEW_GET_FUN(__wglewMakeContextCurrentARB)
144
145#define WGLEW_ARB_make_current_read WGLEW_GET_VAR(__WGLEW_ARB_make_current_read)
146
147#endif /* WGL_ARB_make_current_read */
148
149/* -------------------------- WGL_ARB_multisample -------------------------- */
150
151#ifndef WGL_ARB_multisample
152#define WGL_ARB_multisample 1
153
154#define WGL_SAMPLE_BUFFERS_ARB 0x2041
155#define WGL_SAMPLES_ARB 0x2042
156
157#define WGLEW_ARB_multisample WGLEW_GET_VAR(__WGLEW_ARB_multisample)
158
159#endif /* WGL_ARB_multisample */
160
161/* ---------------------------- WGL_ARB_pbuffer ---------------------------- */
162
163#ifndef WGL_ARB_pbuffer
164#define WGL_ARB_pbuffer 1
165
166#define WGL_DRAW_TO_PBUFFER_ARB 0x202D
167#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E
168#define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F
169#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030
170#define WGL_PBUFFER_LARGEST_ARB 0x2033
171#define WGL_PBUFFER_WIDTH_ARB 0x2034
172#define WGL_PBUFFER_HEIGHT_ARB 0x2035
173#define WGL_PBUFFER_LOST_ARB 0x2036
174
175DECLARE_HANDLE(HPBUFFERARB);
176
177typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList);
178typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer);
179typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer);
180typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int* piValue);
181typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC);
182
183#define wglCreatePbufferARB WGLEW_GET_FUN(__wglewCreatePbufferARB)
184#define wglDestroyPbufferARB WGLEW_GET_FUN(__wglewDestroyPbufferARB)
185#define wglGetPbufferDCARB WGLEW_GET_FUN(__wglewGetPbufferDCARB)
186#define wglQueryPbufferARB WGLEW_GET_FUN(__wglewQueryPbufferARB)
187#define wglReleasePbufferDCARB WGLEW_GET_FUN(__wglewReleasePbufferDCARB)
188
189#define WGLEW_ARB_pbuffer WGLEW_GET_VAR(__WGLEW_ARB_pbuffer)
190
191#endif /* WGL_ARB_pbuffer */
192
193/* -------------------------- WGL_ARB_pixel_format ------------------------- */
194
195#ifndef WGL_ARB_pixel_format
196#define WGL_ARB_pixel_format 1
197
198#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000
199#define WGL_DRAW_TO_WINDOW_ARB 0x2001
200#define WGL_DRAW_TO_BITMAP_ARB 0x2002
201#define WGL_ACCELERATION_ARB 0x2003
202#define WGL_NEED_PALETTE_ARB 0x2004
203#define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005
204#define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006
205#define WGL_SWAP_METHOD_ARB 0x2007
206#define WGL_NUMBER_OVERLAYS_ARB 0x2008
207#define WGL_NUMBER_UNDERLAYS_ARB 0x2009
208#define WGL_TRANSPARENT_ARB 0x200A
209#define WGL_SHARE_DEPTH_ARB 0x200C
210#define WGL_SHARE_STENCIL_ARB 0x200D
211#define WGL_SHARE_ACCUM_ARB 0x200E
212#define WGL_SUPPORT_GDI_ARB 0x200F
213#define WGL_SUPPORT_OPENGL_ARB 0x2010
214#define WGL_DOUBLE_BUFFER_ARB 0x2011
215#define WGL_STEREO_ARB 0x2012
216#define WGL_PIXEL_TYPE_ARB 0x2013
217#define WGL_COLOR_BITS_ARB 0x2014
218#define WGL_RED_BITS_ARB 0x2015
219#define WGL_RED_SHIFT_ARB 0x2016
220#define WGL_GREEN_BITS_ARB 0x2017
221#define WGL_GREEN_SHIFT_ARB 0x2018
222#define WGL_BLUE_BITS_ARB 0x2019
223#define WGL_BLUE_SHIFT_ARB 0x201A
224#define WGL_ALPHA_BITS_ARB 0x201B
225#define WGL_ALPHA_SHIFT_ARB 0x201C
226#define WGL_ACCUM_BITS_ARB 0x201D
227#define WGL_ACCUM_RED_BITS_ARB 0x201E
228#define WGL_ACCUM_GREEN_BITS_ARB 0x201F
229#define WGL_ACCUM_BLUE_BITS_ARB 0x2020
230#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021
231#define WGL_DEPTH_BITS_ARB 0x2022
232#define WGL_STENCIL_BITS_ARB 0x2023
233#define WGL_AUX_BUFFERS_ARB 0x2024
234#define WGL_NO_ACCELERATION_ARB 0x2025
235#define WGL_GENERIC_ACCELERATION_ARB 0x2026
236#define WGL_FULL_ACCELERATION_ARB 0x2027
237#define WGL_SWAP_EXCHANGE_ARB 0x2028
238#define WGL_SWAP_COPY_ARB 0x2029
239#define WGL_SWAP_UNDEFINED_ARB 0x202A
240#define WGL_TYPE_RGBA_ARB 0x202B
241#define WGL_TYPE_COLORINDEX_ARB 0x202C
242#define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037
243#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
244#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
245#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
246#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
247
248typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
249typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, FLOAT *pfValues);
250typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, int *piValues);
251
252#define wglChoosePixelFormatARB WGLEW_GET_FUN(__wglewChoosePixelFormatARB)
253#define wglGetPixelFormatAttribfvARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvARB)
254#define wglGetPixelFormatAttribivARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribivARB)
255
256#define WGLEW_ARB_pixel_format WGLEW_GET_VAR(__WGLEW_ARB_pixel_format)
257
258#endif /* WGL_ARB_pixel_format */
259
260/* ----------------------- WGL_ARB_pixel_format_float ---------------------- */
261
262#ifndef WGL_ARB_pixel_format_float
263#define WGL_ARB_pixel_format_float 1
264
265#define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0
266
267#define WGLEW_ARB_pixel_format_float WGLEW_GET_VAR(__WGLEW_ARB_pixel_format_float)
268
269#endif /* WGL_ARB_pixel_format_float */
270
271/* ------------------------- WGL_ARB_render_texture ------------------------ */
272
273#ifndef WGL_ARB_render_texture
274#define WGL_ARB_render_texture 1
275
276#define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070
277#define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071
278#define WGL_TEXTURE_FORMAT_ARB 0x2072
279#define WGL_TEXTURE_TARGET_ARB 0x2073
280#define WGL_MIPMAP_TEXTURE_ARB 0x2074
281#define WGL_TEXTURE_RGB_ARB 0x2075
282#define WGL_TEXTURE_RGBA_ARB 0x2076
283#define WGL_NO_TEXTURE_ARB 0x2077
284#define WGL_TEXTURE_CUBE_MAP_ARB 0x2078
285#define WGL_TEXTURE_1D_ARB 0x2079
286#define WGL_TEXTURE_2D_ARB 0x207A
287#define WGL_MIPMAP_LEVEL_ARB 0x207B
288#define WGL_CUBE_MAP_FACE_ARB 0x207C
289#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D
290#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E
291#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F
292#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080
293#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081
294#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082
295#define WGL_FRONT_LEFT_ARB 0x2083
296#define WGL_FRONT_RIGHT_ARB 0x2084
297#define WGL_BACK_LEFT_ARB 0x2085
298#define WGL_BACK_RIGHT_ARB 0x2086
299#define WGL_AUX0_ARB 0x2087
300#define WGL_AUX1_ARB 0x2088
301#define WGL_AUX2_ARB 0x2089
302#define WGL_AUX3_ARB 0x208A
303#define WGL_AUX4_ARB 0x208B
304#define WGL_AUX5_ARB 0x208C
305#define WGL_AUX6_ARB 0x208D
306#define WGL_AUX7_ARB 0x208E
307#define WGL_AUX8_ARB 0x208F
308#define WGL_AUX9_ARB 0x2090
309
310typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
311typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
312typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int* piAttribList);
313
314#define wglBindTexImageARB WGLEW_GET_FUN(__wglewBindTexImageARB)
315#define wglReleaseTexImageARB WGLEW_GET_FUN(__wglewReleaseTexImageARB)
316#define wglSetPbufferAttribARB WGLEW_GET_FUN(__wglewSetPbufferAttribARB)
317
318#define WGLEW_ARB_render_texture WGLEW_GET_VAR(__WGLEW_ARB_render_texture)
319
320#endif /* WGL_ARB_render_texture */
321
322/* ----------------------- WGL_ATI_pixel_format_float ---------------------- */
323
324#ifndef WGL_ATI_pixel_format_float
325#define WGL_ATI_pixel_format_float 1
326
327#define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0
328#define GL_RGBA_FLOAT_MODE_ATI 0x8820
329#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835
330
331#define WGLEW_ATI_pixel_format_float WGLEW_GET_VAR(__WGLEW_ATI_pixel_format_float)
332
333#endif /* WGL_ATI_pixel_format_float */
334
335/* -------------------- WGL_ATI_render_texture_rectangle ------------------- */
336
337#ifndef WGL_ATI_render_texture_rectangle
338#define WGL_ATI_render_texture_rectangle 1
339
340#define WGL_TEXTURE_RECTANGLE_ATI 0x21A5
341
342#define WGLEW_ATI_render_texture_rectangle WGLEW_GET_VAR(__WGLEW_ATI_render_texture_rectangle)
343
344#endif /* WGL_ATI_render_texture_rectangle */
345
346/* -------------------------- WGL_EXT_depth_float -------------------------- */
347
348#ifndef WGL_EXT_depth_float
349#define WGL_EXT_depth_float 1
350
351#define WGL_DEPTH_FLOAT_EXT 0x2040
352
353#define WGLEW_EXT_depth_float WGLEW_GET_VAR(__WGLEW_EXT_depth_float)
354
355#endif /* WGL_EXT_depth_float */
356
357/* ---------------------- WGL_EXT_display_color_table ---------------------- */
358
359#ifndef WGL_EXT_display_color_table
360#define WGL_EXT_display_color_table 1
361
362typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id);
363typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id);
364typedef void (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id);
365typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (GLushort* table, GLuint length);
366
367#define wglBindDisplayColorTableEXT WGLEW_GET_FUN(__wglewBindDisplayColorTableEXT)
368#define wglCreateDisplayColorTableEXT WGLEW_GET_FUN(__wglewCreateDisplayColorTableEXT)
369#define wglDestroyDisplayColorTableEXT WGLEW_GET_FUN(__wglewDestroyDisplayColorTableEXT)
370#define wglLoadDisplayColorTableEXT WGLEW_GET_FUN(__wglewLoadDisplayColorTableEXT)
371
372#define WGLEW_EXT_display_color_table WGLEW_GET_VAR(__WGLEW_EXT_display_color_table)
373
374#endif /* WGL_EXT_display_color_table */
375
376/* ----------------------- WGL_EXT_extensions_string ----------------------- */
377
378#ifndef WGL_EXT_extensions_string
379#define WGL_EXT_extensions_string 1
380
381typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void);
382
383#define wglGetExtensionsStringEXT WGLEW_GET_FUN(__wglewGetExtensionsStringEXT)
384
385#define WGLEW_EXT_extensions_string WGLEW_GET_VAR(__WGLEW_EXT_extensions_string)
386
387#endif /* WGL_EXT_extensions_string */
388
389/* ------------------------ WGL_EXT_framebuffer_sRGB ----------------------- */
390
391#ifndef WGL_EXT_framebuffer_sRGB
392#define WGL_EXT_framebuffer_sRGB 1
393
394#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9
395
396#define WGLEW_EXT_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_EXT_framebuffer_sRGB)
397
398#endif /* WGL_EXT_framebuffer_sRGB */
399
400/* ----------------------- WGL_EXT_make_current_read ----------------------- */
401
402#ifndef WGL_EXT_make_current_read
403#define WGL_EXT_make_current_read 1
404
405typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (VOID);
406typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
407
408#define wglGetCurrentReadDCEXT WGLEW_GET_FUN(__wglewGetCurrentReadDCEXT)
409#define wglMakeContextCurrentEXT WGLEW_GET_FUN(__wglewMakeContextCurrentEXT)
410
411#define WGLEW_EXT_make_current_read WGLEW_GET_VAR(__WGLEW_EXT_make_current_read)
412
413#endif /* WGL_EXT_make_current_read */
414
415/* -------------------------- WGL_EXT_multisample -------------------------- */
416
417#ifndef WGL_EXT_multisample
418#define WGL_EXT_multisample 1
419
420#define WGL_SAMPLE_BUFFERS_EXT 0x2041
421#define WGL_SAMPLES_EXT 0x2042
422
423#define WGLEW_EXT_multisample WGLEW_GET_VAR(__WGLEW_EXT_multisample)
424
425#endif /* WGL_EXT_multisample */
426
427/* ---------------------------- WGL_EXT_pbuffer ---------------------------- */
428
429#ifndef WGL_EXT_pbuffer
430#define WGL_EXT_pbuffer 1
431
432#define WGL_DRAW_TO_PBUFFER_EXT 0x202D
433#define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E
434#define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F
435#define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030
436#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031
437#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032
438#define WGL_PBUFFER_LARGEST_EXT 0x2033
439#define WGL_PBUFFER_WIDTH_EXT 0x2034
440#define WGL_PBUFFER_HEIGHT_EXT 0x2035
441
442DECLARE_HANDLE(HPBUFFEREXT);
443
444typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList);
445typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer);
446typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer);
447typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int* piValue);
448typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC);
449
450#define wglCreatePbufferEXT WGLEW_GET_FUN(__wglewCreatePbufferEXT)
451#define wglDestroyPbufferEXT WGLEW_GET_FUN(__wglewDestroyPbufferEXT)
452#define wglGetPbufferDCEXT WGLEW_GET_FUN(__wglewGetPbufferDCEXT)
453#define wglQueryPbufferEXT WGLEW_GET_FUN(__wglewQueryPbufferEXT)
454#define wglReleasePbufferDCEXT WGLEW_GET_FUN(__wglewReleasePbufferDCEXT)
455
456#define WGLEW_EXT_pbuffer WGLEW_GET_VAR(__WGLEW_EXT_pbuffer)
457
458#endif /* WGL_EXT_pbuffer */
459
460/* -------------------------- WGL_EXT_pixel_format ------------------------- */
461
462#ifndef WGL_EXT_pixel_format
463#define WGL_EXT_pixel_format 1
464
465#define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000
466#define WGL_DRAW_TO_WINDOW_EXT 0x2001
467#define WGL_DRAW_TO_BITMAP_EXT 0x2002
468#define WGL_ACCELERATION_EXT 0x2003
469#define WGL_NEED_PALETTE_EXT 0x2004
470#define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005
471#define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006
472#define WGL_SWAP_METHOD_EXT 0x2007
473#define WGL_NUMBER_OVERLAYS_EXT 0x2008
474#define WGL_NUMBER_UNDERLAYS_EXT 0x2009
475#define WGL_TRANSPARENT_EXT 0x200A
476#define WGL_TRANSPARENT_VALUE_EXT 0x200B
477#define WGL_SHARE_DEPTH_EXT 0x200C
478#define WGL_SHARE_STENCIL_EXT 0x200D
479#define WGL_SHARE_ACCUM_EXT 0x200E
480#define WGL_SUPPORT_GDI_EXT 0x200F
481#define WGL_SUPPORT_OPENGL_EXT 0x2010
482#define WGL_DOUBLE_BUFFER_EXT 0x2011
483#define WGL_STEREO_EXT 0x2012
484#define WGL_PIXEL_TYPE_EXT 0x2013
485#define WGL_COLOR_BITS_EXT 0x2014
486#define WGL_RED_BITS_EXT 0x2015
487#define WGL_RED_SHIFT_EXT 0x2016
488#define WGL_GREEN_BITS_EXT 0x2017
489#define WGL_GREEN_SHIFT_EXT 0x2018
490#define WGL_BLUE_BITS_EXT 0x2019
491#define WGL_BLUE_SHIFT_EXT 0x201A
492#define WGL_ALPHA_BITS_EXT 0x201B
493#define WGL_ALPHA_SHIFT_EXT 0x201C
494#define WGL_ACCUM_BITS_EXT 0x201D
495#define WGL_ACCUM_RED_BITS_EXT 0x201E
496#define WGL_ACCUM_GREEN_BITS_EXT 0x201F
497#define WGL_ACCUM_BLUE_BITS_EXT 0x2020
498#define WGL_ACCUM_ALPHA_BITS_EXT 0x2021
499#define WGL_DEPTH_BITS_EXT 0x2022
500#define WGL_STENCIL_BITS_EXT 0x2023
501#define WGL_AUX_BUFFERS_EXT 0x2024
502#define WGL_NO_ACCELERATION_EXT 0x2025
503#define WGL_GENERIC_ACCELERATION_EXT 0x2026
504#define WGL_FULL_ACCELERATION_EXT 0x2027
505#define WGL_SWAP_EXCHANGE_EXT 0x2028
506#define WGL_SWAP_COPY_EXT 0x2029
507#define WGL_SWAP_UNDEFINED_EXT 0x202A
508#define WGL_TYPE_RGBA_EXT 0x202B
509#define WGL_TYPE_COLORINDEX_EXT 0x202C
510
511typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
512typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, FLOAT *pfValues);
513typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, int *piValues);
514
515#define wglChoosePixelFormatEXT WGLEW_GET_FUN(__wglewChoosePixelFormatEXT)
516#define wglGetPixelFormatAttribfvEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvEXT)
517#define wglGetPixelFormatAttribivEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribivEXT)
518
519#define WGLEW_EXT_pixel_format WGLEW_GET_VAR(__WGLEW_EXT_pixel_format)
520
521#endif /* WGL_EXT_pixel_format */
522
523/* ------------------- WGL_EXT_pixel_format_packed_float ------------------- */
524
525#ifndef WGL_EXT_pixel_format_packed_float
526#define WGL_EXT_pixel_format_packed_float 1
527
528#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8
529
530#define WGLEW_EXT_pixel_format_packed_float WGLEW_GET_VAR(__WGLEW_EXT_pixel_format_packed_float)
531
532#endif /* WGL_EXT_pixel_format_packed_float */
533
534/* -------------------------- WGL_EXT_swap_control ------------------------- */
535
536#ifndef WGL_EXT_swap_control
537#define WGL_EXT_swap_control 1
538
539typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void);
540typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
541
542#define wglGetSwapIntervalEXT WGLEW_GET_FUN(__wglewGetSwapIntervalEXT)
543#define wglSwapIntervalEXT WGLEW_GET_FUN(__wglewSwapIntervalEXT)
544
545#define WGLEW_EXT_swap_control WGLEW_GET_VAR(__WGLEW_EXT_swap_control)
546
547#endif /* WGL_EXT_swap_control */
548
549/* --------------------- WGL_I3D_digital_video_control --------------------- */
550
551#ifndef WGL_I3D_digital_video_control
552#define WGL_I3D_digital_video_control 1
553
554#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050
555#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051
556#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052
557#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053
558
559typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int* piValue);
560typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue);
561
562#define wglGetDigitalVideoParametersI3D WGLEW_GET_FUN(__wglewGetDigitalVideoParametersI3D)
563#define wglSetDigitalVideoParametersI3D WGLEW_GET_FUN(__wglewSetDigitalVideoParametersI3D)
564
565#define WGLEW_I3D_digital_video_control WGLEW_GET_VAR(__WGLEW_I3D_digital_video_control)
566
567#endif /* WGL_I3D_digital_video_control */
568
569/* ----------------------------- WGL_I3D_gamma ----------------------------- */
570
571#ifndef WGL_I3D_gamma
572#define WGL_I3D_gamma 1
573
574#define WGL_GAMMA_TABLE_SIZE_I3D 0x204E
575#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F
576
577typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT* puRed, USHORT *puGreen, USHORT *puBlue);
578typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int* piValue);
579typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT* puRed, const USHORT *puGreen, const USHORT *puBlue);
580typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue);
581
582#define wglGetGammaTableI3D WGLEW_GET_FUN(__wglewGetGammaTableI3D)
583#define wglGetGammaTableParametersI3D WGLEW_GET_FUN(__wglewGetGammaTableParametersI3D)
584#define wglSetGammaTableI3D WGLEW_GET_FUN(__wglewSetGammaTableI3D)
585#define wglSetGammaTableParametersI3D WGLEW_GET_FUN(__wglewSetGammaTableParametersI3D)
586
587#define WGLEW_I3D_gamma WGLEW_GET_VAR(__WGLEW_I3D_gamma)
588
589#endif /* WGL_I3D_gamma */
590
591/* ---------------------------- WGL_I3D_genlock ---------------------------- */
592
593#ifndef WGL_I3D_genlock
594#define WGL_I3D_genlock 1
595
596#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044
597#define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D 0x2045
598#define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046
599#define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D 0x2047
600#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048
601#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049
602#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A
603#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B
604#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C
605
606typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC);
607typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC);
608typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate);
609typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay);
610typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge);
611typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource);
612typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT* uRate);
613typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT* uDelay);
614typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT* uEdge);
615typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT* uSource);
616typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL* pFlag);
617typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT* uMaxLineDelay, UINT *uMaxPixelDelay);
618
619#define wglDisableGenlockI3D WGLEW_GET_FUN(__wglewDisableGenlockI3D)
620#define wglEnableGenlockI3D WGLEW_GET_FUN(__wglewEnableGenlockI3D)
621#define wglGenlockSampleRateI3D WGLEW_GET_FUN(__wglewGenlockSampleRateI3D)
622#define wglGenlockSourceDelayI3D WGLEW_GET_FUN(__wglewGenlockSourceDelayI3D)
623#define wglGenlockSourceEdgeI3D WGLEW_GET_FUN(__wglewGenlockSourceEdgeI3D)
624#define wglGenlockSourceI3D WGLEW_GET_FUN(__wglewGenlockSourceI3D)
625#define wglGetGenlockSampleRateI3D WGLEW_GET_FUN(__wglewGetGenlockSampleRateI3D)
626#define wglGetGenlockSourceDelayI3D WGLEW_GET_FUN(__wglewGetGenlockSourceDelayI3D)
627#define wglGetGenlockSourceEdgeI3D WGLEW_GET_FUN(__wglewGetGenlockSourceEdgeI3D)
628#define wglGetGenlockSourceI3D WGLEW_GET_FUN(__wglewGetGenlockSourceI3D)
629#define wglIsEnabledGenlockI3D WGLEW_GET_FUN(__wglewIsEnabledGenlockI3D)
630#define wglQueryGenlockMaxSourceDelayI3D WGLEW_GET_FUN(__wglewQueryGenlockMaxSourceDelayI3D)
631
632#define WGLEW_I3D_genlock WGLEW_GET_VAR(__WGLEW_I3D_genlock)
633
634#endif /* WGL_I3D_genlock */
635
636/* -------------------------- WGL_I3D_image_buffer ------------------------- */
637
638#ifndef WGL_I3D_image_buffer
639#define WGL_I3D_image_buffer 1
640
641#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001
642#define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002
643
644typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, HANDLE* pEvent, LPVOID *pAddress, DWORD *pSize, UINT count);
645typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags);
646typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress);
647typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, LPVOID* pAddress, UINT count);
648
649#define wglAssociateImageBufferEventsI3D WGLEW_GET_FUN(__wglewAssociateImageBufferEventsI3D)
650#define wglCreateImageBufferI3D WGLEW_GET_FUN(__wglewCreateImageBufferI3D)
651#define wglDestroyImageBufferI3D WGLEW_GET_FUN(__wglewDestroyImageBufferI3D)
652#define wglReleaseImageBufferEventsI3D WGLEW_GET_FUN(__wglewReleaseImageBufferEventsI3D)
653
654#define WGLEW_I3D_image_buffer WGLEW_GET_VAR(__WGLEW_I3D_image_buffer)
655
656#endif /* WGL_I3D_image_buffer */
657
658/* ------------------------ WGL_I3D_swap_frame_lock ------------------------ */
659
660#ifndef WGL_I3D_swap_frame_lock
661#define WGL_I3D_swap_frame_lock 1
662
663typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (VOID);
664typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (VOID);
665typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL* pFlag);
666typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL* pFlag);
667
668#define wglDisableFrameLockI3D WGLEW_GET_FUN(__wglewDisableFrameLockI3D)
669#define wglEnableFrameLockI3D WGLEW_GET_FUN(__wglewEnableFrameLockI3D)
670#define wglIsEnabledFrameLockI3D WGLEW_GET_FUN(__wglewIsEnabledFrameLockI3D)
671#define wglQueryFrameLockMasterI3D WGLEW_GET_FUN(__wglewQueryFrameLockMasterI3D)
672
673#define WGLEW_I3D_swap_frame_lock WGLEW_GET_VAR(__WGLEW_I3D_swap_frame_lock)
674
675#endif /* WGL_I3D_swap_frame_lock */
676
677/* ------------------------ WGL_I3D_swap_frame_usage ----------------------- */
678
679#ifndef WGL_I3D_swap_frame_usage
680#define WGL_I3D_swap_frame_usage 1
681
682typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void);
683typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void);
684typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float* pUsage);
685typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD* pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
686
687#define wglBeginFrameTrackingI3D WGLEW_GET_FUN(__wglewBeginFrameTrackingI3D)
688#define wglEndFrameTrackingI3D WGLEW_GET_FUN(__wglewEndFrameTrackingI3D)
689#define wglGetFrameUsageI3D WGLEW_GET_FUN(__wglewGetFrameUsageI3D)
690#define wglQueryFrameTrackingI3D WGLEW_GET_FUN(__wglewQueryFrameTrackingI3D)
691
692#define WGLEW_I3D_swap_frame_usage WGLEW_GET_VAR(__WGLEW_I3D_swap_frame_usage)
693
694#endif /* WGL_I3D_swap_frame_usage */
695
696/* -------------------------- WGL_NV_float_buffer -------------------------- */
697
698#ifndef WGL_NV_float_buffer
699#define WGL_NV_float_buffer 1
700
701#define WGL_FLOAT_COMPONENTS_NV 0x20B0
702#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1
703#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2
704#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3
705#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4
706#define WGL_TEXTURE_FLOAT_R_NV 0x20B5
707#define WGL_TEXTURE_FLOAT_RG_NV 0x20B6
708#define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7
709#define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8
710
711#define WGLEW_NV_float_buffer WGLEW_GET_VAR(__WGLEW_NV_float_buffer)
712
713#endif /* WGL_NV_float_buffer */
714
715/* -------------------------- WGL_NV_gpu_affinity -------------------------- */
716
717#ifndef WGL_NV_gpu_affinity
718#define WGL_NV_gpu_affinity 1
719
720#define WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0
721#define WGL_ERROR_MISSING_AFFINITY_MASK_NV 0x20D1
722
723DECLARE_HANDLE(HGPUNV);
724typedef struct _GPU_DEVICE {
725  DWORD cb; 
726  CHAR DeviceName[32]; 
727  CHAR DeviceString[128]; 
728  DWORD Flags; 
729  RECT rcVirtualScreen; 
730} GPU_DEVICE, *PGPU_DEVICE;
731
732typedef HDC (WINAPI * PFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV *phGpuList);
733typedef BOOL (WINAPI * PFNWGLDELETEDCNVPROC) (HDC hdc);
734typedef BOOL (WINAPI * PFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
735typedef BOOL (WINAPI * PFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);
736typedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu);
737
738#define wglCreateAffinityDCNV WGLEW_GET_FUN(__wglewCreateAffinityDCNV)
739#define wglDeleteDCNV WGLEW_GET_FUN(__wglewDeleteDCNV)
740#define wglEnumGpuDevicesNV WGLEW_GET_FUN(__wglewEnumGpuDevicesNV)
741#define wglEnumGpusFromAffinityDCNV WGLEW_GET_FUN(__wglewEnumGpusFromAffinityDCNV)
742#define wglEnumGpusNV WGLEW_GET_FUN(__wglewEnumGpusNV)
743
744#define WGLEW_NV_gpu_affinity WGLEW_GET_VAR(__WGLEW_NV_gpu_affinity)
745
746#endif /* WGL_NV_gpu_affinity */
747
748/* ---------------------- WGL_NV_render_depth_texture ---------------------- */
749
750#ifndef WGL_NV_render_depth_texture
751#define WGL_NV_render_depth_texture 1
752
753#define WGL_NO_TEXTURE_ARB 0x2077
754#define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3
755#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4
756#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5
757#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6
758#define WGL_DEPTH_COMPONENT_NV 0x20A7
759
760#define WGLEW_NV_render_depth_texture WGLEW_GET_VAR(__WGLEW_NV_render_depth_texture)
761
762#endif /* WGL_NV_render_depth_texture */
763
764/* -------------------- WGL_NV_render_texture_rectangle -------------------- */
765
766#ifndef WGL_NV_render_texture_rectangle
767#define WGL_NV_render_texture_rectangle 1
768
769#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0
770#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1
771#define WGL_TEXTURE_RECTANGLE_NV 0x20A2
772
773#define WGLEW_NV_render_texture_rectangle WGLEW_GET_VAR(__WGLEW_NV_render_texture_rectangle)
774
775#endif /* WGL_NV_render_texture_rectangle */
776
777/* ----------------------- WGL_NV_vertex_array_range ----------------------- */
778
779#ifndef WGL_NV_vertex_array_range
780#define WGL_NV_vertex_array_range 1
781
782typedef void * (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
783typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
784
785#define wglAllocateMemoryNV WGLEW_GET_FUN(__wglewAllocateMemoryNV)
786#define wglFreeMemoryNV WGLEW_GET_FUN(__wglewFreeMemoryNV)
787
788#define WGLEW_NV_vertex_array_range WGLEW_GET_VAR(__WGLEW_NV_vertex_array_range)
789
790#endif /* WGL_NV_vertex_array_range */
791
792/* -------------------------- WGL_OML_sync_control ------------------------- */
793
794#ifndef WGL_OML_sync_control
795#define WGL_OML_sync_control 1
796
797typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32* numerator, INT32 *denominator);
798typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64* ust, INT64 *msc, INT64 *sbc);
799typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
800typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, INT fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
801typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64* ust, INT64 *msc, INT64 *sbc);
802typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64* ust, INT64 *msc, INT64 *sbc);
803
804#define wglGetMscRateOML WGLEW_GET_FUN(__wglewGetMscRateOML)
805#define wglGetSyncValuesOML WGLEW_GET_FUN(__wglewGetSyncValuesOML)
806#define wglSwapBuffersMscOML WGLEW_GET_FUN(__wglewSwapBuffersMscOML)
807#define wglSwapLayerBuffersMscOML WGLEW_GET_FUN(__wglewSwapLayerBuffersMscOML)
808#define wglWaitForMscOML WGLEW_GET_FUN(__wglewWaitForMscOML)
809#define wglWaitForSbcOML WGLEW_GET_FUN(__wglewWaitForSbcOML)
810
811#define WGLEW_OML_sync_control WGLEW_GET_VAR(__WGLEW_OML_sync_control)
812
813#endif /* WGL_OML_sync_control */
814
815/* ------------------------------------------------------------------------- */
816
817#ifdef GLEW_MX
818#define WGLEW_EXPORT
819#else
820#define WGLEW_EXPORT GLEWAPI
821#endif /* GLEW_MX */
822
823#ifdef GLEW_MX
824struct WGLEWContextStruct
825{
826#endif /* GLEW_MX */
827
828WGLEW_EXPORT PFNWGLSETSTEREOEMITTERSTATE3DLPROC __wglewSetStereoEmitterState3DL;
829
830WGLEW_EXPORT PFNWGLCREATEBUFFERREGIONARBPROC __wglewCreateBufferRegionARB;
831WGLEW_EXPORT PFNWGLDELETEBUFFERREGIONARBPROC __wglewDeleteBufferRegionARB;
832WGLEW_EXPORT PFNWGLRESTOREBUFFERREGIONARBPROC __wglewRestoreBufferRegionARB;
833WGLEW_EXPORT PFNWGLSAVEBUFFERREGIONARBPROC __wglewSaveBufferRegionARB;
834
835WGLEW_EXPORT PFNWGLGETEXTENSIONSSTRINGARBPROC __wglewGetExtensionsStringARB;
836
837WGLEW_EXPORT PFNWGLGETCURRENTREADDCARBPROC __wglewGetCurrentReadDCARB;
838WGLEW_EXPORT PFNWGLMAKECONTEXTCURRENTARBPROC __wglewMakeContextCurrentARB;
839
840WGLEW_EXPORT PFNWGLCREATEPBUFFERARBPROC __wglewCreatePbufferARB;
841WGLEW_EXPORT PFNWGLDESTROYPBUFFERARBPROC __wglewDestroyPbufferARB;
842WGLEW_EXPORT PFNWGLGETPBUFFERDCARBPROC __wglewGetPbufferDCARB;
843WGLEW_EXPORT PFNWGLQUERYPBUFFERARBPROC __wglewQueryPbufferARB;
844WGLEW_EXPORT PFNWGLRELEASEPBUFFERDCARBPROC __wglewReleasePbufferDCARB;
845
846WGLEW_EXPORT PFNWGLCHOOSEPIXELFORMATARBPROC __wglewChoosePixelFormatARB;
847WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBFVARBPROC __wglewGetPixelFormatAttribfvARB;
848WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBIVARBPROC __wglewGetPixelFormatAttribivARB;
849
850WGLEW_EXPORT PFNWGLBINDTEXIMAGEARBPROC __wglewBindTexImageARB;
851WGLEW_EXPORT PFNWGLRELEASETEXIMAGEARBPROC __wglewReleaseTexImageARB;
852WGLEW_EXPORT PFNWGLSETPBUFFERATTRIBARBPROC __wglewSetPbufferAttribARB;
853
854WGLEW_EXPORT PFNWGLBINDDISPLAYCOLORTABLEEXTPROC __wglewBindDisplayColorTableEXT;
855WGLEW_EXPORT PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC __wglewCreateDisplayColorTableEXT;
856WGLEW_EXPORT PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC __wglewDestroyDisplayColorTableEXT;
857WGLEW_EXPORT PFNWGLLOADDISPLAYCOLORTABLEEXTPROC __wglewLoadDisplayColorTableEXT;
858
859WGLEW_EXPORT PFNWGLGETEXTENSIONSSTRINGEXTPROC __wglewGetExtensionsStringEXT;
860
861WGLEW_EXPORT PFNWGLGETCURRENTREADDCEXTPROC __wglewGetCurrentReadDCEXT;
862WGLEW_EXPORT PFNWGLMAKECONTEXTCURRENTEXTPROC __wglewMakeContextCurrentEXT;
863
864WGLEW_EXPORT PFNWGLCREATEPBUFFEREXTPROC __wglewCreatePbufferEXT;
865WGLEW_EXPORT PFNWGLDESTROYPBUFFEREXTPROC __wglewDestroyPbufferEXT;
866WGLEW_EXPORT PFNWGLGETPBUFFERDCEXTPROC __wglewGetPbufferDCEXT;
867WGLEW_EXPORT PFNWGLQUERYPBUFFEREXTPROC __wglewQueryPbufferEXT;
868WGLEW_EXPORT PFNWGLRELEASEPBUFFERDCEXTPROC __wglewReleasePbufferDCEXT;
869
870WGLEW_EXPORT PFNWGLCHOOSEPIXELFORMATEXTPROC __wglewChoosePixelFormatEXT;
871WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBFVEXTPROC __wglewGetPixelFormatAttribfvEXT;
872WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBIVEXTPROC __wglewGetPixelFormatAttribivEXT;
873
874WGLEW_EXPORT PFNWGLGETSWAPINTERVALEXTPROC __wglewGetSwapIntervalEXT;
875WGLEW_EXPORT PFNWGLSWAPINTERVALEXTPROC __wglewSwapIntervalEXT;
876
877WGLEW_EXPORT PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC __wglewGetDigitalVideoParametersI3D;
878WGLEW_EXPORT PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC __wglewSetDigitalVideoParametersI3D;
879
880WGLEW_EXPORT PFNWGLGETGAMMATABLEI3DPROC __wglewGetGammaTableI3D;
881WGLEW_EXPORT PFNWGLGETGAMMATABLEPARAMETERSI3DPROC __wglewGetGammaTableParametersI3D;
882WGLEW_EXPORT PFNWGLSETGAMMATABLEI3DPROC __wglewSetGammaTableI3D;
883WGLEW_EXPORT PFNWGLSETGAMMATABLEPARAMETERSI3DPROC __wglewSetGammaTableParametersI3D;
884
885WGLEW_EXPORT PFNWGLDISABLEGENLOCKI3DPROC __wglewDisableGenlockI3D;
886WGLEW_EXPORT PFNWGLENABLEGENLOCKI3DPROC __wglewEnableGenlockI3D;
887WGLEW_EXPORT PFNWGLGENLOCKSAMPLERATEI3DPROC __wglewGenlockSampleRateI3D;
888WGLEW_EXPORT PFNWGLGENLOCKSOURCEDELAYI3DPROC __wglewGenlockSourceDelayI3D;
889WGLEW_EXPORT PFNWGLGENLOCKSOURCEEDGEI3DPROC __wglewGenlockSourceEdgeI3D;
890WGLEW_EXPORT PFNWGLGENLOCKSOURCEI3DPROC __wglewGenlockSourceI3D;
891WGLEW_EXPORT PFNWGLGETGENLOCKSAMPLERATEI3DPROC __wglewGetGenlockSampleRateI3D;
892WGLEW_EXPORT PFNWGLGETGENLOCKSOURCEDELAYI3DPROC __wglewGetGenlockSourceDelayI3D;
893WGLEW_EXPORT PFNWGLGETGENLOCKSOURCEEDGEI3DPROC __wglewGetGenlockSourceEdgeI3D;
894WGLEW_EXPORT PFNWGLGETGENLOCKSOURCEI3DPROC __wglewGetGenlockSourceI3D;
895WGLEW_EXPORT PFNWGLISENABLEDGENLOCKI3DPROC __wglewIsEnabledGenlockI3D;
896WGLEW_EXPORT PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC __wglewQueryGenlockMaxSourceDelayI3D;
897
898WGLEW_EXPORT PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC __wglewAssociateImageBufferEventsI3D;
899WGLEW_EXPORT PFNWGLCREATEIMAGEBUFFERI3DPROC __wglewCreateImageBufferI3D;
900WGLEW_EXPORT PFNWGLDESTROYIMAGEBUFFERI3DPROC __wglewDestroyImageBufferI3D;
901WGLEW_EXPORT PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC __wglewReleaseImageBufferEventsI3D;
902
903WGLEW_EXPORT PFNWGLDISABLEFRAMELOCKI3DPROC __wglewDisableFrameLockI3D;
904WGLEW_EXPORT PFNWGLENABLEFRAMELOCKI3DPROC __wglewEnableFrameLockI3D;
905WGLEW_EXPORT PFNWGLISENABLEDFRAMELOCKI3DPROC __wglewIsEnabledFrameLockI3D;
906WGLEW_EXPORT PFNWGLQUERYFRAMELOCKMASTERI3DPROC __wglewQueryFrameLockMasterI3D;
907
908WGLEW_EXPORT PFNWGLBEGINFRAMETRACKINGI3DPROC __wglewBeginFrameTrackingI3D;
909WGLEW_EXPORT PFNWGLENDFRAMETRACKINGI3DPROC __wglewEndFrameTrackingI3D;
910WGLEW_EXPORT PFNWGLGETFRAMEUSAGEI3DPROC __wglewGetFrameUsageI3D;
911WGLEW_EXPORT PFNWGLQUERYFRAMETRACKINGI3DPROC __wglewQueryFrameTrackingI3D;
912
913WGLEW_EXPORT PFNWGLCREATEAFFINITYDCNVPROC __wglewCreateAffinityDCNV;
914WGLEW_EXPORT PFNWGLDELETEDCNVPROC __wglewDeleteDCNV;
915WGLEW_EXPORT PFNWGLENUMGPUDEVICESNVPROC __wglewEnumGpuDevicesNV;
916WGLEW_EXPORT PFNWGLENUMGPUSFROMAFFINITYDCNVPROC __wglewEnumGpusFromAffinityDCNV;
917WGLEW_EXPORT PFNWGLENUMGPUSNVPROC __wglewEnumGpusNV;
918
919WGLEW_EXPORT PFNWGLALLOCATEMEMORYNVPROC __wglewAllocateMemoryNV;
920WGLEW_EXPORT PFNWGLFREEMEMORYNVPROC __wglewFreeMemoryNV;
921
922WGLEW_EXPORT PFNWGLGETMSCRATEOMLPROC __wglewGetMscRateOML;
923WGLEW_EXPORT PFNWGLGETSYNCVALUESOMLPROC __wglewGetSyncValuesOML;
924WGLEW_EXPORT PFNWGLSWAPBUFFERSMSCOMLPROC __wglewSwapBuffersMscOML;
925WGLEW_EXPORT PFNWGLSWAPLAYERBUFFERSMSCOMLPROC __wglewSwapLayerBuffersMscOML;
926WGLEW_EXPORT PFNWGLWAITFORMSCOMLPROC __wglewWaitForMscOML;
927WGLEW_EXPORT PFNWGLWAITFORSBCOMLPROC __wglewWaitForSbcOML;
928WGLEW_EXPORT GLboolean __WGLEW_3DFX_multisample;
929WGLEW_EXPORT GLboolean __WGLEW_3DL_stereo_control;
930WGLEW_EXPORT GLboolean __WGLEW_ARB_buffer_region;
931WGLEW_EXPORT GLboolean __WGLEW_ARB_extensions_string;
932WGLEW_EXPORT GLboolean __WGLEW_ARB_make_current_read;
933WGLEW_EXPORT GLboolean __WGLEW_ARB_multisample;
934WGLEW_EXPORT GLboolean __WGLEW_ARB_pbuffer;
935WGLEW_EXPORT GLboolean __WGLEW_ARB_pixel_format;
936WGLEW_EXPORT GLboolean __WGLEW_ARB_pixel_format_float;
937WGLEW_EXPORT GLboolean __WGLEW_ARB_render_texture;
938WGLEW_EXPORT GLboolean __WGLEW_ATI_pixel_format_float;
939WGLEW_EXPORT GLboolean __WGLEW_ATI_render_texture_rectangle;
940WGLEW_EXPORT GLboolean __WGLEW_EXT_depth_float;
941WGLEW_EXPORT GLboolean __WGLEW_EXT_display_color_table;
942WGLEW_EXPORT GLboolean __WGLEW_EXT_extensions_string;
943WGLEW_EXPORT GLboolean __WGLEW_EXT_framebuffer_sRGB;
944WGLEW_EXPORT GLboolean __WGLEW_EXT_make_current_read;
945WGLEW_EXPORT GLboolean __WGLEW_EXT_multisample;
946WGLEW_EXPORT GLboolean __WGLEW_EXT_pbuffer;
947WGLEW_EXPORT GLboolean __WGLEW_EXT_pixel_format;
948WGLEW_EXPORT GLboolean __WGLEW_EXT_pixel_format_packed_float;
949WGLEW_EXPORT GLboolean __WGLEW_EXT_swap_control;
950WGLEW_EXPORT GLboolean __WGLEW_I3D_digital_video_control;
951WGLEW_EXPORT GLboolean __WGLEW_I3D_gamma;
952WGLEW_EXPORT GLboolean __WGLEW_I3D_genlock;
953WGLEW_EXPORT GLboolean __WGLEW_I3D_image_buffer;
954WGLEW_EXPORT GLboolean __WGLEW_I3D_swap_frame_lock;
955WGLEW_EXPORT GLboolean __WGLEW_I3D_swap_frame_usage;
956WGLEW_EXPORT GLboolean __WGLEW_NV_float_buffer;
957WGLEW_EXPORT GLboolean __WGLEW_NV_gpu_affinity;
958WGLEW_EXPORT GLboolean __WGLEW_NV_render_depth_texture;
959WGLEW_EXPORT GLboolean __WGLEW_NV_render_texture_rectangle;
960WGLEW_EXPORT GLboolean __WGLEW_NV_vertex_array_range;
961WGLEW_EXPORT GLboolean __WGLEW_OML_sync_control;
962
963#ifdef GLEW_MX
964}; /* WGLEWContextStruct */
965#endif /* GLEW_MX */
966
967/* ------------------------------------------------------------------------- */
968
969#ifdef GLEW_MX
970
971typedef struct WGLEWContextStruct WGLEWContext;
972GLEWAPI GLenum wglewContextInit (WGLEWContext* ctx);
973GLEWAPI GLboolean wglewContextIsSupported (WGLEWContext* ctx, const char* name);
974
975#define wglewInit() wglewContextInit(wglewGetContext())
976#define wglewIsSupported(x) wglewContextIsSupported(wglewGetContext(), x)
977
978#define WGLEW_GET_VAR(x) (*(const GLboolean*)&(wglewGetContext()->x))
979#define WGLEW_GET_FUN(x) wglewGetContext()->x
980
981#else /* GLEW_MX */
982
983#define WGLEW_GET_VAR(x) (*(const GLboolean*)&x)
984#define WGLEW_GET_FUN(x) x
985
986GLEWAPI GLboolean wglewIsSupported (const char* name);
987
988#endif /* GLEW_MX */
989
990GLEWAPI GLboolean wglewGetExtension (const char* name);
991
992#ifdef __cplusplus
993}
994#endif
995
996#undef GLEWAPI
997
998#endif /* __wglew_h__ */
Note: See TracBrowser for help on using the repository browser.