1706f2543Smrg#ifndef __wglext_h_
2706f2543Smrg#define __wglext_h_
3706f2543Smrg
4706f2543Smrg#ifdef __cplusplus
5706f2543Smrgextern "C" {
6706f2543Smrg#endif
7706f2543Smrg
8706f2543Smrg/*
9706f2543Smrg** Copyright (c) 2007-2010 The Khronos Group Inc.
10706f2543Smrg**
11706f2543Smrg** Permission is hereby granted, free of charge, to any person obtaining a
12706f2543Smrg** copy of this software and/or associated documentation files (the
13706f2543Smrg** "Materials"), to deal in the Materials without restriction, including
14706f2543Smrg** without limitation the rights to use, copy, modify, merge, publish,
15706f2543Smrg** distribute, sublicense, and/or sell copies of the Materials, and to
16706f2543Smrg** permit persons to whom the Materials are furnished to do so, subject to
17706f2543Smrg** the following conditions:
18706f2543Smrg**
19706f2543Smrg** The above copyright notice and this permission notice shall be included
20706f2543Smrg** in all copies or substantial portions of the Materials.
21706f2543Smrg**
22706f2543Smrg** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23706f2543Smrg** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24706f2543Smrg** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
25706f2543Smrg** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
26706f2543Smrg** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
27706f2543Smrg** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
28706f2543Smrg** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
29706f2543Smrg*/
30706f2543Smrg
31706f2543Smrg/* Function declaration macros - to move into glplatform.h */
32706f2543Smrg
33706f2543Smrg#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
34706f2543Smrg#define WIN32_LEAN_AND_MEAN 1
35706f2543Smrg#include <windows.h>
36706f2543Smrg#endif
37706f2543Smrg
38706f2543Smrg#ifndef APIENTRY
39706f2543Smrg#define APIENTRY
40706f2543Smrg#endif
41706f2543Smrg#ifndef APIENTRYP
42706f2543Smrg#define APIENTRYP APIENTRY *
43706f2543Smrg#endif
44706f2543Smrg#ifndef GLAPI
45706f2543Smrg#define GLAPI extern
46706f2543Smrg#endif
47706f2543Smrg
48706f2543Smrg/*************************************************************/
49706f2543Smrg
50706f2543Smrg/* Header file version number */
51706f2543Smrg/* wglext.h last updated 2011/04/13 */
52706f2543Smrg/* Current version at http://www.opengl.org/registry/ */
53706f2543Smrg#define WGL_WGLEXT_VERSION 23
54706f2543Smrg
55706f2543Smrg#ifndef WGL_ARB_buffer_region
56706f2543Smrg#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001
57706f2543Smrg#define WGL_BACK_COLOR_BUFFER_BIT_ARB  0x00000002
58706f2543Smrg#define WGL_DEPTH_BUFFER_BIT_ARB       0x00000004
59706f2543Smrg#define WGL_STENCIL_BUFFER_BIT_ARB     0x00000008
60706f2543Smrg#endif
61706f2543Smrg
62706f2543Smrg#ifndef WGL_ARB_multisample
63706f2543Smrg#define WGL_SAMPLE_BUFFERS_ARB         0x2041
64706f2543Smrg#define WGL_SAMPLES_ARB                0x2042
65706f2543Smrg#endif
66706f2543Smrg
67706f2543Smrg#ifndef WGL_ARB_extensions_string
68706f2543Smrg#endif
69706f2543Smrg
70706f2543Smrg#ifndef WGL_ARB_pixel_format
71706f2543Smrg#define WGL_NUMBER_PIXEL_FORMATS_ARB   0x2000
72706f2543Smrg#define WGL_DRAW_TO_WINDOW_ARB         0x2001
73706f2543Smrg#define WGL_DRAW_TO_BITMAP_ARB         0x2002
74706f2543Smrg#define WGL_ACCELERATION_ARB           0x2003
75706f2543Smrg#define WGL_NEED_PALETTE_ARB           0x2004
76706f2543Smrg#define WGL_NEED_SYSTEM_PALETTE_ARB    0x2005
77706f2543Smrg#define WGL_SWAP_LAYER_BUFFERS_ARB     0x2006
78706f2543Smrg#define WGL_SWAP_METHOD_ARB            0x2007
79706f2543Smrg#define WGL_NUMBER_OVERLAYS_ARB        0x2008
80706f2543Smrg#define WGL_NUMBER_UNDERLAYS_ARB       0x2009
81706f2543Smrg#define WGL_TRANSPARENT_ARB            0x200A
82706f2543Smrg#define WGL_TRANSPARENT_RED_VALUE_ARB  0x2037
83706f2543Smrg#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
84706f2543Smrg#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
85706f2543Smrg#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
86706f2543Smrg#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
87706f2543Smrg#define WGL_SHARE_DEPTH_ARB            0x200C
88706f2543Smrg#define WGL_SHARE_STENCIL_ARB          0x200D
89706f2543Smrg#define WGL_SHARE_ACCUM_ARB            0x200E
90706f2543Smrg#define WGL_SUPPORT_GDI_ARB            0x200F
91706f2543Smrg#define WGL_SUPPORT_OPENGL_ARB         0x2010
92706f2543Smrg#define WGL_DOUBLE_BUFFER_ARB          0x2011
93706f2543Smrg#define WGL_STEREO_ARB                 0x2012
94706f2543Smrg#define WGL_PIXEL_TYPE_ARB             0x2013
95706f2543Smrg#define WGL_COLOR_BITS_ARB             0x2014
96706f2543Smrg#define WGL_RED_BITS_ARB               0x2015
97706f2543Smrg#define WGL_RED_SHIFT_ARB              0x2016
98706f2543Smrg#define WGL_GREEN_BITS_ARB             0x2017
99706f2543Smrg#define WGL_GREEN_SHIFT_ARB            0x2018
100706f2543Smrg#define WGL_BLUE_BITS_ARB              0x2019
101706f2543Smrg#define WGL_BLUE_SHIFT_ARB             0x201A
102706f2543Smrg#define WGL_ALPHA_BITS_ARB             0x201B
103706f2543Smrg#define WGL_ALPHA_SHIFT_ARB            0x201C
104706f2543Smrg#define WGL_ACCUM_BITS_ARB             0x201D
105706f2543Smrg#define WGL_ACCUM_RED_BITS_ARB         0x201E
106706f2543Smrg#define WGL_ACCUM_GREEN_BITS_ARB       0x201F
107706f2543Smrg#define WGL_ACCUM_BLUE_BITS_ARB        0x2020
108706f2543Smrg#define WGL_ACCUM_ALPHA_BITS_ARB       0x2021
109706f2543Smrg#define WGL_DEPTH_BITS_ARB             0x2022
110706f2543Smrg#define WGL_STENCIL_BITS_ARB           0x2023
111706f2543Smrg#define WGL_AUX_BUFFERS_ARB            0x2024
112706f2543Smrg#define WGL_NO_ACCELERATION_ARB        0x2025
113706f2543Smrg#define WGL_GENERIC_ACCELERATION_ARB   0x2026
114706f2543Smrg#define WGL_FULL_ACCELERATION_ARB      0x2027
115706f2543Smrg#define WGL_SWAP_EXCHANGE_ARB          0x2028
116706f2543Smrg#define WGL_SWAP_COPY_ARB              0x2029
117706f2543Smrg#define WGL_SWAP_UNDEFINED_ARB         0x202A
118706f2543Smrg#define WGL_TYPE_RGBA_ARB              0x202B
119706f2543Smrg#define WGL_TYPE_COLORINDEX_ARB        0x202C
120706f2543Smrg#endif
121706f2543Smrg
122706f2543Smrg#ifndef WGL_ARB_make_current_read
123706f2543Smrg#define ERROR_INVALID_PIXEL_TYPE_ARB   0x2043
124706f2543Smrg#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
125706f2543Smrg#endif
126706f2543Smrg
127706f2543Smrg#ifndef WGL_ARB_pbuffer
128706f2543Smrg#define WGL_DRAW_TO_PBUFFER_ARB        0x202D
129706f2543Smrg#define WGL_MAX_PBUFFER_PIXELS_ARB     0x202E
130706f2543Smrg#define WGL_MAX_PBUFFER_WIDTH_ARB      0x202F
131706f2543Smrg#define WGL_MAX_PBUFFER_HEIGHT_ARB     0x2030
132706f2543Smrg#define WGL_PBUFFER_LARGEST_ARB        0x2033
133706f2543Smrg#define WGL_PBUFFER_WIDTH_ARB          0x2034
134706f2543Smrg#define WGL_PBUFFER_HEIGHT_ARB         0x2035
135706f2543Smrg#define WGL_PBUFFER_LOST_ARB           0x2036
136706f2543Smrg#endif
137706f2543Smrg
138706f2543Smrg#ifndef WGL_ARB_render_texture
139706f2543Smrg#define WGL_BIND_TO_TEXTURE_RGB_ARB    0x2070
140706f2543Smrg#define WGL_BIND_TO_TEXTURE_RGBA_ARB   0x2071
141706f2543Smrg#define WGL_TEXTURE_FORMAT_ARB         0x2072
142706f2543Smrg#define WGL_TEXTURE_TARGET_ARB         0x2073
143706f2543Smrg#define WGL_MIPMAP_TEXTURE_ARB         0x2074
144706f2543Smrg#define WGL_TEXTURE_RGB_ARB            0x2075
145706f2543Smrg#define WGL_TEXTURE_RGBA_ARB           0x2076
146706f2543Smrg#define WGL_NO_TEXTURE_ARB             0x2077
147706f2543Smrg#define WGL_TEXTURE_CUBE_MAP_ARB       0x2078
148706f2543Smrg#define WGL_TEXTURE_1D_ARB             0x2079
149706f2543Smrg#define WGL_TEXTURE_2D_ARB             0x207A
150706f2543Smrg#define WGL_MIPMAP_LEVEL_ARB           0x207B
151706f2543Smrg#define WGL_CUBE_MAP_FACE_ARB          0x207C
152706f2543Smrg#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D
153706f2543Smrg#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E
154706f2543Smrg#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F
155706f2543Smrg#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080
156706f2543Smrg#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081
157706f2543Smrg#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082
158706f2543Smrg#define WGL_FRONT_LEFT_ARB             0x2083
159706f2543Smrg#define WGL_FRONT_RIGHT_ARB            0x2084
160706f2543Smrg#define WGL_BACK_LEFT_ARB              0x2085
161706f2543Smrg#define WGL_BACK_RIGHT_ARB             0x2086
162706f2543Smrg#define WGL_AUX0_ARB                   0x2087
163706f2543Smrg#define WGL_AUX1_ARB                   0x2088
164706f2543Smrg#define WGL_AUX2_ARB                   0x2089
165706f2543Smrg#define WGL_AUX3_ARB                   0x208A
166706f2543Smrg#define WGL_AUX4_ARB                   0x208B
167706f2543Smrg#define WGL_AUX5_ARB                   0x208C
168706f2543Smrg#define WGL_AUX6_ARB                   0x208D
169706f2543Smrg#define WGL_AUX7_ARB                   0x208E
170706f2543Smrg#define WGL_AUX8_ARB                   0x208F
171706f2543Smrg#define WGL_AUX9_ARB                   0x2090
172706f2543Smrg#endif
173706f2543Smrg
174706f2543Smrg#ifndef WGL_ARB_pixel_format_float
175706f2543Smrg#define WGL_TYPE_RGBA_FLOAT_ARB        0x21A0
176706f2543Smrg#endif
177706f2543Smrg
178706f2543Smrg#ifndef WGL_ARB_framebuffer_sRGB
179706f2543Smrg#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9
180706f2543Smrg#endif
181706f2543Smrg
182706f2543Smrg#ifndef WGL_ARB_create_context
183706f2543Smrg#define WGL_CONTEXT_DEBUG_BIT_ARB      0x00000001
184706f2543Smrg#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
185706f2543Smrg#define WGL_CONTEXT_MAJOR_VERSION_ARB  0x2091
186706f2543Smrg#define WGL_CONTEXT_MINOR_VERSION_ARB  0x2092
187706f2543Smrg#define WGL_CONTEXT_LAYER_PLANE_ARB    0x2093
188706f2543Smrg#define WGL_CONTEXT_FLAGS_ARB          0x2094
189706f2543Smrg#define ERROR_INVALID_VERSION_ARB      0x2095
190706f2543Smrg#endif
191706f2543Smrg
192706f2543Smrg#ifndef WGL_ARB_create_context_profile
193706f2543Smrg#define WGL_CONTEXT_PROFILE_MASK_ARB   0x9126
194706f2543Smrg#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
195706f2543Smrg#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
196706f2543Smrg#define ERROR_INVALID_PROFILE_ARB      0x2096
197706f2543Smrg#endif
198706f2543Smrg
199706f2543Smrg#ifndef WGL_ARB_create_context_robustness
200706f2543Smrg#define WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004
201706f2543Smrg#define WGL_LOSE_CONTEXT_ON_RESET_ARB  0x8252
202706f2543Smrg#define WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
203706f2543Smrg#define WGL_NO_RESET_NOTIFICATION_ARB  0x8261
204706f2543Smrg#endif
205706f2543Smrg
206706f2543Smrg#ifndef WGL_EXT_make_current_read
207706f2543Smrg#define ERROR_INVALID_PIXEL_TYPE_EXT   0x2043
208706f2543Smrg#endif
209706f2543Smrg
210706f2543Smrg#ifndef WGL_EXT_pixel_format
211706f2543Smrg#define WGL_NUMBER_PIXEL_FORMATS_EXT   0x2000
212706f2543Smrg#define WGL_DRAW_TO_WINDOW_EXT         0x2001
213706f2543Smrg#define WGL_DRAW_TO_BITMAP_EXT         0x2002
214706f2543Smrg#define WGL_ACCELERATION_EXT           0x2003
215706f2543Smrg#define WGL_NEED_PALETTE_EXT           0x2004
216706f2543Smrg#define WGL_NEED_SYSTEM_PALETTE_EXT    0x2005
217706f2543Smrg#define WGL_SWAP_LAYER_BUFFERS_EXT     0x2006
218706f2543Smrg#define WGL_SWAP_METHOD_EXT            0x2007
219706f2543Smrg#define WGL_NUMBER_OVERLAYS_EXT        0x2008
220706f2543Smrg#define WGL_NUMBER_UNDERLAYS_EXT       0x2009
221706f2543Smrg#define WGL_TRANSPARENT_EXT            0x200A
222706f2543Smrg#define WGL_TRANSPARENT_VALUE_EXT      0x200B
223706f2543Smrg#define WGL_SHARE_DEPTH_EXT            0x200C
224706f2543Smrg#define WGL_SHARE_STENCIL_EXT          0x200D
225706f2543Smrg#define WGL_SHARE_ACCUM_EXT            0x200E
226706f2543Smrg#define WGL_SUPPORT_GDI_EXT            0x200F
227706f2543Smrg#define WGL_SUPPORT_OPENGL_EXT         0x2010
228706f2543Smrg#define WGL_DOUBLE_BUFFER_EXT          0x2011
229706f2543Smrg#define WGL_STEREO_EXT                 0x2012
230706f2543Smrg#define WGL_PIXEL_TYPE_EXT             0x2013
231706f2543Smrg#define WGL_COLOR_BITS_EXT             0x2014
232706f2543Smrg#define WGL_RED_BITS_EXT               0x2015
233706f2543Smrg#define WGL_RED_SHIFT_EXT              0x2016
234706f2543Smrg#define WGL_GREEN_BITS_EXT             0x2017
235706f2543Smrg#define WGL_GREEN_SHIFT_EXT            0x2018
236706f2543Smrg#define WGL_BLUE_BITS_EXT              0x2019
237706f2543Smrg#define WGL_BLUE_SHIFT_EXT             0x201A
238706f2543Smrg#define WGL_ALPHA_BITS_EXT             0x201B
239706f2543Smrg#define WGL_ALPHA_SHIFT_EXT            0x201C
240706f2543Smrg#define WGL_ACCUM_BITS_EXT             0x201D
241706f2543Smrg#define WGL_ACCUM_RED_BITS_EXT         0x201E
242706f2543Smrg#define WGL_ACCUM_GREEN_BITS_EXT       0x201F
243706f2543Smrg#define WGL_ACCUM_BLUE_BITS_EXT        0x2020
244706f2543Smrg#define WGL_ACCUM_ALPHA_BITS_EXT       0x2021
245706f2543Smrg#define WGL_DEPTH_BITS_EXT             0x2022
246706f2543Smrg#define WGL_STENCIL_BITS_EXT           0x2023
247706f2543Smrg#define WGL_AUX_BUFFERS_EXT            0x2024
248706f2543Smrg#define WGL_NO_ACCELERATION_EXT        0x2025
249706f2543Smrg#define WGL_GENERIC_ACCELERATION_EXT   0x2026
250706f2543Smrg#define WGL_FULL_ACCELERATION_EXT      0x2027
251706f2543Smrg#define WGL_SWAP_EXCHANGE_EXT          0x2028
252706f2543Smrg#define WGL_SWAP_COPY_EXT              0x2029
253706f2543Smrg#define WGL_SWAP_UNDEFINED_EXT         0x202A
254706f2543Smrg#define WGL_TYPE_RGBA_EXT              0x202B
255706f2543Smrg#define WGL_TYPE_COLORINDEX_EXT        0x202C
256706f2543Smrg#endif
257706f2543Smrg
258706f2543Smrg#ifndef WGL_EXT_pbuffer
259706f2543Smrg#define WGL_DRAW_TO_PBUFFER_EXT        0x202D
260706f2543Smrg#define WGL_MAX_PBUFFER_PIXELS_EXT     0x202E
261706f2543Smrg#define WGL_MAX_PBUFFER_WIDTH_EXT      0x202F
262706f2543Smrg#define WGL_MAX_PBUFFER_HEIGHT_EXT     0x2030
263706f2543Smrg#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT  0x2031
264706f2543Smrg#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032
265706f2543Smrg#define WGL_PBUFFER_LARGEST_EXT        0x2033
266706f2543Smrg#define WGL_PBUFFER_WIDTH_EXT          0x2034
267706f2543Smrg#define WGL_PBUFFER_HEIGHT_EXT         0x2035
268706f2543Smrg#endif
269706f2543Smrg
270706f2543Smrg#ifndef WGL_EXT_depth_float
271706f2543Smrg#define WGL_DEPTH_FLOAT_EXT            0x2040
272706f2543Smrg#endif
273706f2543Smrg
274706f2543Smrg#ifndef WGL_3DFX_multisample
275706f2543Smrg#define WGL_SAMPLE_BUFFERS_3DFX        0x2060
276706f2543Smrg#define WGL_SAMPLES_3DFX               0x2061
277706f2543Smrg#endif
278706f2543Smrg
279706f2543Smrg#ifndef WGL_EXT_multisample
280706f2543Smrg#define WGL_SAMPLE_BUFFERS_EXT         0x2041
281706f2543Smrg#define WGL_SAMPLES_EXT                0x2042
282706f2543Smrg#endif
283706f2543Smrg
284706f2543Smrg#ifndef WGL_I3D_digital_video_control
285706f2543Smrg#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050
286706f2543Smrg#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051
287706f2543Smrg#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052
288706f2543Smrg#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053
289706f2543Smrg#endif
290706f2543Smrg
291706f2543Smrg#ifndef WGL_I3D_gamma
292706f2543Smrg#define WGL_GAMMA_TABLE_SIZE_I3D       0x204E
293706f2543Smrg#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D  0x204F
294706f2543Smrg#endif
295706f2543Smrg
296706f2543Smrg#ifndef WGL_I3D_genlock
297706f2543Smrg#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044
298706f2543Smrg#define WGL_GENLOCK_SOURCE_EXTENAL_SYNC_I3D 0x2045
299706f2543Smrg#define WGL_GENLOCK_SOURCE_EXTENAL_FIELD_I3D 0x2046
300706f2543Smrg#define WGL_GENLOCK_SOURCE_EXTENAL_TTL_I3D 0x2047
301706f2543Smrg#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048
302706f2543Smrg#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049
303706f2543Smrg#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A
304706f2543Smrg#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B
305706f2543Smrg#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C
306706f2543Smrg#endif
307706f2543Smrg
308706f2543Smrg#ifndef WGL_I3D_image_buffer
309706f2543Smrg#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001
310706f2543Smrg#define WGL_IMAGE_BUFFER_LOCK_I3D      0x00000002
311706f2543Smrg#endif
312706f2543Smrg
313706f2543Smrg#ifndef WGL_I3D_swap_frame_lock
314706f2543Smrg#endif
315706f2543Smrg
316706f2543Smrg#ifndef WGL_NV_render_depth_texture
317706f2543Smrg#define WGL_BIND_TO_TEXTURE_DEPTH_NV   0x20A3
318706f2543Smrg#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4
319706f2543Smrg#define WGL_DEPTH_TEXTURE_FORMAT_NV    0x20A5
320706f2543Smrg#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6
321706f2543Smrg#define WGL_DEPTH_COMPONENT_NV         0x20A7
322706f2543Smrg#endif
323706f2543Smrg
324706f2543Smrg#ifndef WGL_NV_render_texture_rectangle
325706f2543Smrg#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0
326706f2543Smrg#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1
327706f2543Smrg#define WGL_TEXTURE_RECTANGLE_NV       0x20A2
328706f2543Smrg#endif
329706f2543Smrg
330706f2543Smrg#ifndef WGL_ATI_pixel_format_float
331706f2543Smrg#define WGL_TYPE_RGBA_FLOAT_ATI        0x21A0
332706f2543Smrg#endif
333706f2543Smrg
334706f2543Smrg#ifndef WGL_NV_float_buffer
335706f2543Smrg#define WGL_FLOAT_COMPONENTS_NV        0x20B0
336706f2543Smrg#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1
337706f2543Smrg#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2
338706f2543Smrg#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3
339706f2543Smrg#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4
340706f2543Smrg#define WGL_TEXTURE_FLOAT_R_NV         0x20B5
341706f2543Smrg#define WGL_TEXTURE_FLOAT_RG_NV        0x20B6
342706f2543Smrg#define WGL_TEXTURE_FLOAT_RGB_NV       0x20B7
343706f2543Smrg#define WGL_TEXTURE_FLOAT_RGBA_NV      0x20B8
344706f2543Smrg#endif
345706f2543Smrg
346706f2543Smrg#ifndef WGL_3DL_stereo_control
347706f2543Smrg#define WGL_STEREO_EMITTER_ENABLE_3DL  0x2055
348706f2543Smrg#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056
349706f2543Smrg#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057
350706f2543Smrg#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058
351706f2543Smrg#endif
352706f2543Smrg
353706f2543Smrg#ifndef WGL_EXT_pixel_format_packed_float
354706f2543Smrg#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8
355706f2543Smrg#endif
356706f2543Smrg
357706f2543Smrg#ifndef WGL_EXT_framebuffer_sRGB
358706f2543Smrg#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9
359706f2543Smrg#endif
360706f2543Smrg
361706f2543Smrg#ifndef WGL_NV_present_video
362706f2543Smrg#define WGL_NUM_VIDEO_SLOTS_NV         0x20F0
363706f2543Smrg#endif
364706f2543Smrg
365706f2543Smrg#ifndef WGL_NV_video_out
366706f2543Smrg#define WGL_BIND_TO_VIDEO_RGB_NV       0x20C0
367706f2543Smrg#define WGL_BIND_TO_VIDEO_RGBA_NV      0x20C1
368706f2543Smrg#define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2
369706f2543Smrg#define WGL_VIDEO_OUT_COLOR_NV         0x20C3
370706f2543Smrg#define WGL_VIDEO_OUT_ALPHA_NV         0x20C4
371706f2543Smrg#define WGL_VIDEO_OUT_DEPTH_NV         0x20C5
372706f2543Smrg#define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
373706f2543Smrg#define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
374706f2543Smrg#define WGL_VIDEO_OUT_FRAME            0x20C8
375706f2543Smrg#define WGL_VIDEO_OUT_FIELD_1          0x20C9
376706f2543Smrg#define WGL_VIDEO_OUT_FIELD_2          0x20CA
377706f2543Smrg#define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20CB
378706f2543Smrg#define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20CC
379706f2543Smrg#endif
380706f2543Smrg
381706f2543Smrg#ifndef WGL_NV_swap_group
382706f2543Smrg#endif
383706f2543Smrg
384706f2543Smrg#ifndef WGL_NV_gpu_affinity
385706f2543Smrg#define WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0
386706f2543Smrg#define WGL_ERROR_MISSING_AFFINITY_MASK_NV 0x20D1
387706f2543Smrg#endif
388706f2543Smrg
389706f2543Smrg#ifndef WGL_AMD_gpu_association
390706f2543Smrg#define WGL_GPU_VENDOR_AMD             0x1F00
391706f2543Smrg#define WGL_GPU_RENDERER_STRING_AMD    0x1F01
392706f2543Smrg#define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1F02
393706f2543Smrg#define WGL_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2
394706f2543Smrg#define WGL_GPU_RAM_AMD                0x21A3
395706f2543Smrg#define WGL_GPU_CLOCK_AMD              0x21A4
396706f2543Smrg#define WGL_GPU_NUM_PIPES_AMD          0x21A5
397706f2543Smrg#define WGL_GPU_NUM_SIMD_AMD           0x21A6
398706f2543Smrg#define WGL_GPU_NUM_RB_AMD             0x21A7
399706f2543Smrg#define WGL_GPU_NUM_SPI_AMD            0x21A8
400706f2543Smrg#endif
401706f2543Smrg
402706f2543Smrg#ifndef WGL_NV_video_capture
403706f2543Smrg#define WGL_UNIQUE_ID_NV               0x20CE
404706f2543Smrg#define WGL_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF
405706f2543Smrg#endif
406706f2543Smrg
407706f2543Smrg#ifndef WGL_NV_copy_image
408706f2543Smrg#endif
409706f2543Smrg
410706f2543Smrg#ifndef WGL_NV_multisample_coverage
411706f2543Smrg#define WGL_COVERAGE_SAMPLES_NV        0x2042
412706f2543Smrg#define WGL_COLOR_SAMPLES_NV           0x20B9
413706f2543Smrg#endif
414706f2543Smrg
415706f2543Smrg#ifndef WGL_EXT_create_context_es2_profile
416706f2543Smrg#define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004
417706f2543Smrg#endif
418706f2543Smrg
419706f2543Smrg#ifndef WGL_NV_DX_interop
420706f2543Smrg#define WGL_ACCESS_READ_ONLY_NV        0x00000000
421706f2543Smrg#define WGL_ACCESS_READ_WRITE_NV       0x00000001
422706f2543Smrg#define WGL_ACCESS_WRITE_DISCARD_NV    0x00000002
423706f2543Smrg#endif
424706f2543Smrg
425706f2543Smrg
426706f2543Smrg/*************************************************************/
427706f2543Smrg
428706f2543Smrg#ifndef WGL_ARB_pbuffer
429706f2543SmrgDECLARE_HANDLE(HPBUFFERARB);
430706f2543Smrg#endif
431706f2543Smrg#ifndef WGL_EXT_pbuffer
432706f2543SmrgDECLARE_HANDLE(HPBUFFEREXT);
433706f2543Smrg#endif
434706f2543Smrg#ifndef WGL_NV_present_video
435706f2543SmrgDECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
436706f2543Smrg#endif
437706f2543Smrg#ifndef WGL_NV_video_output
438706f2543SmrgDECLARE_HANDLE(HPVIDEODEV);
439706f2543Smrg#endif
440706f2543Smrg#ifndef WGL_NV_gpu_affinity
441706f2543SmrgDECLARE_HANDLE(HPGPUNV);
442706f2543SmrgDECLARE_HANDLE(HGPUNV);
443706f2543Smrg
444706f2543Smrgtypedef struct _GPU_DEVICE {
445706f2543Smrg    DWORD  cb;
446706f2543Smrg    CHAR   DeviceName[32];
447706f2543Smrg    CHAR   DeviceString[128];
448706f2543Smrg    DWORD  Flags;
449706f2543Smrg    RECT   rcVirtualScreen;
450706f2543Smrg} GPU_DEVICE, *PGPU_DEVICE;
451706f2543Smrg#endif
452706f2543Smrg#ifndef WGL_NV_video_capture
453706f2543SmrgDECLARE_HANDLE(HVIDEOINPUTDEVICENV);
454706f2543Smrg#endif
455706f2543Smrg
456706f2543Smrg#ifndef WGL_ARB_buffer_region
457706f2543Smrg#define WGL_ARB_buffer_region 1
458706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
459706f2543Smrgextern HANDLE WINAPI wglCreateBufferRegionARB (HDC hDC, int iLayerPlane, UINT uType);
460706f2543Smrgextern VOID WINAPI wglDeleteBufferRegionARB (HANDLE hRegion);
461706f2543Smrgextern BOOL WINAPI wglSaveBufferRegionARB (HANDLE hRegion, int x, int y, int width, int height);
462706f2543Smrgextern BOOL WINAPI wglRestoreBufferRegionARB (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
463706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
464706f2543Smrgtypedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType);
465706f2543Smrgtypedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion);
466706f2543Smrgtypedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height);
467706f2543Smrgtypedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
468706f2543Smrg#endif
469706f2543Smrg
470706f2543Smrg#ifndef WGL_ARB_multisample
471706f2543Smrg#define WGL_ARB_multisample 1
472706f2543Smrg#endif
473706f2543Smrg
474706f2543Smrg#ifndef WGL_ARB_extensions_string
475706f2543Smrg#define WGL_ARB_extensions_string 1
476706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
477706f2543Smrgextern const char * WINAPI wglGetExtensionsStringARB (HDC hdc);
478706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
479706f2543Smrgtypedef const char * (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
480706f2543Smrg#endif
481706f2543Smrg
482706f2543Smrg#ifndef WGL_ARB_pixel_format
483706f2543Smrg#define WGL_ARB_pixel_format 1
484706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
485706f2543Smrgextern BOOL WINAPI wglGetPixelFormatAttribivARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
486706f2543Smrgextern BOOL WINAPI wglGetPixelFormatAttribfvARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
487706f2543Smrgextern BOOL WINAPI wglChoosePixelFormatARB (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
488706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
489706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
490706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
491706f2543Smrgtypedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
492706f2543Smrg#endif
493706f2543Smrg
494706f2543Smrg#ifndef WGL_ARB_make_current_read
495706f2543Smrg#define WGL_ARB_make_current_read 1
496706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
497706f2543Smrgextern BOOL WINAPI wglMakeContextCurrentARB (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
498706f2543Smrgextern HDC WINAPI wglGetCurrentReadDCARB (void);
499706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
500706f2543Smrgtypedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
501706f2543Smrgtypedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (void);
502706f2543Smrg#endif
503706f2543Smrg
504706f2543Smrg#ifndef WGL_ARB_pbuffer
505706f2543Smrg#define WGL_ARB_pbuffer 1
506706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
507706f2543Smrgextern HPBUFFERARB WINAPI wglCreatePbufferARB (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
508706f2543Smrgextern HDC WINAPI wglGetPbufferDCARB (HPBUFFERARB hPbuffer);
509706f2543Smrgextern int WINAPI wglReleasePbufferDCARB (HPBUFFERARB hPbuffer, HDC hDC);
510706f2543Smrgextern BOOL WINAPI wglDestroyPbufferARB (HPBUFFERARB hPbuffer);
511706f2543Smrgextern BOOL WINAPI wglQueryPbufferARB (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
512706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
513706f2543Smrgtypedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
514706f2543Smrgtypedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer);
515706f2543Smrgtypedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC);
516706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer);
517706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
518706f2543Smrg#endif
519706f2543Smrg
520706f2543Smrg#ifndef WGL_ARB_render_texture
521706f2543Smrg#define WGL_ARB_render_texture 1
522706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
523706f2543Smrgextern BOOL WINAPI wglBindTexImageARB (HPBUFFERARB hPbuffer, int iBuffer);
524706f2543Smrgextern BOOL WINAPI wglReleaseTexImageARB (HPBUFFERARB hPbuffer, int iBuffer);
525706f2543Smrgextern BOOL WINAPI wglSetPbufferAttribARB (HPBUFFERARB hPbuffer, const int *piAttribList);
526706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
527706f2543Smrgtypedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
528706f2543Smrgtypedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
529706f2543Smrgtypedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int *piAttribList);
530706f2543Smrg#endif
531706f2543Smrg
532706f2543Smrg#ifndef WGL_ARB_pixel_format_float
533706f2543Smrg#define WGL_ARB_pixel_format_float 1
534706f2543Smrg#endif
535706f2543Smrg
536706f2543Smrg#ifndef WGL_ARB_framebuffer_sRGB
537706f2543Smrg#define WGL_ARB_framebuffer_sRGB 1
538706f2543Smrg#endif
539706f2543Smrg
540706f2543Smrg#ifndef WGL_ARB_create_context
541706f2543Smrg#define WGL_ARB_create_context 1
542706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
543706f2543Smrgextern HGLRC WINAPI wglCreateContextAttribsARB (HDC hDC, HGLRC hShareContext, const int *attribList);
544706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
545706f2543Smrgtypedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int *attribList);
546706f2543Smrg#endif
547706f2543Smrg
548706f2543Smrg#ifndef WGL_ARB_create_context_profile
549706f2543Smrg#define WGL_ARB_create_context_profile 1
550706f2543Smrg#endif
551706f2543Smrg
552706f2543Smrg#ifndef WGL_ARB_create_context_robustness
553706f2543Smrg#define WGL_ARB_create_context_robustness 1
554706f2543Smrg#endif
555706f2543Smrg
556706f2543Smrg#ifndef WGL_EXT_display_color_table
557706f2543Smrg#define WGL_EXT_display_color_table 1
558706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
559706f2543Smrgextern GLboolean WINAPI wglCreateDisplayColorTableEXT (GLushort id);
560706f2543Smrgextern GLboolean WINAPI wglLoadDisplayColorTableEXT (const GLushort *table, GLuint length);
561706f2543Smrgextern GLboolean WINAPI wglBindDisplayColorTableEXT (GLushort id);
562706f2543Smrgextern VOID WINAPI wglDestroyDisplayColorTableEXT (GLushort id);
563706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
564706f2543Smrgtypedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id);
565706f2543Smrgtypedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (const GLushort *table, GLuint length);
566706f2543Smrgtypedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id);
567706f2543Smrgtypedef VOID (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id);
568706f2543Smrg#endif
569706f2543Smrg
570706f2543Smrg#ifndef WGL_EXT_extensions_string
571706f2543Smrg#define WGL_EXT_extensions_string 1
572706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
573706f2543Smrgextern const char * WINAPI wglGetExtensionsStringEXT (void);
574706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
575706f2543Smrgtypedef const char * (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void);
576706f2543Smrg#endif
577706f2543Smrg
578706f2543Smrg#ifndef WGL_EXT_make_current_read
579706f2543Smrg#define WGL_EXT_make_current_read 1
580706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
581706f2543Smrgextern BOOL WINAPI wglMakeContextCurrentEXT (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
582706f2543Smrgextern HDC WINAPI wglGetCurrentReadDCEXT (void);
583706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
584706f2543Smrgtypedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
585706f2543Smrgtypedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (void);
586706f2543Smrg#endif
587706f2543Smrg
588706f2543Smrg#ifndef WGL_EXT_pbuffer
589706f2543Smrg#define WGL_EXT_pbuffer 1
590706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
591706f2543Smrgextern HPBUFFEREXT WINAPI wglCreatePbufferEXT (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
592706f2543Smrgextern HDC WINAPI wglGetPbufferDCEXT (HPBUFFEREXT hPbuffer);
593706f2543Smrgextern int WINAPI wglReleasePbufferDCEXT (HPBUFFEREXT hPbuffer, HDC hDC);
594706f2543Smrgextern BOOL WINAPI wglDestroyPbufferEXT (HPBUFFEREXT hPbuffer);
595706f2543Smrgextern BOOL WINAPI wglQueryPbufferEXT (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);
596706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
597706f2543Smrgtypedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
598706f2543Smrgtypedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer);
599706f2543Smrgtypedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC);
600706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer);
601706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);
602706f2543Smrg#endif
603706f2543Smrg
604706f2543Smrg#ifndef WGL_EXT_pixel_format
605706f2543Smrg#define WGL_EXT_pixel_format 1
606706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
607706f2543Smrgextern BOOL WINAPI wglGetPixelFormatAttribivEXT (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues);
608706f2543Smrgextern BOOL WINAPI wglGetPixelFormatAttribfvEXT (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues);
609706f2543Smrgextern BOOL WINAPI wglChoosePixelFormatEXT (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
610706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
611706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues);
612706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues);
613706f2543Smrgtypedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
614706f2543Smrg#endif
615706f2543Smrg
616706f2543Smrg#ifndef WGL_EXT_swap_control
617706f2543Smrg#define WGL_EXT_swap_control 1
618706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
619706f2543Smrgextern BOOL WINAPI wglSwapIntervalEXT (int interval);
620706f2543Smrgextern int WINAPI wglGetSwapIntervalEXT (void);
621706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
622706f2543Smrgtypedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
623706f2543Smrgtypedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void);
624706f2543Smrg#endif
625706f2543Smrg
626706f2543Smrg#ifndef WGL_EXT_depth_float
627706f2543Smrg#define WGL_EXT_depth_float 1
628706f2543Smrg#endif
629706f2543Smrg
630706f2543Smrg#ifndef WGL_NV_vertex_array_range
631706f2543Smrg#define WGL_NV_vertex_array_range 1
632706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
633706f2543Smrgextern void* WINAPI wglAllocateMemoryNV (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
634706f2543Smrgextern void WINAPI wglFreeMemoryNV (void *pointer);
635706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
636706f2543Smrgtypedef void* (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
637706f2543Smrgtypedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
638706f2543Smrg#endif
639706f2543Smrg
640706f2543Smrg#ifndef WGL_3DFX_multisample
641706f2543Smrg#define WGL_3DFX_multisample 1
642706f2543Smrg#endif
643706f2543Smrg
644706f2543Smrg#ifndef WGL_EXT_multisample
645706f2543Smrg#define WGL_EXT_multisample 1
646706f2543Smrg#endif
647706f2543Smrg
648706f2543Smrg#ifndef WGL_OML_sync_control
649706f2543Smrg#define WGL_OML_sync_control 1
650706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
651706f2543Smrgextern BOOL WINAPI wglGetSyncValuesOML (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc);
652706f2543Smrgextern BOOL WINAPI wglGetMscRateOML (HDC hdc, INT32 *numerator, INT32 *denominator);
653706f2543Smrgextern INT64 WINAPI wglSwapBuffersMscOML (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
654706f2543Smrgextern INT64 WINAPI wglSwapLayerBuffersMscOML (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
655706f2543Smrgextern BOOL WINAPI wglWaitForMscOML (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);
656706f2543Smrgextern BOOL WINAPI wglWaitForSbcOML (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);
657706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
658706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc);
659706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32 *numerator, INT32 *denominator);
660706f2543Smrgtypedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
661706f2543Smrgtypedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
662706f2543Smrgtypedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);
663706f2543Smrgtypedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);
664706f2543Smrg#endif
665706f2543Smrg
666706f2543Smrg#ifndef WGL_I3D_digital_video_control
667706f2543Smrg#define WGL_I3D_digital_video_control 1
668706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
669706f2543Smrgextern BOOL WINAPI wglGetDigitalVideoParametersI3D (HDC hDC, int iAttribute, int *piValue);
670706f2543Smrgextern BOOL WINAPI wglSetDigitalVideoParametersI3D (HDC hDC, int iAttribute, const int *piValue);
671706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
672706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
673706f2543Smrgtypedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
674706f2543Smrg#endif
675706f2543Smrg
676706f2543Smrg#ifndef WGL_I3D_gamma
677706f2543Smrg#define WGL_I3D_gamma 1
678706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
679706f2543Smrgextern BOOL WINAPI wglGetGammaTableParametersI3D (HDC hDC, int iAttribute, int *piValue);
680706f2543Smrgextern BOOL WINAPI wglSetGammaTableParametersI3D (HDC hDC, int iAttribute, const int *piValue);
681706f2543Smrgextern BOOL WINAPI wglGetGammaTableI3D (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);
682706f2543Smrgextern BOOL WINAPI wglSetGammaTableI3D (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);
683706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
684706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
685706f2543Smrgtypedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
686706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);
687706f2543Smrgtypedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);
688706f2543Smrg#endif
689706f2543Smrg
690706f2543Smrg#ifndef WGL_I3D_genlock
691706f2543Smrg#define WGL_I3D_genlock 1
692706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
693706f2543Smrgextern BOOL WINAPI wglEnableGenlockI3D (HDC hDC);
694706f2543Smrgextern BOOL WINAPI wglDisableGenlockI3D (HDC hDC);
695706f2543Smrgextern BOOL WINAPI wglIsEnabledGenlockI3D (HDC hDC, BOOL *pFlag);
696706f2543Smrgextern BOOL WINAPI wglGenlockSourceI3D (HDC hDC, UINT uSource);
697706f2543Smrgextern BOOL WINAPI wglGetGenlockSourceI3D (HDC hDC, UINT *uSource);
698706f2543Smrgextern BOOL WINAPI wglGenlockSourceEdgeI3D (HDC hDC, UINT uEdge);
699706f2543Smrgextern BOOL WINAPI wglGetGenlockSourceEdgeI3D (HDC hDC, UINT *uEdge);
700706f2543Smrgextern BOOL WINAPI wglGenlockSampleRateI3D (HDC hDC, UINT uRate);
701706f2543Smrgextern BOOL WINAPI wglGetGenlockSampleRateI3D (HDC hDC, UINT *uRate);
702706f2543Smrgextern BOOL WINAPI wglGenlockSourceDelayI3D (HDC hDC, UINT uDelay);
703706f2543Smrgextern BOOL WINAPI wglGetGenlockSourceDelayI3D (HDC hDC, UINT *uDelay);
704706f2543Smrgextern BOOL WINAPI wglQueryGenlockMaxSourceDelayI3D (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);
705706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
706706f2543Smrgtypedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC);
707706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC);
708706f2543Smrgtypedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL *pFlag);
709706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource);
710706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT *uSource);
711706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge);
712706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT *uEdge);
713706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate);
714706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT *uRate);
715706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay);
716706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT *uDelay);
717706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);
718706f2543Smrg#endif
719706f2543Smrg
720706f2543Smrg#ifndef WGL_I3D_image_buffer
721706f2543Smrg#define WGL_I3D_image_buffer 1
722706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
723706f2543Smrgextern LPVOID WINAPI wglCreateImageBufferI3D (HDC hDC, DWORD dwSize, UINT uFlags);
724706f2543Smrgextern BOOL WINAPI wglDestroyImageBufferI3D (HDC hDC, LPVOID pAddress);
725706f2543Smrgextern BOOL WINAPI wglAssociateImageBufferEventsI3D (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);
726706f2543Smrgextern BOOL WINAPI wglReleaseImageBufferEventsI3D (HDC hDC, const LPVOID *pAddress, UINT count);
727706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
728706f2543Smrgtypedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags);
729706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress);
730706f2543Smrgtypedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);
731706f2543Smrgtypedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const LPVOID *pAddress, UINT count);
732706f2543Smrg#endif
733706f2543Smrg
734706f2543Smrg#ifndef WGL_I3D_swap_frame_lock
735706f2543Smrg#define WGL_I3D_swap_frame_lock 1
736706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
737706f2543Smrgextern BOOL WINAPI wglEnableFrameLockI3D (void);
738706f2543Smrgextern BOOL WINAPI wglDisableFrameLockI3D (void);
739706f2543Smrgextern BOOL WINAPI wglIsEnabledFrameLockI3D (BOOL *pFlag);
740706f2543Smrgextern BOOL WINAPI wglQueryFrameLockMasterI3D (BOOL *pFlag);
741706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
742706f2543Smrgtypedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (void);
743706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (void);
744706f2543Smrgtypedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL *pFlag);
745706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL *pFlag);
746706f2543Smrg#endif
747706f2543Smrg
748706f2543Smrg#ifndef WGL_I3D_swap_frame_usage
749706f2543Smrg#define WGL_I3D_swap_frame_usage 1
750706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
751706f2543Smrgextern BOOL WINAPI wglGetFrameUsageI3D (float *pUsage);
752706f2543Smrgextern BOOL WINAPI wglBeginFrameTrackingI3D (void);
753706f2543Smrgextern BOOL WINAPI wglEndFrameTrackingI3D (void);
754706f2543Smrgextern BOOL WINAPI wglQueryFrameTrackingI3D (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
755706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
756706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float *pUsage);
757706f2543Smrgtypedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void);
758706f2543Smrgtypedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void);
759706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
760706f2543Smrg#endif
761706f2543Smrg
762706f2543Smrg#ifndef WGL_ATI_pixel_format_float
763706f2543Smrg#define WGL_ATI_pixel_format_float 1
764706f2543Smrg#endif
765706f2543Smrg
766706f2543Smrg#ifndef WGL_NV_float_buffer
767706f2543Smrg#define WGL_NV_float_buffer 1
768706f2543Smrg#endif
769706f2543Smrg
770706f2543Smrg#ifndef WGL_3DL_stereo_control
771706f2543Smrg#define WGL_3DL_stereo_control 1
772706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
773706f2543Smrgextern BOOL WINAPI wglSetStereoEmitterState3DL (HDC hDC, UINT uState);
774706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
775706f2543Smrgtypedef BOOL (WINAPI * PFNWGLSETSTEREOEMITTERSTATE3DLPROC) (HDC hDC, UINT uState);
776706f2543Smrg#endif
777706f2543Smrg
778706f2543Smrg#ifndef WGL_EXT_pixel_format_packed_float
779706f2543Smrg#define WGL_EXT_pixel_format_packed_float 1
780706f2543Smrg#endif
781706f2543Smrg
782706f2543Smrg#ifndef WGL_EXT_framebuffer_sRGB
783706f2543Smrg#define WGL_EXT_framebuffer_sRGB 1
784706f2543Smrg#endif
785706f2543Smrg
786706f2543Smrg#ifndef WGL_NV_present_video
787706f2543Smrg#define WGL_NV_present_video 1
788706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
789706f2543Smrgextern int WINAPI wglEnumerateVideoDevicesNV (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);
790706f2543Smrgextern BOOL WINAPI wglBindVideoDeviceNV (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);
791706f2543Smrgextern BOOL WINAPI wglQueryCurrentContextNV (int iAttribute, int *piValue);
792706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
793706f2543Smrgtypedef int (WINAPI * PFNWGLENUMERATEVIDEODEVICESNVPROC) (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);
794706f2543Smrgtypedef BOOL (WINAPI * PFNWGLBINDVIDEODEVICENVPROC) (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);
795706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int *piValue);
796706f2543Smrg#endif
797706f2543Smrg
798706f2543Smrg#ifndef WGL_NV_video_output
799706f2543Smrg#define WGL_NV_video_output 1
800706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
801706f2543Smrgextern BOOL WINAPI wglGetVideoDeviceNV (HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice);
802706f2543Smrgextern BOOL WINAPI wglReleaseVideoDeviceNV (HPVIDEODEV hVideoDevice);
803706f2543Smrgextern BOOL WINAPI wglBindVideoImageNV (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
804706f2543Smrgextern BOOL WINAPI wglReleaseVideoImageNV (HPBUFFERARB hPbuffer, int iVideoBuffer);
805706f2543Smrgextern BOOL WINAPI wglSendPbufferToVideoNV (HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock);
806706f2543Smrgextern BOOL WINAPI wglGetVideoInfoNV (HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
807706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
808706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice);
809706f2543Smrgtypedef BOOL (WINAPI * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice);
810706f2543Smrgtypedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
811706f2543Smrgtypedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer);
812706f2543Smrgtypedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock);
813706f2543Smrgtypedef BOOL (WINAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
814706f2543Smrg#endif
815706f2543Smrg
816706f2543Smrg#ifndef WGL_NV_swap_group
817706f2543Smrg#define WGL_NV_swap_group 1
818706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
819706f2543Smrgextern BOOL WINAPI wglJoinSwapGroupNV (HDC hDC, GLuint group);
820706f2543Smrgextern BOOL WINAPI wglBindSwapBarrierNV (GLuint group, GLuint barrier);
821706f2543Smrgextern BOOL WINAPI wglQuerySwapGroupNV (HDC hDC, GLuint *group, GLuint *barrier);
822706f2543Smrgextern BOOL WINAPI wglQueryMaxSwapGroupsNV (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers);
823706f2543Smrgextern BOOL WINAPI wglQueryFrameCountNV (HDC hDC, GLuint *count);
824706f2543Smrgextern BOOL WINAPI wglResetFrameCountNV (HDC hDC);
825706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
826706f2543Smrgtypedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group);
827706f2543Smrgtypedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier);
828706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint *group, GLuint *barrier);
829706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers);
830706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint *count);
831706f2543Smrgtypedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC);
832706f2543Smrg#endif
833706f2543Smrg
834706f2543Smrg#ifndef WGL_NV_gpu_affinity
835706f2543Smrg#define WGL_NV_gpu_affinity 1
836706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
837706f2543Smrgextern BOOL WINAPI wglEnumGpusNV (UINT iGpuIndex, HGPUNV *phGpu);
838706f2543Smrgextern BOOL WINAPI wglEnumGpuDevicesNV (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
839706f2543Smrgextern HDC WINAPI wglCreateAffinityDCNV (const HGPUNV *phGpuList);
840706f2543Smrgextern BOOL WINAPI wglEnumGpusFromAffinityDCNV (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);
841706f2543Smrgextern BOOL WINAPI wglDeleteDCNV (HDC hdc);
842706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
843706f2543Smrgtypedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu);
844706f2543Smrgtypedef BOOL (WINAPI * PFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
845706f2543Smrgtypedef HDC (WINAPI * PFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV *phGpuList);
846706f2543Smrgtypedef BOOL (WINAPI * PFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);
847706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDELETEDCNVPROC) (HDC hdc);
848706f2543Smrg#endif
849706f2543Smrg
850706f2543Smrg#ifndef WGL_AMD_gpu_association
851706f2543Smrg#define WGL_AMD_gpu_association 1
852706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
853706f2543Smrgextern UINT WINAPI wglGetGPUIDsAMD (UINT maxCount, UINT *ids);
854706f2543Smrgextern INT WINAPI wglGetGPUInfoAMD (UINT id, int property, GLenum dataType, UINT size, void *data);
855706f2543Smrgextern UINT WINAPI wglGetContextGPUIDAMD (HGLRC hglrc);
856706f2543Smrgextern HGLRC WINAPI wglCreateAssociatedContextAMD (UINT id);
857706f2543Smrgextern HGLRC WINAPI wglCreateAssociatedContextAttribsAMD (UINT id, HGLRC hShareContext, const int *attribList);
858706f2543Smrgextern BOOL WINAPI wglDeleteAssociatedContextAMD (HGLRC hglrc);
859706f2543Smrgextern BOOL WINAPI wglMakeAssociatedContextCurrentAMD (HGLRC hglrc);
860706f2543Smrgextern HGLRC WINAPI wglGetCurrentAssociatedContextAMD (void);
861706f2543Smrgextern VOID WINAPI wglBlitContextFramebufferAMD (HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
862706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
863706f2543Smrgtypedef UINT (WINAPI * PFNWGLGETGPUIDSAMDPROC) (UINT maxCount, UINT *ids);
864706f2543Smrgtypedef INT (WINAPI * PFNWGLGETGPUINFOAMDPROC) (UINT id, int property, GLenum dataType, UINT size, void *data);
865706f2543Smrgtypedef UINT (WINAPI * PFNWGLGETCONTEXTGPUIDAMDPROC) (HGLRC hglrc);
866706f2543Smrgtypedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC) (UINT id);
867706f2543Smrgtypedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) (UINT id, HGLRC hShareContext, const int *attribList);
868706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC) (HGLRC hglrc);
869706f2543Smrgtypedef BOOL (WINAPI * PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (HGLRC hglrc);
870706f2543Smrgtypedef HGLRC (WINAPI * PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC) (void);
871706f2543Smrgtypedef VOID (WINAPI * PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC) (HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
872706f2543Smrg#endif
873706f2543Smrg
874706f2543Smrg#ifndef WGL_NV_video_capture
875706f2543Smrg#define WGL_NV_video_capture 1
876706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
877706f2543Smrgextern BOOL WINAPI wglBindVideoCaptureDeviceNV (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);
878706f2543Smrgextern UINT WINAPI wglEnumerateVideoCaptureDevicesNV (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList);
879706f2543Smrgextern BOOL WINAPI wglLockVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
880706f2543Smrgextern BOOL WINAPI wglQueryVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);
881706f2543Smrgextern BOOL WINAPI wglReleaseVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
882706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
883706f2543Smrgtypedef BOOL (WINAPI * PFNWGLBINDVIDEOCAPTUREDEVICENVPROC) (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);
884706f2543Smrgtypedef UINT (WINAPI * PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC) (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList);
885706f2543Smrgtypedef BOOL (WINAPI * PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
886706f2543Smrgtypedef BOOL (WINAPI * PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);
887706f2543Smrgtypedef BOOL (WINAPI * PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
888706f2543Smrg#endif
889706f2543Smrg
890706f2543Smrg#ifndef WGL_NV_copy_image
891706f2543Smrg#define WGL_NV_copy_image 1
892706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
893706f2543Smrgextern BOOL WINAPI wglCopyImageSubDataNV (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
894706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
895706f2543Smrgtypedef BOOL (WINAPI * PFNWGLCOPYIMAGESUBDATANVPROC) (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
896706f2543Smrg#endif
897706f2543Smrg
898706f2543Smrg#ifndef WGL_NV_multisample_coverage
899706f2543Smrg#define WGL_NV_multisample_coverage 1
900706f2543Smrg#endif
901706f2543Smrg
902706f2543Smrg#ifndef WGL_NV_DX_interop
903706f2543Smrg#define WGL_NV_DX_interop 1
904706f2543Smrg#ifdef WGL_WGLEXT_PROTOTYPES
905706f2543Smrgextern BOOL WINAPI wglDXSetResourceShareHandleNV (void *dxObject, HANDLE shareHandle);
906706f2543Smrgextern HANDLE WINAPI wglDXOpenDeviceNV (void *dxDevice);
907706f2543Smrgextern BOOL WINAPI wglDXCloseDeviceNV (HANDLE hDevice);
908706f2543Smrgextern HANDLE WINAPI wglDXRegisterObjectNV (HANDLE hDevice, void *dxObject, GLuint name, GLenum type, GLenum access);
909706f2543Smrgextern BOOL WINAPI wglDXUnregisterObjectNV (HANDLE hDevice, HANDLE hObject);
910706f2543Smrgextern BOOL WINAPI wglDXObjectAccessNV (HANDLE hObject, GLenum access);
911706f2543Smrgextern BOOL WINAPI wglDXLockObjectsNV (HANDLE hDevice, GLint count, HANDLE *hObjects);
912706f2543Smrgextern BOOL WINAPI wglDXUnlockObjectsNV (HANDLE hDevice, GLint count, HANDLE *hObjects);
913706f2543Smrg#endif /* WGL_WGLEXT_PROTOTYPES */
914706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDXSETRESOURCESHAREHANDLENVPROC) (void *dxObject, HANDLE shareHandle);
915706f2543Smrgtypedef HANDLE (WINAPI * PFNWGLDXOPENDEVICENVPROC) (void *dxDevice);
916706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDXCLOSEDEVICENVPROC) (HANDLE hDevice);
917706f2543Smrgtypedef HANDLE (WINAPI * PFNWGLDXREGISTEROBJECTNVPROC) (HANDLE hDevice, void *dxObject, GLuint name, GLenum type, GLenum access);
918706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDXUNREGISTEROBJECTNVPROC) (HANDLE hDevice, HANDLE hObject);
919706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDXOBJECTACCESSNVPROC) (HANDLE hObject, GLenum access);
920706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDXLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE *hObjects);
921706f2543Smrgtypedef BOOL (WINAPI * PFNWGLDXUNLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE *hObjects);
922706f2543Smrg#endif
923706f2543Smrg
924706f2543Smrg
925706f2543Smrg#ifdef __cplusplus
926706f2543Smrg}
927706f2543Smrg#endif
928706f2543Smrg
929706f2543Smrg#endif
930