Fork me on GitHub

source: svn/trunk/Utilities/FROG/Includes/GL/wglew.h@ 181

Last change on this file since 181 was 95, checked in by severine ovyn, 16 years ago

first commit frog

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