VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/vmsvga_glext/wglext.h@ 94377

Last change on this file since 94377 was 76565, checked in by vboxsync, 6 years ago

Devices: Use VBOX_INCLUDED_SRC_ as header guard prefix with scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 42.6 KB
Line 
1
2#ifndef __wglext_h_
3#define __wglext_h_
4#ifndef RT_WITHOUT_PRAGMA_ONCE
5# pragma once
6#endif
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12/*
13** THIS FILE IS OBSOLETE. Please migrate away from using the
14** ".spec" files and the headers generated from them to the
15** XML Registry and headers generated from that. See
16** http://www.opengl.org/registry/api/README.txt
17** for more information.
18**
19**
20** Copyright (c) 2007-2013 The Khronos Group Inc.
21**
22** Permission is hereby granted, free of charge, to any person obtaining a
23** copy of this software and/or associated documentation files (the
24** "Materials"), to deal in the Materials without restriction, including
25** without limitation the rights to use, copy, modify, merge, publish,
26** distribute, sublicense, and/or sell copies of the Materials, and to
27** permit persons to whom the Materials are furnished to do so, subject to
28** the following conditions:
29**
30** The above copyright notice and this permission notice shall be included
31** in all copies or substantial portions of the Materials.
32**
33** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
35** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
36** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
37** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
38** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
39** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
40*/
41
42/* Function declaration macros - to move into glplatform.h */
43
44#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
45#define WIN32_LEAN_AND_MEAN 1
46#include <windows.h>
47#endif
48
49#ifndef APIENTRY
50#define APIENTRY
51#endif
52#ifndef APIENTRYP
53#define APIENTRYP APIENTRY *
54#endif
55#ifndef GLAPI
56#define GLAPI extern
57#endif
58
59/*************************************************************/
60
61/* Header file version number */
62/* wglext.h last updated 2013/06/10 */
63/* Current version at http://www.opengl.org/registry/ */
64#define WGL_WGLEXT_VERSION 26
65
66#ifndef WGL_ARB_buffer_region
67#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001
68#define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002
69#define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004
70#define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008
71#endif
72
73#ifndef WGL_ARB_multisample
74#define WGL_SAMPLE_BUFFERS_ARB 0x2041
75#define WGL_SAMPLES_ARB 0x2042
76#endif
77
78#ifndef WGL_ARB_extensions_string
79#endif
80
81#ifndef WGL_ARB_pixel_format
82#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000
83#define WGL_DRAW_TO_WINDOW_ARB 0x2001
84#define WGL_DRAW_TO_BITMAP_ARB 0x2002
85#define WGL_ACCELERATION_ARB 0x2003
86#define WGL_NEED_PALETTE_ARB 0x2004
87#define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005
88#define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006
89#define WGL_SWAP_METHOD_ARB 0x2007
90#define WGL_NUMBER_OVERLAYS_ARB 0x2008
91#define WGL_NUMBER_UNDERLAYS_ARB 0x2009
92#define WGL_TRANSPARENT_ARB 0x200A
93#define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037
94#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
95#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
96#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
97#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
98#define WGL_SHARE_DEPTH_ARB 0x200C
99#define WGL_SHARE_STENCIL_ARB 0x200D
100#define WGL_SHARE_ACCUM_ARB 0x200E
101#define WGL_SUPPORT_GDI_ARB 0x200F
102#define WGL_SUPPORT_OPENGL_ARB 0x2010
103#define WGL_DOUBLE_BUFFER_ARB 0x2011
104#define WGL_STEREO_ARB 0x2012
105#define WGL_PIXEL_TYPE_ARB 0x2013
106#define WGL_COLOR_BITS_ARB 0x2014
107#define WGL_RED_BITS_ARB 0x2015
108#define WGL_RED_SHIFT_ARB 0x2016
109#define WGL_GREEN_BITS_ARB 0x2017
110#define WGL_GREEN_SHIFT_ARB 0x2018
111#define WGL_BLUE_BITS_ARB 0x2019
112#define WGL_BLUE_SHIFT_ARB 0x201A
113#define WGL_ALPHA_BITS_ARB 0x201B
114#define WGL_ALPHA_SHIFT_ARB 0x201C
115#define WGL_ACCUM_BITS_ARB 0x201D
116#define WGL_ACCUM_RED_BITS_ARB 0x201E
117#define WGL_ACCUM_GREEN_BITS_ARB 0x201F
118#define WGL_ACCUM_BLUE_BITS_ARB 0x2020
119#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021
120#define WGL_DEPTH_BITS_ARB 0x2022
121#define WGL_STENCIL_BITS_ARB 0x2023
122#define WGL_AUX_BUFFERS_ARB 0x2024
123#define WGL_NO_ACCELERATION_ARB 0x2025
124#define WGL_GENERIC_ACCELERATION_ARB 0x2026
125#define WGL_FULL_ACCELERATION_ARB 0x2027
126#define WGL_SWAP_EXCHANGE_ARB 0x2028
127#define WGL_SWAP_COPY_ARB 0x2029
128#define WGL_SWAP_UNDEFINED_ARB 0x202A
129#define WGL_TYPE_RGBA_ARB 0x202B
130#define WGL_TYPE_COLORINDEX_ARB 0x202C
131#endif
132
133#ifndef WGL_ARB_make_current_read
134#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
135#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
136#endif
137
138#ifndef WGL_ARB_pbuffer
139#define WGL_DRAW_TO_PBUFFER_ARB 0x202D
140#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E
141#define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F
142#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030
143#define WGL_PBUFFER_LARGEST_ARB 0x2033
144#define WGL_PBUFFER_WIDTH_ARB 0x2034
145#define WGL_PBUFFER_HEIGHT_ARB 0x2035
146#define WGL_PBUFFER_LOST_ARB 0x2036
147#endif
148
149#ifndef WGL_ARB_render_texture
150#define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070
151#define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071
152#define WGL_TEXTURE_FORMAT_ARB 0x2072
153#define WGL_TEXTURE_TARGET_ARB 0x2073
154#define WGL_MIPMAP_TEXTURE_ARB 0x2074
155#define WGL_TEXTURE_RGB_ARB 0x2075
156#define WGL_TEXTURE_RGBA_ARB 0x2076
157#define WGL_NO_TEXTURE_ARB 0x2077
158#define WGL_TEXTURE_CUBE_MAP_ARB 0x2078
159#define WGL_TEXTURE_1D_ARB 0x2079
160#define WGL_TEXTURE_2D_ARB 0x207A
161#define WGL_MIPMAP_LEVEL_ARB 0x207B
162#define WGL_CUBE_MAP_FACE_ARB 0x207C
163#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D
164#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E
165#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F
166#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080
167#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081
168#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082
169#define WGL_FRONT_LEFT_ARB 0x2083
170#define WGL_FRONT_RIGHT_ARB 0x2084
171#define WGL_BACK_LEFT_ARB 0x2085
172#define WGL_BACK_RIGHT_ARB 0x2086
173#define WGL_AUX0_ARB 0x2087
174#define WGL_AUX1_ARB 0x2088
175#define WGL_AUX2_ARB 0x2089
176#define WGL_AUX3_ARB 0x208A
177#define WGL_AUX4_ARB 0x208B
178#define WGL_AUX5_ARB 0x208C
179#define WGL_AUX6_ARB 0x208D
180#define WGL_AUX7_ARB 0x208E
181#define WGL_AUX8_ARB 0x208F
182#define WGL_AUX9_ARB 0x2090
183#endif
184
185#ifndef WGL_ARB_pixel_format_float
186#define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0
187#endif
188
189#ifndef WGL_ARB_framebuffer_sRGB
190#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9
191#endif
192
193#ifndef WGL_ARB_create_context
194#define WGL_CONTEXT_DEBUG_BIT_ARB 0x00000001
195#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
196#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
197#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092
198#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
199#define WGL_CONTEXT_FLAGS_ARB 0x2094
200#define ERROR_INVALID_VERSION_ARB 0x2095
201#endif
202
203#ifndef WGL_ARB_create_context_profile
204#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126
205#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
206#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
207#define ERROR_INVALID_PROFILE_ARB 0x2096
208#endif
209
210#ifndef WGL_ARB_create_context_robustness
211#define WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004
212#define WGL_LOSE_CONTEXT_ON_RESET_ARB 0x8252
213#define WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
214#define WGL_NO_RESET_NOTIFICATION_ARB 0x8261
215#endif
216
217#ifndef WGL_EXT_make_current_read
218#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043
219#endif
220
221#ifndef WGL_EXT_pixel_format
222#define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000
223#define WGL_DRAW_TO_WINDOW_EXT 0x2001
224#define WGL_DRAW_TO_BITMAP_EXT 0x2002
225#define WGL_ACCELERATION_EXT 0x2003
226#define WGL_NEED_PALETTE_EXT 0x2004
227#define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005
228#define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006
229#define WGL_SWAP_METHOD_EXT 0x2007
230#define WGL_NUMBER_OVERLAYS_EXT 0x2008
231#define WGL_NUMBER_UNDERLAYS_EXT 0x2009
232#define WGL_TRANSPARENT_EXT 0x200A
233#define WGL_TRANSPARENT_VALUE_EXT 0x200B
234#define WGL_SHARE_DEPTH_EXT 0x200C
235#define WGL_SHARE_STENCIL_EXT 0x200D
236#define WGL_SHARE_ACCUM_EXT 0x200E
237#define WGL_SUPPORT_GDI_EXT 0x200F
238#define WGL_SUPPORT_OPENGL_EXT 0x2010
239#define WGL_DOUBLE_BUFFER_EXT 0x2011
240#define WGL_STEREO_EXT 0x2012
241#define WGL_PIXEL_TYPE_EXT 0x2013
242#define WGL_COLOR_BITS_EXT 0x2014
243#define WGL_RED_BITS_EXT 0x2015
244#define WGL_RED_SHIFT_EXT 0x2016
245#define WGL_GREEN_BITS_EXT 0x2017
246#define WGL_GREEN_SHIFT_EXT 0x2018
247#define WGL_BLUE_BITS_EXT 0x2019
248#define WGL_BLUE_SHIFT_EXT 0x201A
249#define WGL_ALPHA_BITS_EXT 0x201B
250#define WGL_ALPHA_SHIFT_EXT 0x201C
251#define WGL_ACCUM_BITS_EXT 0x201D
252#define WGL_ACCUM_RED_BITS_EXT 0x201E
253#define WGL_ACCUM_GREEN_BITS_EXT 0x201F
254#define WGL_ACCUM_BLUE_BITS_EXT 0x2020
255#define WGL_ACCUM_ALPHA_BITS_EXT 0x2021
256#define WGL_DEPTH_BITS_EXT 0x2022
257#define WGL_STENCIL_BITS_EXT 0x2023
258#define WGL_AUX_BUFFERS_EXT 0x2024
259#define WGL_NO_ACCELERATION_EXT 0x2025
260#define WGL_GENERIC_ACCELERATION_EXT 0x2026
261#define WGL_FULL_ACCELERATION_EXT 0x2027
262#define WGL_SWAP_EXCHANGE_EXT 0x2028
263#define WGL_SWAP_COPY_EXT 0x2029
264#define WGL_SWAP_UNDEFINED_EXT 0x202A
265#define WGL_TYPE_RGBA_EXT 0x202B
266#define WGL_TYPE_COLORINDEX_EXT 0x202C
267#endif
268
269#ifndef WGL_EXT_pbuffer
270#define WGL_DRAW_TO_PBUFFER_EXT 0x202D
271#define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E
272#define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F
273#define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030
274#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031
275#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032
276#define WGL_PBUFFER_LARGEST_EXT 0x2033
277#define WGL_PBUFFER_WIDTH_EXT 0x2034
278#define WGL_PBUFFER_HEIGHT_EXT 0x2035
279#endif
280
281#ifndef WGL_EXT_depth_float
282#define WGL_DEPTH_FLOAT_EXT 0x2040
283#endif
284
285#ifndef WGL_3DFX_multisample
286#define WGL_SAMPLE_BUFFERS_3DFX 0x2060
287#define WGL_SAMPLES_3DFX 0x2061
288#endif
289
290#ifndef WGL_EXT_multisample
291#define WGL_SAMPLE_BUFFERS_EXT 0x2041
292#define WGL_SAMPLES_EXT 0x2042
293#endif
294
295#ifndef WGL_I3D_digital_video_control
296#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050
297#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051
298#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052
299#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053
300#endif
301
302#ifndef WGL_I3D_gamma
303#define WGL_GAMMA_TABLE_SIZE_I3D 0x204E
304#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F
305#endif
306
307#ifndef WGL_I3D_genlock
308#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044
309#define WGL_GENLOCK_SOURCE_EXTENAL_SYNC_I3D 0x2045
310#define WGL_GENLOCK_SOURCE_EXTENAL_FIELD_I3D 0x2046
311#define WGL_GENLOCK_SOURCE_EXTENAL_TTL_I3D 0x2047
312#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048
313#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049
314#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A
315#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B
316#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C
317#endif
318
319#ifndef WGL_I3D_image_buffer
320#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001
321#define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002
322#endif
323
324#ifndef WGL_I3D_swap_frame_lock
325#endif
326
327#ifndef WGL_NV_render_depth_texture
328#define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3
329#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4
330#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5
331#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6
332#define WGL_DEPTH_COMPONENT_NV 0x20A7
333#endif
334
335#ifndef WGL_NV_render_texture_rectangle
336#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0
337#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1
338#define WGL_TEXTURE_RECTANGLE_NV 0x20A2
339#endif
340
341#ifndef WGL_ATI_pixel_format_float
342#define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0
343#endif
344
345#ifndef WGL_NV_float_buffer
346#define WGL_FLOAT_COMPONENTS_NV 0x20B0
347#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1
348#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2
349#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3
350#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4
351#define WGL_TEXTURE_FLOAT_R_NV 0x20B5
352#define WGL_TEXTURE_FLOAT_RG_NV 0x20B6
353#define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7
354#define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8
355#endif
356
357#ifndef WGL_3DL_stereo_control
358#define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055
359#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056
360#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057
361#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058
362#endif
363
364#ifndef WGL_EXT_pixel_format_packed_float
365#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8
366#endif
367
368#ifndef WGL_EXT_framebuffer_sRGB
369#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9
370#endif
371
372#ifndef WGL_NV_present_video
373#define WGL_NUM_VIDEO_SLOTS_NV 0x20F0
374#endif
375
376#ifndef WGL_NV_video_out
377#define WGL_BIND_TO_VIDEO_RGB_NV 0x20C0
378#define WGL_BIND_TO_VIDEO_RGBA_NV 0x20C1
379#define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2
380#define WGL_VIDEO_OUT_COLOR_NV 0x20C3
381#define WGL_VIDEO_OUT_ALPHA_NV 0x20C4
382#define WGL_VIDEO_OUT_DEPTH_NV 0x20C5
383#define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
384#define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
385#define WGL_VIDEO_OUT_FRAME 0x20C8
386#define WGL_VIDEO_OUT_FIELD_1 0x20C9
387#define WGL_VIDEO_OUT_FIELD_2 0x20CA
388#define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20CB
389#define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20CC
390#endif
391
392#ifndef WGL_NV_swap_group
393#endif
394
395#ifndef WGL_NV_gpu_affinity
396#define ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0
397#define ERROR_MISSING_AFFINITY_MASK_NV 0x20D1
398#endif
399
400#ifndef WGL_AMD_gpu_association
401#define WGL_GPU_VENDOR_AMD 0x1F00
402#define WGL_GPU_RENDERER_STRING_AMD 0x1F01
403#define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1F02
404#define WGL_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2
405#define WGL_GPU_RAM_AMD 0x21A3
406#define WGL_GPU_CLOCK_AMD 0x21A4
407#define WGL_GPU_NUM_PIPES_AMD 0x21A5
408#define WGL_GPU_NUM_SIMD_AMD 0x21A6
409#define WGL_GPU_NUM_RB_AMD 0x21A7
410#define WGL_GPU_NUM_SPI_AMD 0x21A8
411#endif
412
413#ifndef WGL_NV_video_capture
414#define WGL_UNIQUE_ID_NV 0x20CE
415#define WGL_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF
416#endif
417
418#ifndef WGL_NV_copy_image
419#endif
420
421#ifndef WGL_NV_multisample_coverage
422#define WGL_COVERAGE_SAMPLES_NV 0x2042
423#define WGL_COLOR_SAMPLES_NV 0x20B9
424#endif
425
426#ifndef WGL_EXT_create_context_es2_profile
427#define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004
428#endif
429
430#ifndef WGL_NV_DX_interop
431#define WGL_ACCESS_READ_ONLY_NV 0x00000000
432#define WGL_ACCESS_READ_WRITE_NV 0x00000001
433#define WGL_ACCESS_WRITE_DISCARD_NV 0x00000002
434#endif
435
436#ifndef WGL_NV_DX_interop2
437#endif
438
439#ifndef WGL_EXT_swap_control_tear
440#endif
441
442
443/*************************************************************/
444
445#ifndef WGL_ARB_pbuffer
446DECLARE_HANDLE(HPBUFFERARB);
447#endif
448#ifndef WGL_EXT_pbuffer
449DECLARE_HANDLE(HPBUFFEREXT);
450#endif
451#ifndef WGL_NV_present_video
452DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
453#endif
454#ifndef WGL_NV_video_output
455DECLARE_HANDLE(HPVIDEODEV);
456#endif
457#ifndef WGL_NV_gpu_affinity
458DECLARE_HANDLE(HPGPUNV);
459DECLARE_HANDLE(HGPUNV);
460
461typedef struct _GPU_DEVICE {
462 DWORD cb;
463 CHAR DeviceName[32];
464 CHAR DeviceString[128];
465 DWORD Flags;
466 RECT rcVirtualScreen;
467} GPU_DEVICE, *PGPU_DEVICE;
468#endif
469#ifndef WGL_NV_video_capture
470DECLARE_HANDLE(HVIDEOINPUTDEVICENV);
471#endif
472
473#ifndef WGL_ARB_buffer_region
474#define WGL_ARB_buffer_region 1
475#ifdef WGL_WGLEXT_PROTOTYPES
476extern HANDLE WINAPI wglCreateBufferRegionARB (HDC hDC, int iLayerPlane, UINT uType);
477extern VOID WINAPI wglDeleteBufferRegionARB (HANDLE hRegion);
478extern BOOL WINAPI wglSaveBufferRegionARB (HANDLE hRegion, int x, int y, int width, int height);
479extern BOOL WINAPI wglRestoreBufferRegionARB (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
480#endif /* WGL_WGLEXT_PROTOTYPES */
481typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType);
482typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion);
483typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height);
484typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
485#endif
486
487#ifndef WGL_ARB_multisample
488#define WGL_ARB_multisample 1
489#endif
490
491#ifndef WGL_ARB_extensions_string
492#define WGL_ARB_extensions_string 1
493#ifdef WGL_WGLEXT_PROTOTYPES
494extern const char * WINAPI wglGetExtensionsStringARB (HDC hdc);
495#endif /* WGL_WGLEXT_PROTOTYPES */
496typedef const char * (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
497#endif
498
499#ifndef WGL_ARB_pixel_format
500#define WGL_ARB_pixel_format 1
501#ifdef WGL_WGLEXT_PROTOTYPES
502extern BOOL WINAPI wglGetPixelFormatAttribivARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
503extern BOOL WINAPI wglGetPixelFormatAttribfvARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
504extern BOOL WINAPI wglChoosePixelFormatARB (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
505#endif /* WGL_WGLEXT_PROTOTYPES */
506typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
507typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
508typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
509#endif
510
511#ifndef WGL_ARB_make_current_read
512#define WGL_ARB_make_current_read 1
513#ifdef WGL_WGLEXT_PROTOTYPES
514extern BOOL WINAPI wglMakeContextCurrentARB (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
515extern HDC WINAPI wglGetCurrentReadDCARB (void);
516#endif /* WGL_WGLEXT_PROTOTYPES */
517typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
518typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (void);
519#endif
520
521#ifndef WGL_ARB_pbuffer
522#define WGL_ARB_pbuffer 1
523#ifdef WGL_WGLEXT_PROTOTYPES
524extern HPBUFFERARB WINAPI wglCreatePbufferARB (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
525extern HDC WINAPI wglGetPbufferDCARB (HPBUFFERARB hPbuffer);
526extern int WINAPI wglReleasePbufferDCARB (HPBUFFERARB hPbuffer, HDC hDC);
527extern BOOL WINAPI wglDestroyPbufferARB (HPBUFFERARB hPbuffer);
528extern BOOL WINAPI wglQueryPbufferARB (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
529#endif /* WGL_WGLEXT_PROTOTYPES */
530typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
531typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer);
532typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC);
533typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer);
534typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
535#endif
536
537#ifndef WGL_ARB_render_texture
538#define WGL_ARB_render_texture 1
539#ifdef WGL_WGLEXT_PROTOTYPES
540extern BOOL WINAPI wglBindTexImageARB (HPBUFFERARB hPbuffer, int iBuffer);
541extern BOOL WINAPI wglReleaseTexImageARB (HPBUFFERARB hPbuffer, int iBuffer);
542extern BOOL WINAPI wglSetPbufferAttribARB (HPBUFFERARB hPbuffer, const int *piAttribList);
543#endif /* WGL_WGLEXT_PROTOTYPES */
544typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
545typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
546typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int *piAttribList);
547#endif
548
549#ifndef WGL_ARB_pixel_format_float
550#define WGL_ARB_pixel_format_float 1
551#endif
552
553#ifndef WGL_ARB_framebuffer_sRGB
554#define WGL_ARB_framebuffer_sRGB 1
555#endif
556
557#ifndef WGL_ARB_create_context
558#define WGL_ARB_create_context 1
559#ifdef WGL_WGLEXT_PROTOTYPES
560extern HGLRC WINAPI wglCreateContextAttribsARB (HDC hDC, HGLRC hShareContext, const int *attribList);
561#endif /* WGL_WGLEXT_PROTOTYPES */
562typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int *attribList);
563#endif
564
565#ifndef WGL_ARB_create_context_profile
566#define WGL_ARB_create_context_profile 1
567#endif
568
569#ifndef WGL_ARB_create_context_robustness
570#define WGL_ARB_create_context_robustness 1
571#endif
572
573#ifndef WGL_EXT_display_color_table
574#define WGL_EXT_display_color_table 1
575#ifdef WGL_WGLEXT_PROTOTYPES
576extern GLboolean WINAPI wglCreateDisplayColorTableEXT (GLushort id);
577extern GLboolean WINAPI wglLoadDisplayColorTableEXT (const GLushort *table, GLuint length);
578extern GLboolean WINAPI wglBindDisplayColorTableEXT (GLushort id);
579extern VOID WINAPI wglDestroyDisplayColorTableEXT (GLushort id);
580#endif /* WGL_WGLEXT_PROTOTYPES */
581typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id);
582typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (const GLushort *table, GLuint length);
583typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id);
584typedef VOID (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id);
585#endif
586
587#ifndef WGL_EXT_extensions_string
588#define WGL_EXT_extensions_string 1
589#ifdef WGL_WGLEXT_PROTOTYPES
590extern const char * WINAPI wglGetExtensionsStringEXT (void);
591#endif /* WGL_WGLEXT_PROTOTYPES */
592typedef const char * (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void);
593#endif
594
595#ifndef WGL_EXT_make_current_read
596#define WGL_EXT_make_current_read 1
597#ifdef WGL_WGLEXT_PROTOTYPES
598extern BOOL WINAPI wglMakeContextCurrentEXT (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
599extern HDC WINAPI wglGetCurrentReadDCEXT (void);
600#endif /* WGL_WGLEXT_PROTOTYPES */
601typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
602typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (void);
603#endif
604
605#ifndef WGL_EXT_pbuffer
606#define WGL_EXT_pbuffer 1
607#ifdef WGL_WGLEXT_PROTOTYPES
608extern HPBUFFEREXT WINAPI wglCreatePbufferEXT (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
609extern HDC WINAPI wglGetPbufferDCEXT (HPBUFFEREXT hPbuffer);
610extern int WINAPI wglReleasePbufferDCEXT (HPBUFFEREXT hPbuffer, HDC hDC);
611extern BOOL WINAPI wglDestroyPbufferEXT (HPBUFFEREXT hPbuffer);
612extern BOOL WINAPI wglQueryPbufferEXT (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);
613#endif /* WGL_WGLEXT_PROTOTYPES */
614typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
615typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer);
616typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC);
617typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer);
618typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);
619#endif
620
621#ifndef WGL_EXT_pixel_format
622#define WGL_EXT_pixel_format 1
623#ifdef WGL_WGLEXT_PROTOTYPES
624extern BOOL WINAPI wglGetPixelFormatAttribivEXT (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues);
625extern BOOL WINAPI wglGetPixelFormatAttribfvEXT (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues);
626extern BOOL WINAPI wglChoosePixelFormatEXT (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
627#endif /* WGL_WGLEXT_PROTOTYPES */
628typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues);
629typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues);
630typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
631#endif
632
633#ifndef WGL_EXT_swap_control
634#define WGL_EXT_swap_control 1
635#ifdef WGL_WGLEXT_PROTOTYPES
636extern BOOL WINAPI wglSwapIntervalEXT (int interval);
637extern int WINAPI wglGetSwapIntervalEXT (void);
638#endif /* WGL_WGLEXT_PROTOTYPES */
639typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
640typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void);
641#endif
642
643#ifndef WGL_EXT_depth_float
644#define WGL_EXT_depth_float 1
645#endif
646
647#ifndef WGL_NV_vertex_array_range
648#define WGL_NV_vertex_array_range 1
649#ifdef WGL_WGLEXT_PROTOTYPES
650extern void* WINAPI wglAllocateMemoryNV (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
651extern void WINAPI wglFreeMemoryNV (void *pointer);
652#endif /* WGL_WGLEXT_PROTOTYPES */
653typedef void* (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
654typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
655#endif
656
657#ifndef WGL_3DFX_multisample
658#define WGL_3DFX_multisample 1
659#endif
660
661#ifndef WGL_EXT_multisample
662#define WGL_EXT_multisample 1
663#endif
664
665#ifndef WGL_OML_sync_control
666#define WGL_OML_sync_control 1
667#ifdef WGL_WGLEXT_PROTOTYPES
668extern BOOL WINAPI wglGetSyncValuesOML (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc);
669extern BOOL WINAPI wglGetMscRateOML (HDC hdc, INT32 *numerator, INT32 *denominator);
670extern INT64 WINAPI wglSwapBuffersMscOML (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
671extern INT64 WINAPI wglSwapLayerBuffersMscOML (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
672extern BOOL WINAPI wglWaitForMscOML (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);
673extern BOOL WINAPI wglWaitForSbcOML (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);
674#endif /* WGL_WGLEXT_PROTOTYPES */
675typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc);
676typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32 *numerator, INT32 *denominator);
677typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
678typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
679typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);
680typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);
681#endif
682
683#ifndef WGL_I3D_digital_video_control
684#define WGL_I3D_digital_video_control 1
685#ifdef WGL_WGLEXT_PROTOTYPES
686extern BOOL WINAPI wglGetDigitalVideoParametersI3D (HDC hDC, int iAttribute, int *piValue);
687extern BOOL WINAPI wglSetDigitalVideoParametersI3D (HDC hDC, int iAttribute, const int *piValue);
688#endif /* WGL_WGLEXT_PROTOTYPES */
689typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
690typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
691#endif
692
693#ifndef WGL_I3D_gamma
694#define WGL_I3D_gamma 1
695#ifdef WGL_WGLEXT_PROTOTYPES
696extern BOOL WINAPI wglGetGammaTableParametersI3D (HDC hDC, int iAttribute, int *piValue);
697extern BOOL WINAPI wglSetGammaTableParametersI3D (HDC hDC, int iAttribute, const int *piValue);
698extern BOOL WINAPI wglGetGammaTableI3D (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);
699extern BOOL WINAPI wglSetGammaTableI3D (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);
700#endif /* WGL_WGLEXT_PROTOTYPES */
701typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
702typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
703typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);
704typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);
705#endif
706
707#ifndef WGL_I3D_genlock
708#define WGL_I3D_genlock 1
709#ifdef WGL_WGLEXT_PROTOTYPES
710extern BOOL WINAPI wglEnableGenlockI3D (HDC hDC);
711extern BOOL WINAPI wglDisableGenlockI3D (HDC hDC);
712extern BOOL WINAPI wglIsEnabledGenlockI3D (HDC hDC, BOOL *pFlag);
713extern BOOL WINAPI wglGenlockSourceI3D (HDC hDC, UINT uSource);
714extern BOOL WINAPI wglGetGenlockSourceI3D (HDC hDC, UINT *uSource);
715extern BOOL WINAPI wglGenlockSourceEdgeI3D (HDC hDC, UINT uEdge);
716extern BOOL WINAPI wglGetGenlockSourceEdgeI3D (HDC hDC, UINT *uEdge);
717extern BOOL WINAPI wglGenlockSampleRateI3D (HDC hDC, UINT uRate);
718extern BOOL WINAPI wglGetGenlockSampleRateI3D (HDC hDC, UINT *uRate);
719extern BOOL WINAPI wglGenlockSourceDelayI3D (HDC hDC, UINT uDelay);
720extern BOOL WINAPI wglGetGenlockSourceDelayI3D (HDC hDC, UINT *uDelay);
721extern BOOL WINAPI wglQueryGenlockMaxSourceDelayI3D (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);
722#endif /* WGL_WGLEXT_PROTOTYPES */
723typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC);
724typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC);
725typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL *pFlag);
726typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource);
727typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT *uSource);
728typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge);
729typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT *uEdge);
730typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate);
731typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT *uRate);
732typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay);
733typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT *uDelay);
734typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);
735#endif
736
737#ifndef WGL_I3D_image_buffer
738#define WGL_I3D_image_buffer 1
739#ifdef WGL_WGLEXT_PROTOTYPES
740extern LPVOID WINAPI wglCreateImageBufferI3D (HDC hDC, DWORD dwSize, UINT uFlags);
741extern BOOL WINAPI wglDestroyImageBufferI3D (HDC hDC, LPVOID pAddress);
742extern BOOL WINAPI wglAssociateImageBufferEventsI3D (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);
743extern BOOL WINAPI wglReleaseImageBufferEventsI3D (HDC hDC, const LPVOID *pAddress, UINT count);
744#endif /* WGL_WGLEXT_PROTOTYPES */
745typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags);
746typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress);
747typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);
748typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const LPVOID *pAddress, UINT count);
749#endif
750
751#ifndef WGL_I3D_swap_frame_lock
752#define WGL_I3D_swap_frame_lock 1
753#ifdef WGL_WGLEXT_PROTOTYPES
754extern BOOL WINAPI wglEnableFrameLockI3D (void);
755extern BOOL WINAPI wglDisableFrameLockI3D (void);
756extern BOOL WINAPI wglIsEnabledFrameLockI3D (BOOL *pFlag);
757extern BOOL WINAPI wglQueryFrameLockMasterI3D (BOOL *pFlag);
758#endif /* WGL_WGLEXT_PROTOTYPES */
759typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (void);
760typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (void);
761typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL *pFlag);
762typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL *pFlag);
763#endif
764
765#ifndef WGL_I3D_swap_frame_usage
766#define WGL_I3D_swap_frame_usage 1
767#ifdef WGL_WGLEXT_PROTOTYPES
768extern BOOL WINAPI wglGetFrameUsageI3D (float *pUsage);
769extern BOOL WINAPI wglBeginFrameTrackingI3D (void);
770extern BOOL WINAPI wglEndFrameTrackingI3D (void);
771extern BOOL WINAPI wglQueryFrameTrackingI3D (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
772#endif /* WGL_WGLEXT_PROTOTYPES */
773typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float *pUsage);
774typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void);
775typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void);
776typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
777#endif
778
779#ifndef WGL_ATI_pixel_format_float
780#define WGL_ATI_pixel_format_float 1
781#endif
782
783#ifndef WGL_NV_float_buffer
784#define WGL_NV_float_buffer 1
785#endif
786
787#ifndef WGL_3DL_stereo_control
788#define WGL_3DL_stereo_control 1
789#ifdef WGL_WGLEXT_PROTOTYPES
790extern BOOL WINAPI wglSetStereoEmitterState3DL (HDC hDC, UINT uState);
791#endif /* WGL_WGLEXT_PROTOTYPES */
792typedef BOOL (WINAPI * PFNWGLSETSTEREOEMITTERSTATE3DLPROC) (HDC hDC, UINT uState);
793#endif
794
795#ifndef WGL_EXT_pixel_format_packed_float
796#define WGL_EXT_pixel_format_packed_float 1
797#endif
798
799#ifndef WGL_EXT_framebuffer_sRGB
800#define WGL_EXT_framebuffer_sRGB 1
801#endif
802
803#ifndef WGL_NV_present_video
804#define WGL_NV_present_video 1
805#ifdef WGL_WGLEXT_PROTOTYPES
806extern int WINAPI wglEnumerateVideoDevicesNV (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);
807extern BOOL WINAPI wglBindVideoDeviceNV (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);
808extern BOOL WINAPI wglQueryCurrentContextNV (int iAttribute, int *piValue);
809#endif /* WGL_WGLEXT_PROTOTYPES */
810typedef int (WINAPI * PFNWGLENUMERATEVIDEODEVICESNVPROC) (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);
811typedef BOOL (WINAPI * PFNWGLBINDVIDEODEVICENVPROC) (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);
812typedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int *piValue);
813#endif
814
815#ifndef WGL_NV_video_output
816#define WGL_NV_video_output 1
817#ifdef WGL_WGLEXT_PROTOTYPES
818extern BOOL WINAPI wglGetVideoDeviceNV (HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice);
819extern BOOL WINAPI wglReleaseVideoDeviceNV (HPVIDEODEV hVideoDevice);
820extern BOOL WINAPI wglBindVideoImageNV (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
821extern BOOL WINAPI wglReleaseVideoImageNV (HPBUFFERARB hPbuffer, int iVideoBuffer);
822extern BOOL WINAPI wglSendPbufferToVideoNV (HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock);
823extern BOOL WINAPI wglGetVideoInfoNV (HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
824#endif /* WGL_WGLEXT_PROTOTYPES */
825typedef BOOL (WINAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice);
826typedef BOOL (WINAPI * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice);
827typedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
828typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer);
829typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock);
830typedef BOOL (WINAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
831#endif
832
833#ifndef WGL_NV_swap_group
834#define WGL_NV_swap_group 1
835#ifdef WGL_WGLEXT_PROTOTYPES
836extern BOOL WINAPI wglJoinSwapGroupNV (HDC hDC, GLuint group);
837extern BOOL WINAPI wglBindSwapBarrierNV (GLuint group, GLuint barrier);
838extern BOOL WINAPI wglQuerySwapGroupNV (HDC hDC, GLuint *group, GLuint *barrier);
839extern BOOL WINAPI wglQueryMaxSwapGroupsNV (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers);
840extern BOOL WINAPI wglQueryFrameCountNV (HDC hDC, GLuint *count);
841extern BOOL WINAPI wglResetFrameCountNV (HDC hDC);
842#endif /* WGL_WGLEXT_PROTOTYPES */
843typedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group);
844typedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier);
845typedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint *group, GLuint *barrier);
846typedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers);
847typedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint *count);
848typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC);
849#endif
850
851#ifndef WGL_NV_gpu_affinity
852#define WGL_NV_gpu_affinity 1
853#ifdef WGL_WGLEXT_PROTOTYPES
854extern BOOL WINAPI wglEnumGpusNV (UINT iGpuIndex, HGPUNV *phGpu);
855extern BOOL WINAPI wglEnumGpuDevicesNV (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
856extern HDC WINAPI wglCreateAffinityDCNV (const HGPUNV *phGpuList);
857extern BOOL WINAPI wglEnumGpusFromAffinityDCNV (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);
858extern BOOL WINAPI wglDeleteDCNV (HDC hdc);
859#endif /* WGL_WGLEXT_PROTOTYPES */
860typedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu);
861typedef BOOL (WINAPI * PFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
862typedef HDC (WINAPI * PFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV *phGpuList);
863typedef BOOL (WINAPI * PFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);
864typedef BOOL (WINAPI * PFNWGLDELETEDCNVPROC) (HDC hdc);
865#endif
866
867#ifndef WGL_AMD_gpu_association
868#define WGL_AMD_gpu_association 1
869#ifdef WGL_WGLEXT_PROTOTYPES
870extern UINT WINAPI wglGetGPUIDsAMD (UINT maxCount, UINT *ids);
871extern INT WINAPI wglGetGPUInfoAMD (UINT id, int property, GLenum dataType, UINT size, void *data);
872extern UINT WINAPI wglGetContextGPUIDAMD (HGLRC hglrc);
873extern HGLRC WINAPI wglCreateAssociatedContextAMD (UINT id);
874extern HGLRC WINAPI wglCreateAssociatedContextAttribsAMD (UINT id, HGLRC hShareContext, const int *attribList);
875extern BOOL WINAPI wglDeleteAssociatedContextAMD (HGLRC hglrc);
876extern BOOL WINAPI wglMakeAssociatedContextCurrentAMD (HGLRC hglrc);
877extern HGLRC WINAPI wglGetCurrentAssociatedContextAMD (void);
878extern 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);
879#endif /* WGL_WGLEXT_PROTOTYPES */
880typedef UINT (WINAPI * PFNWGLGETGPUIDSAMDPROC) (UINT maxCount, UINT *ids);
881typedef INT (WINAPI * PFNWGLGETGPUINFOAMDPROC) (UINT id, int property, GLenum dataType, UINT size, void *data);
882typedef UINT (WINAPI * PFNWGLGETCONTEXTGPUIDAMDPROC) (HGLRC hglrc);
883typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC) (UINT id);
884typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) (UINT id, HGLRC hShareContext, const int *attribList);
885typedef BOOL (WINAPI * PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC) (HGLRC hglrc);
886typedef BOOL (WINAPI * PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (HGLRC hglrc);
887typedef HGLRC (WINAPI * PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC) (void);
888typedef 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);
889#endif
890
891#ifndef WGL_NV_video_capture
892#define WGL_NV_video_capture 1
893#ifdef WGL_WGLEXT_PROTOTYPES
894extern BOOL WINAPI wglBindVideoCaptureDeviceNV (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);
895extern UINT WINAPI wglEnumerateVideoCaptureDevicesNV (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList);
896extern BOOL WINAPI wglLockVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
897extern BOOL WINAPI wglQueryVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);
898extern BOOL WINAPI wglReleaseVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
899#endif /* WGL_WGLEXT_PROTOTYPES */
900typedef BOOL (WINAPI * PFNWGLBINDVIDEOCAPTUREDEVICENVPROC) (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);
901typedef UINT (WINAPI * PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC) (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList);
902typedef BOOL (WINAPI * PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
903typedef BOOL (WINAPI * PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);
904typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
905#endif
906
907#ifndef WGL_NV_copy_image
908#define WGL_NV_copy_image 1
909#ifdef WGL_WGLEXT_PROTOTYPES
910extern 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);
911#endif /* WGL_WGLEXT_PROTOTYPES */
912typedef 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);
913#endif
914
915#ifndef WGL_NV_multisample_coverage
916#define WGL_NV_multisample_coverage 1
917#endif
918
919#ifndef WGL_NV_DX_interop
920#define WGL_NV_DX_interop 1
921#ifdef WGL_WGLEXT_PROTOTYPES
922extern BOOL WINAPI wglDXSetResourceShareHandleNV (void *dxObject, HANDLE shareHandle);
923extern HANDLE WINAPI wglDXOpenDeviceNV (void *dxDevice);
924extern BOOL WINAPI wglDXCloseDeviceNV (HANDLE hDevice);
925extern HANDLE WINAPI wglDXRegisterObjectNV (HANDLE hDevice, void *dxObject, GLuint name, GLenum type, GLenum access);
926extern BOOL WINAPI wglDXUnregisterObjectNV (HANDLE hDevice, HANDLE hObject);
927extern BOOL WINAPI wglDXObjectAccessNV (HANDLE hObject, GLenum access);
928extern BOOL WINAPI wglDXLockObjectsNV (HANDLE hDevice, GLint count, HANDLE *hObjects);
929extern BOOL WINAPI wglDXUnlockObjectsNV (HANDLE hDevice, GLint count, HANDLE *hObjects);
930#endif /* WGL_WGLEXT_PROTOTYPES */
931typedef BOOL (WINAPI * PFNWGLDXSETRESOURCESHAREHANDLENVPROC) (void *dxObject, HANDLE shareHandle);
932typedef HANDLE (WINAPI * PFNWGLDXOPENDEVICENVPROC) (void *dxDevice);
933typedef BOOL (WINAPI * PFNWGLDXCLOSEDEVICENVPROC) (HANDLE hDevice);
934typedef HANDLE (WINAPI * PFNWGLDXREGISTEROBJECTNVPROC) (HANDLE hDevice, void *dxObject, GLuint name, GLenum type, GLenum access);
935typedef BOOL (WINAPI * PFNWGLDXUNREGISTEROBJECTNVPROC) (HANDLE hDevice, HANDLE hObject);
936typedef BOOL (WINAPI * PFNWGLDXOBJECTACCESSNVPROC) (HANDLE hObject, GLenum access);
937typedef BOOL (WINAPI * PFNWGLDXLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE *hObjects);
938typedef BOOL (WINAPI * PFNWGLDXUNLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE *hObjects);
939#endif
940
941#ifndef WGL_NV_DX_interop2
942#define WGL_NV_DX_interop2 1
943#endif
944
945#ifndef WGL_EXT_swap_control_tear
946#define WGL_EXT_swap_control_tear 1
947#endif
948
949
950#ifdef __cplusplus
951}
952#endif
953
954#endif /* !__wglext_h_ */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette