From: Simon Schubert
Date: Thu, 26 Feb 2009 18:52:59 +0000 (+0100)
Subject: import NVIDIA-FreeBSD-x86-180.29
X-Git-Url: https://gitweb.dragonflybsd.org/~corecode/nvidia.git/commitdiff_plain/05d5f840eb74c8415e2fe625cea7a786aaca6172
import NVIDIA-FreeBSD-x86-180.29
---
diff --git a/Makefile b/Makefile
index ce8dc43..45feb17 100644
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,7 @@ afterinstall:
@${.CURDIR}/scripts/linux.sh
@echo
@echo "Installation of the NVIDIA Accelerated Graphics Driver"
- @echo "169.07 for FreeBSD is now complete. You can now"
+ @echo "180.29 for FreeBSD is now complete. You can now"
@echo "run the nvidia-xconfig utility to automatically update"
@echo "your X server configuration file. Please see the README"
@echo "for details if you wish to update your X configuration"
diff --git a/doc/Makefile b/doc/Makefile
index 4ca8a8e..e3fad2d 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -15,7 +15,8 @@ DOCS= README \
XF86Config.sample \
license.txt \
gl.h glx.h glext.h \
- glxtokens.h
+ glxtokens.h \
+ vdpau.h vdpau_x11.h
HTMLDOCS!=(ls ${NVIDIA_ROOT}/doc/html/)
diff --git a/doc/README b/doc/README
index 4b704c9..16669cd 100644
--- a/doc/README
+++ b/doc/README
@@ -1,8 +1,8 @@
NVIDIA Accelerated FreeBSD Graphics Driver README and Installation Guide
NVIDIA Corporation
- Last Updated: 2007/11/16
- Most Recent Driver Version: 169.07
+ Last Updated: Tue Feb 3 09:57:25 PST 2009
+ Most Recent Driver Version: 180.29
Published by
NVIDIA Corporation
@@ -38,13 +38,13 @@ FreeBSD is a registered trademark of the FreeBSD Foundation. Linux is a
registered trademark of Linus Torvalds. Intel and Pentium are registered
trademarks of Intel Corporation. Athlon is a registered trademark of Advanced
Micro Devices. OpenGL is a registered trademark of Silicon Graphics Inc. PCI
-Express is a registered trademarks and/or service marks of PCI-SIG. Windows is
-a registered trademark of Microsoft Corporation in the United States and other
+Express is a registered trademark and/or service mark of PCI-SIG. Windows is a
+registered trademark of Microsoft Corporation in the United States and other
countries. Other company and product names may be trademarks or registered
trademarks of the respective owners with which they are associated.
-Copyright 2006 NVIDIA Corporation. All rights reserved.
+Copyright 2006 - 2008 NVIDIA Corporation. All rights reserved.
______________________________________________________________________________
@@ -72,10 +72,11 @@ Chapter 18. Using the X Composite Extension
Chapter 19. Using the nvidia-settings Utility
Chapter 20. Configuring SLI and Multi-GPU FrameRendering
Chapter 21. Configuring Frame Lock and Genlock
-Chapter 22. Configuring Depth 30 Displays
-Chapter 23. NVIDIA Contact Info and Additional Resources
-Chapter 24. Credits
-Chapter 25. Acknowledgements
+Chapter 22. Configuring SDI Video Output
+Chapter 23. Configuring Depth 30 Displays
+Chapter 24. NVIDIA Contact Info and Additional Resources
+Chapter 25. Credits
+Chapter 26. Acknowledgements
Appendix A. Minimum Software Requirements
Appendix B. Installed Components
@@ -87,6 +88,8 @@ Appendix C. Display Device Names
Appendix D. GLX Support
Appendix E. Dots Per Inch
Appendix F. XvMC Support
+Appendix G. VDPAU Support
+Appendix H. Tips for New FreeBSD Users
______________________________________________________________________________
@@ -122,12 +125,13 @@ chapters.
It is assumed that the user and reader of this document has at least a basic
understanding of FreeBSD techniques and terminology. However, new FreeBSD
-users can refer to for details on parts of the installation process.
+users can refer to Appendix L for details on parts of the installation
+process.
1D. ADDITIONAL INFORMATION
-In case additional information is required, Chapter 23 provides contact
+In case additional information is required, Chapter 24 provides contact
information for NVIDIA FreeBSD driver resources, as well as a brief listing of
external resources.
@@ -168,7 +172,7 @@ it. It will also remove any conflicting OpenGL libraries, and install the
NVIDIA OpenGL libraries. The '/dev/nvidia' device files will be created
(unless the system is using devfs), and your '/boot/loader.conf' file will be
updated to automatically load the NVIDIA kernel module on boot, as well as the
-Linux ABI compatiability module should you not have it compiled into your
+Linux ABI compatibility module should you not have it compiled into your
kernel.
______________________________________________________________________________
@@ -182,29 +186,40 @@ components.
Installed File Location
---------------------------------- ----------------------------------
nvidia.ko /boot/modules
- libGL.so /usr/X11R6/lib
- libGL.so.1 /usr/X11R6/lib
- libnvidia-tls.so /usr/X11R6/lib
- libnvidia-tls.so.1 /usr/X11R6/lib
- libnvidia-cfg.so /usr/X11R6/lib
- libnvidia-cfg.so.1 /usr/X11R6/lib
- libGLcore.so /usr/X11R6/lib
- libGLcore.so.1 /usr/X11R6/lib
- nvidia_drv.so /usr/X11R6/lib/modules/drivers
- libglx.so /usr/X11R6/lib/modules/extensions
- libglx.so.1 /usr/X11R6/lib/modules/extensions
- nvidia-xconfig /usr/X11R6/bin
- nvidia-xconfig.1 /usr/X11R6/man/man1
- nvidia-settings /usr/X11R6/bin
- nvidia-settings.1 /usr/X11R6/man/man1
+ libGL.so /usr/lib/xorg
+ libGL.so.1 /usr/lib/xorg
+ libnvidia-tls.so /usr/lib/xorg
+ libnvidia-tls.so.1 /usr/lib/xorg
+ libnvidia-cfg.so /usr/lib/xorg
+ libnvidia-cfg.so.1 /usr/lib/xorg
+ libGLcore.so /usr/lib/xorg
+ libGLcore.so.1 /usr/lib/xorg
+ nvidia_drv.so /usr/lib/xorg/modules/drivers
+ libnvidia-wfb.so (optional) /usr/lib/xorg/modules
+ libwfb.so /usr/lib/xorg/modules/drivers
+ libglx.so /usr/lib/xorg/modules/extensions
+ libglx.so.1 /usr/lib/xorg/modules/extensions
+ libvdpau.so /usr/lib/xorg
+ libvdpau.so.1 /usr/lib/xorg
+ libvdpau_trace.so /usr/lib/xorg
+ libvdpau_trace.so.1 /usr/lib/xorg
+ libvdpau_nvidia.so /usr/lib/xorg
+ libvdpau_nvidia.so.1 /usr/lib/xorg
+ nvidia-xconfig /usr/bin
+ nvidia-xconfig.1 /usr/man/man1
+ nvidia-settings /usr/bin
+ nvidia-settings.1 /usr/man/man1
nvidia0 /dev
nvidia1 /dev
nvidia2 /dev
nvidia3 /dev
nvidiactl /dev
- libGL.so.169.07 /compat/linux/usr/lib
- libnvidia-tls.so.169.07 /compat/linux/usr/lib
- libGLcore.so.169.07 /compat/linux/usr/lib
+ libGL.so.180.29 /compat/linux/usr/lib
+ libnvidia-tls.so.180.29 /compat/linux/usr/lib
+ libGLcore.so.180.29 /compat/linux/usr/lib
+ libvdpau.so.180.29 /compat/linux/usr/lib
+ libvdpau_trace.so.180.29 /compat/linux/usr/lib
+ libvdpau_nvidia.so.180.29 /compat/linux/usr/lib
______________________________________________________________________________
@@ -290,10 +305,10 @@ in the X log file. This line indicates the name of the X config file in use.
If you do not have a working X config file, there are a few different ways to
obtain one. A sample config file is included both with the XFree86
distribution and with the NVIDIA driver package (at
-'/usr/X11R6/share/doc/NVIDIA_GLX-1.0/'). Tools for generating a config file
-(such as 'xf86config') are generally included with FreeBSD. Additional
-information on the X config syntax can be found in the XF86Config manual page
-(`man XF86Config` or `man xorg.conf`).
+'/usr/X11R6/share/doc/NVIDIA_GLX-1.0/'). The 'nvidia-xconfig' utility,
+provided with the NVIDIA driver package, can generate a new X configuration
+file. Additional information on the X config syntax can be found in the
+XF86Config manual page (`man XF86Config` or `man xorg.conf`).
If you have a working X config file for a different driver (such as the "nv"
or "vesa" driver), then simply edit the file as follows.
@@ -318,6 +333,19 @@ exist):
Load "glx"
+If the X config file does not have a "Module" section, you can safely skip the
+last step if the X server installed on your system is an X.Org X server or an
+XFree86 X release version 4.4.0 or greater. If you are using an older XFree86
+X server, add the following to your X config file:
+
+Section "Module"
+ Load "extmod"
+ Load "dbe"
+ Load "type1"
+ Load "freetype"
+ Load "glx"
+EndSection
+
There are numerous options that may be added to the X config file to tune the
NVIDIA X driver. See Appendix F for a complete list of these options.
@@ -333,8 +361,8 @@ ______________________________________________________________________________
This section provides answers to frequently asked questions associated with
the NVIDIA FreeBSD x86 Driver and its installation. Common problem diagnoses
-can be found in Chapter 6 and tips for new users can be found in . Also,
-detailed information for specific setups is provided in the Appendices.
+can be found in Chapter 6 and tips for new users can be found in Appendix L.
+Also, detailed information for specific setups is provided in the Appendices.
NVIDIA DRIVER
@@ -479,6 +507,25 @@ A. The XRandR X extension is not presently aware of multiple display devices
For details, see Chapter 10.
+Q. Why does starting certain applications result in Xlib error messages
+ indicating extensions like "XFree86-VidModeExtension" or "SHAPE" are
+ missing?
+
+A. If your X config file has a "Module" section that does not list the
+ "extmod" module, some X server extensions may be missing, resulting in
+ error messages of the form:
+
+ Xlib: extension "SHAPE" missing on display ":0.0"
+ Xlib: extension "XFree86-VidModeExtension" missing on display ":0.0"
+ Xlib: extension "XFree86-DGA" missing on display ":0.0"
+
+ You can solve this problem by adding the line below to your X config file's
+ "Module" section:
+
+ Load "extmod"
+
+
+
______________________________________________________________________________
Chapter 6. Common Problems
@@ -577,7 +624,7 @@ A. There are two cases where this may occur. If the displays are attached to
synchronize onboard stereo on the other GPU you must use a G-Sync device.
-Q. X fails to start, and during bootup time I get error messages
+Q. X fails to start, and during boot up time I get error messages
nvidia0: NVRM: NVIDIA REG resource alloc failed.
@@ -586,12 +633,13 @@ Q. X fails to start, and during bootup time I get error messages
nvidia0: NVRM: NVIDIA IRQ resource alloc failed.
-A. The system bios has not properly setup your graphics card; FreeBSD can't
- currently setup PCI devices that the BIOS leaves unconfigured. Uncheck
- "PNP-OS" in your system bios.
+A. The system BIOS has not properly set up your graphics card; FreeBSD can't
+ currently set up PCI devices that the BIOS leaves unconfigured. Uncheck
+ "PNP-OS" in your system BIOS.
-Q. X fails to start, and during bootup time I get the following error message:
+Q. X fails to start, and during boot up time I get the following error
+ message:
nvidia0: NVRM: NVIDIA MEM resource alloc failed.
@@ -604,6 +652,29 @@ A. On certain FreeBSD kernels, it may be necessary to add the following line
This should allow the NVIDIA kernel module to attach.
+Q. Some OpenGL applications fail to start, and my X log file contains error
+ messages of the form:
+
+ (EE) NVIDIA(0): Failed to obtain a shared memory identifier...
+
+ and/or
+
+ (EE) NVIDIA(0): Failed to attach to shared memory segment...
+
+
+A. The NVIDIA driver may require more IPC resources than are allocated by
+ default. If this happens, you may be able to work around this problem by
+ increasing your system's resource limits by editing the file
+ '/boot/loader.conf' and adding:
+
+ kern.ipc.shmseg=1024
+ kern.ipc.shmmni=1024
+
+
+ The values above were chosen conservatively, you may need to tweak them to
+ meet your requirements.
+
+
Q. My X server fails to start, and my X log file contains the error:
(EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module!
@@ -857,6 +928,18 @@ XVideo and the Composite X extension
XVideo will not work correctly when Composite is enabled unless using
X.Org 7.1 or later. See Chapter 18.
+GLX visuals in Xinerama
+
+ X servers prior to version 1.5.0 have a limitation in the number of
+ visuals that can be available when Xinerama is enabled. Specifically,
+ visuals with ID values over 255 will cause the server to corrupt memory,
+ leading to incorrect behavior or crashes. In some configurations where
+ many GLX features are enabled at once, the number of GLX visuals will
+ exceed this limit. To avoid a crash, the NVIDIA X driver will discard
+ visuals above the limit. To see which visuals are being discarded, run the
+ X server with the -logverbose 6 option and then check the X server log
+ file.
+
This section describes problems that will not be fixed. Usually, the source of
the problem is beyond the control of NVIDIA. Following is the list of
problems:
@@ -931,8 +1014,7 @@ ______________________________________________________________________________
8A. FULL SCENE ANTIALIASING
Antialiasing is a technique used to smooth the edges of objects in a scene to
-reduce the jagged "stairstep" effect that sometimes appears. Full-scene
-antialiasing is supported on GeForce or newer hardware. By setting the
+reduce the jagged "stairstep" effect that sometimes appears. By setting the
appropriate environment variable, you can enable full-scene antialiasing in
any OpenGL application on these GPUs.
@@ -941,89 +1023,13 @@ setting the __GL_FSAA_MODE environment variable appropriately. Note that
increasing the number of samples taken during FSAA rendering may decrease
performance.
-The following tables describe the possible values for __GL_FSAA_MODE and the
-effects that they have on various NVIDIA GPUs.
-
-
-
- __GL_FSAA_MODE GeForce, GeForce2, Quadro, and Quadro2 Pro
- --------------- ------------------------------------------------------
- 0 FSAA disabled
- 1 FSAA disabled
- 2 FSAA disabled
- 3 1.5 x 1.5 Supersampling
- 4 2 x 2 Supersampling
- 5 FSAA disabled
- 6 FSAA disabled
- 7 FSAA disabled
-
-
-
-
- __GL_FSAA_MODE GeForce4 MX, GeForce4 4xx Go, Quadro4 380,550,580
- XGL, and Quadro4 NVS
- --------------- ------------------------------------------------------
- 0 FSAA disabled
- 1 2x Bilinear Multisampling
- 2 2x Quincunx Multisampling
- 3 FSAA disabled
- 4 2 x 2 Supersampling
- 5 FSAA disabled
- 6 FSAA disabled
- 7 FSAA disabled
-
-
-
-
- __GL_FSAA_MODE GeForce3, Quadro DCC, GeForce4 Ti, GeForce4 4200 Go,
- and Quadro4 700,750,780,900,980 XGL
- --------------- ------------------------------------------------------
- 0 FSAA disabled
- 1 2x Bilinear Multisampling
- 2 2x Quincunx Multisampling
- 3 FSAA disabled
- 4 4x Bilinear Multisampling
- 5 4x Gaussian Multisampling
- 6 2x Bilinear Multisampling by 4x Supersampling
- 7 FSAA disabled
-
-
+To see the available values for __GL_FSAA_MODE along with their descriptions,
+run:
+nvidia-settings --query=fsaa --verbose
- __GL_FSAA_MODE GeForce FX, GeForce 6xxx, GeForce 7xxx, Quadro FX
- --------------- ------------------------------------------------------
- 0 FSAA disabled
- 1 2x Bilinear Multisampling
- 2 2x Quincunx Multisampling
- 3 FSAA disabled
- 4 4x Bilinear Multisampling
- 5 4x Gaussian Multisampling
- 6 2x Bilinear Multisampling by 4x Supersampling
- 7 4x Bilinear Multisampling by 4x Supersampling
- 8 4x Bilinear Multisampling by 2x Supersampling
- (available on GeForce FX and later GPUs; not
- available on Quadro GPUs)
-
-
-
-
- __GL_FSAA_MODE GeForce 8xxx, G8xGL
- --------------- ------------------------------------------------------
- 0 FSAA disabled
- 1 2x Bilinear Multisampling
- 2 FSAA disabled
- 3 FSAA disabled
- 4 4x Bilinear Multisampling
- 5 FSAA disabled
- 6 FSAA disabled
- 7 4x Bilinear Multisampling by 4x Supersampling
- 8 FSAA disabled
- 9 8x Bilinear Multisampling
- 10 8x
- 11 16x
- 12 16xQ
- 13 8x Bilinear Multisampling by 4x Supersampling
-
+The __GL_FSAA_MODE environment variable uses the same integer values that are
+used to configure FSAA through nvidia-settings and the NV-CONTROL X extension.
8B. ANISOTROPIC TEXTURE FILTERING
@@ -1060,14 +1066,7 @@ You may also find it useful to review Chapter 10 "Configuring Twinview" and
the section on Ensuring Identical Mode Timings in Chapter 16.
-8D. DISABLING CPU-SPECIFIC FEATURES
-
-Setting the environment variable __GL_FORCE_GENERIC_CPU to a non-zero value
-will inhibit the use of CPU-specific features such as MMX, SSE, or 3DNOW!. Use
-of this option may result in performance loss.
-
-
-8E. CONTROLLING THE SORTING OF OPENGL FBCONFIGS
+8D. CONTROLLING THE SORTING OF OPENGL FBCONFIGS
The NVIDIA GLX implementation sorts FBConfigs returned by glXChooseFBConfig()
as described in the GLX specification. To disable this behavior set
@@ -1081,7 +1080,7 @@ This option may be be useful to work around problems in which applications
pick an unexpected FBConfig.
-8F. OPENGL YIELD BEHAVIOR
+8E. OPENGL YIELD BEHAVIOR
There are several cases where the NVIDIA OpenGL driver needs to wait for
external state to change before continuing. To avoid consuming too much CPU
@@ -1110,7 +1109,7 @@ should do when it wants to yield. The possible values are:
-8G. CONTROLLING WHICH OPENGL FBCONFIGS ARE AVAILABLE
+8F. CONTROLLING WHICH OPENGL FBCONFIGS ARE AVAILABLE
The NVIDIA GLX implementation will hide FBConfigs that are associated with a
32-bit ARGB visual when the XLIB_SKIP_ARGB_VISUALS environment variable is
@@ -1158,7 +1157,7 @@ or the following entry added to '/boot/device.hints':
When built with support for the FreeBSD AGP driver, 'nvidia.ko' will fall back
to using NvAGP when it doesn't detect 'agp.ko' (this will be the case when
-'agp.ko' does not support your AGP chipset or was explicitely disabled with
+'agp.ko' does not support your AGP chipset or was explicitly disabled with
device hints).
It is highly recommended that you use the NVIDIA AGP driver.
@@ -1700,7 +1699,7 @@ GPUs when Xinerama is enabled.
To configure Xinerama
1. Configure multiple X screens (refer to the XF86Config(5x) or
- xorg.conf(5x) manpages for details).
+ xorg.conf(5x) man pages for details).
2. Enable Xinerama by adding the line
@@ -1840,7 +1839,7 @@ the ServerLayout section to use and position both Screen sections:
...
EndSection
-For further details, refer to the XF86Config(5x) or xorg.conf(5x) manpages.
+For further details, refer to the XF86Config(5x) or xorg.conf(5x) man pages.
______________________________________________________________________________
@@ -1942,7 +1941,7 @@ To use your TV with X, there are several relevant X configuration options:
output format
"COMPONENT" Force Component HD
output format, also
- called YPrPp
+ called YPbPr
"SCART" Force Scart output PAL, NTSC
format, also called
Peritel
@@ -1992,6 +1991,9 @@ You can set the rotation orientation of the screen by running any of:
Rotation may also be set through the nvidia-settings configuration utility in
the "Rotation Settings" panel.
+SLI and rotation are incompatible. Rotation will be disabled when SLI is
+enabled.
+
TwinView and rotation can be used together, but rotation affects the entire
desktop. This means that the same rotation setting will apply to both display
devices in a TwinView pair. Note also that the "TwinViewOrientation" option
@@ -2223,7 +2225,7 @@ Note that this is just memory usage for the frame buffer; video memory is also
used by other things, such as OpenGL and pixmap caching.
Another important relationship is that between the resolution, the pixel clock
-(aka dot clock) and the vertical refresh rate:
+(also known as the dot clock) and the vertical refresh rate:
RR = PCLK / (HFL * VFL)
@@ -2504,7 +2506,7 @@ hw.nvidia.cards.n.*
-------------------------------- --------------------------------
model the device's product name
irq the IRQ claimed by this device
- vbios the device's VBIOS revision
+ vbios the device's Video BIOS revision
type the bus type of this device
@@ -2514,12 +2516,12 @@ hw.nvidia.agp.card.*
These OIDs provide information about the AGP capabilities of the installed
AGP graphics card and host-bridge respectively. These values are most
likely to be correct after system boot and before the X server is started
- (and the AGP subsystem intialized).
+ (and the AGP subsystem initialized).
ID Description
-------------- ---------------------------------------------------
rates the AGP rates supported by this device
- fw if the device suppoprts AGP fast-writes
+ fw if the device supports AGP fast-writes
sba if the device supports AGP side-band-addressing
registers the device's AGP registers, status:command
@@ -2574,7 +2576,7 @@ followed by '=' and the new value, e.g.:
% sysctl hw.nvidia.registry.EnableVia4x=1
-It is possible to automate setting these paramaters by adding them to the
+It is possible to automate setting these parameters by adding them to the
'/etc/sysctl.conf' file. See `man 5 sysctl.conf` for details.
The following parameters are recognized by 'nvidia.ko':
@@ -2585,8 +2587,8 @@ VideoMemoryTypeOverride
We normally detect memory type on TNT cards by scanning the embedded BIOS.
Unfortunately, we've seen some cases where a TNT card has been flashed
- with the wrong bios. For example, an SDRAM based TNT has been flashed with
- an SGRAM bios, and therefore claims to be an SGRAM TNT. We've therefore
+ with the wrong BIOS. For example, an SDRAM based TNT has been flashed with
+ an SGRAM BIOS, and therefore claims to be an SGRAM TNT. We've therefore
provided an override here. Make sure to set the value toe the type of
memory used on your card.
@@ -2670,10 +2672,10 @@ ReqAGPRate
EnableAGPSBA
- For stability reasons, the driver will not Side Band Addressing even if
- both the host chipset and the AGP card support it. You may override this
- behaviour with the following registry key. THIS IS COMPLETELY UNSUPPORTED!
-
+ For stability reasons, the driver will not use Side Band Addressing even
+ if both the host chipset and the AGP card support it. You may override
+ this behavior with the following registry key. THIS IS COMPLETELY
+ UNSUPPORTED!
Value Meaning
-------------- ---------------------------------------------------
@@ -3034,6 +3036,8 @@ Frame lock and genlock are supported for the following hardware:
Quadro FX 3000G
Quadro FX G-Sync, used in conjunction with a Quadro FX 4400, Quadro FX
4500, or Quadro FX 5500
+ Quadro FX G-Sync II, used in conjunction with a Quadro FX 4600, or Quadro
+ FX 5600
@@ -3119,17 +3123,17 @@ the frame lock panel that displays relevant status information about the
G-Sync devices, GPUs attached to those G-Sync devices and the display devices
driven by those GPUs. In particular, the G-Sync rows will display the server
name and G-Sync device number along with "Receiving" LED, "Rate", "House" LED,
-"Port0"/"Port1" Images, and "Delay" information. The GPU rows will display the
-GPU product name information along with the GPU ID for the server. The Display
-Device rows will show the display device name and device type along with
-server/client checkboxes, refresh rate, "Timing" LED and "Stereo" LED.
+"Port 0"/"Port 1" Images, and "Delay" information. The GPU rows will display
+the GPU product name information along with the GPU ID for the server. The
+Display Device rows will show the display device name and device type along
+with server/client check boxes, refresh rate, "Timing" LED and "Stereo" LED.
Once the G-Sync and display devices have been added to the frame lock/genlock
group, a Server display device will need to be selected. This is done by
-selecting the "Server" checkbox of the desired display device.
+selecting the "Server" check box of the desired display device.
If you are using a G-Sync card, you must also click the "Use House Sync if
-Present" checkbox. To enable synchronization of this G-Sync device to the
+Present" check box. To enable synchronization of this G-Sync device to the
external source, click the "Enable Frame Lock" button. The display device(s)
may take a moment to stabilize. If it does not stabilize, you may have
selected a synchronization signal that the system cannot support. You should
@@ -3166,8 +3170,8 @@ In the frame lock panel of the nvidia-settings interface, add the X server
that contains the display devices that you would like to include in the frame
lock group by clicking the "Add Devices..." button (see the description for
adding display devices in the previous section on GENLOCK SETUP. Like the
-genlock status indicators, the "Port0" and "Port1" columns in the table on the
-frame lock panel contain indicators whose states mirror the states of the
+genlock status indicators, the "Port 0" and "Port 1" columns in the table on
+the frame lock panel contain indicators whose states mirror the states of the
physical LEDs on the RJ45 ports. Thus, you may monitor the status of these
ports from the software interface.
@@ -3200,6 +3204,13 @@ mode timings.
Modifications to frame lock settings (e.g. "Add/Remove Devices...") must be
done while synchronization is disabled.
+nvidia-settings will not automatically enable Frame Lock via the
+nvidia-settings.rc file. To enable Frame Lock when starting the X server, a
+line such as the following can be added to the '~/.xinitrc' file:
+
+ # nvidia-settings -a [gpu:0]/FrameLockEnable=1
+
+
21G. FRAME LOCK + GENLOCK
@@ -3210,10 +3221,10 @@ included in the frame lock group, attach an external sync source. In order to
sync the frame lock group to this single external source, you must select a
display device driven by the GPU connected to the G-Sync card (through the
primary connector) that is connected to the external source to be the signal
-server for the group. This is done by selecting the checkbox labeled "Server"
+server for the group. This is done by selecting the check box labeled "Server"
of the tree on the frame lock panel in nvidia-settings. If you are using a
G-Sync based frame lock group, you must also select the "Use House Sync if
-Present" checkbox. Enable synchronization by clicking the "Enable Frame Lock"
+Present" check box. Enable synchronization by clicking the "Enable Frame Lock"
button. As with other frame lock/genlock controls, you must select the signal
server while synchronization is disabled.
@@ -3303,7 +3314,7 @@ For a full list of the nvidia-settings Frame Lock attributes, please see the
nvidia-settings -a [gpu:0]/FrameLockSlaves=0x00000000
nvidia-settings -q [gpu:0]/FrameLockSlaves
- # - Enable framelocking
+ # - Enable frame lock
nvidia-settings -a [gpu:0]/FrameLockEnable=1
# - Toggle the test signal
@@ -3346,10 +3357,10 @@ For a full list of the nvidia-settings Frame Lock attributes, please see the
nvidia-settings -a myslave1:0[gpu:0]/FrameLockSlaves=0x00000001
nvidia-settings -a myslave1:0[gpu:1]/FrameLockSlaves=0x00000001
- # - Enable framelocking on server
+ # - Enable frame lock on server
nvidia-settings -a myserver:0[gpu:0]/FrameLockEnable=1
- # - Enable framelocking on slave devices
+ # - Enable frame lock on slave devices
nvidia-settings -a myserver:0[gpu:1]/FrameLockEnable=1
nvidia-settings -a myslave1:0[gpu:0]/FrameLockEnable=1
nvidia-settings -a myslave1:0[gpu:1]/FrameLockEnable=1
@@ -3387,7 +3398,7 @@ For a full list of the nvidia-settings Frame Lock attributes, please see the
nvidia-settings -a [gpu:0]/FrameLockMaster=0x00000001
# - Disable the house sync signal on the master device
- nvidia-settings -a [framelock:0]/FrameLockUseHouseSync=1
+ nvidia-settings -a [framelock:0]/FrameLockUseHouseSync=0
# - Set the slave display devices
nvidia-settings -a [gpu:0]/FrameLockSlaves=0x00000002 # CRT-1
@@ -3395,10 +3406,10 @@ For a full list of the nvidia-settings Frame Lock attributes, please see the
nvidia-settings -a [gpu:2]/FrameLockSlaves=0x00000003 # CRT-0 and CRT-1
nvidia-settings -a [gpu:3]/FrameLockSlaves=0x00000003 # CRT-0 and CRT-1
- # - Enable framelocking on master GPU
+ # - Enable frame lock on master GPU
nvidia-settings -a [gpu:0]/FrameLockEnable=1
- # - Enable framelocking on slave devices
+ # - Enable frame lock on slave devices
nvidia-settings -a [gpu:1]/FrameLockEnable=1
nvidia-settings -a [gpu:2]/FrameLockEnable=1
nvidia-settings -a [gpu:3]/FrameLockEnable=1
@@ -3441,6 +3452,13 @@ The following restrictions must be met for enabling frame lock:
5. In configurations with more than one display device per GPU, we recommend
enabling frame lock on all display devices on those GPUs.
+ 6. Virtual terminal switching or mode switching will disable frame lock on
+ the display device. Note that the glXQueryFrameCountNV entry point
+ (provided by the GLX_NV_swap_group extension) will only provide
+ incrementing numbers while frame lock is enabled. Therefore, applications
+ that use glXQueryFrameCountNV to control animation will appear to stop
+ animating while frame lock is disabled.
+
21K. SUPPORTED FRAME LOCK CONFIGURATIONS:
@@ -3480,7 +3498,159 @@ The following configurations are currently supported:
______________________________________________________________________________
-Chapter 22. Configuring Depth 30 Displays
+Chapter 22. Configuring SDI Video Output
+______________________________________________________________________________
+
+Broadcast, film, and video post production and digital cinema applications can
+require Serial Digital (SDI) or High Definition Serial Digital (HD-SDI) video
+output. SDI/HD-SDI is a digital video interface used for the transmission of
+uncompressed video signals as well as packetized data. SDI is standardized in
+ITU-R BT.656 and SMPTE 259M while HD-SDI is standardized in SMPTE 292M. SMPTE
+372M extends HD-SDI to define a dual-link configuration that uses a pair of
+SMPTE 292M links to provide a 2.970 Gbit/second interface. SMPTE 424M extends
+the interface further to define a single 2.97 Gbit/second serial data link.
+
+SDI and HD-SDI video output is provided through the use of the NVIDIA driver
+along with an NVIDIA SDI output daughter board. In addition to single- and
+dual-link SDI/HD-SDI digital video output, frame lock and genlock
+synchronization are provided in order to synchronize the outgoing video with
+an external source signal (see Chapter 21 for details on these technologies).
+This section describes the setup and use of the SDI video output.
+
+
+22A. HARDWARE SETUP
+
+Before you begin, you should check that your hardware has been properly
+installed. If you are using the Quadro FX 4000 SDI, the SDI/HD-SDI hardware is
+located on the dual-slot card itself, and after installing the card, no
+additional setup is necessary. If you are using the Quadro FX 4500/5500 SDI or
+Quadro FX 4600/5600 SDI II, the following additional setup steps are required
+in order to connect the SDI daughter card to the graphics card. These steps
+must be performed when the system is off.
+
+ 1. Insert the NVIDIA SDI Output card into any available expansion slot
+ within six inches of the NVIDIA Quadro graphics card. Secure the card's
+ bracket using the method provided by the chassis manufacturer (usually a
+ thumb screw or an integrated latch).
+
+ 2. Connect one end of the 14-pin ribbon cable to the G-Sync connector on the
+ NVIDIA Quadro graphics card, and the other end to the NVIDIA SDI output
+ card.
+
+ 3. On Quadro FX 4500/5500 SDI, connect the SMA-to-BNC cables by screwing the
+ male SMA connectors onto the female SMA connectors on the NVIDIA SDI
+ output card. On Quadro FX 4600/5600 SDI II, this step is not necessary:
+ the SDI II has BNC connectors rather than SMA connectors.
+
+ 4. Connect the DVI-loopback connector by connecting one end of the DVI cable
+ to the DVI connector on the NVIDIA SDI output card and the other end to
+ the "north" DVI connector on the NVIDIA Quadro graphics card. The "north"
+ DVI connector on the NVIDIA Quadro graphics card is the DVI connector
+ that is the farthest from the graphics card PCI-E connection to the
+ motherboard. The SDI output card will NOT function properly if this cable
+ is connected to the "south" DVI connector.
+
+Once the above installation is complete, you may boot the system and configure
+the SDI video output using nvidia-settings. These instructions assume that you
+have already successfully installed the NVIDIA FreeBSD Accelerated Graphics
+Driver. If you have not done so, see Chapter 2 for details.
+
+
+22B. CLONE MODE CONFIGURATION WITH 'nvidia-settings'
+
+SDI video output is configured through the nvidia-settings utility. See the
+'nvidia-settings(1)' man page, and the nvidia-settings online help (click the
+"Help" button in the lower right corner of the interface for per-page help
+information).
+
+After the system has booted and X Windows has been started, run
+nvidia-settings as
+
+ % nvidia-settings
+
+When the NVIDIA X Server Settings page appears, follow the steps below to
+configure the SDI video output.
+
+ 1. Click on the "Graphics to Video Out" tree item on the side menu. This
+ will open the "Graphics to Video Out" page.
+
+ 2. Go to the "Synchronization Options" subpage and choose a synchronization
+ method. From the "Sync Options" drop down click the list arrow to the
+ right and then click the method that you want to use to synchronize the
+ SDI output.
+
+ Sync Method Description
+ ------------- --------------------------------------------------
+ Free Running The SDI output will be synchronized with the
+ timing chosen from the SDI signal format list.
+ Genlock SDI output will be synchronized with the external
+ sync signal.
+ Frame Lock The SDI output will be synchronized with the
+ timing chosen from the SDI signal format list. In
+ this case, the list of available timings is
+ limited to those timings that can be synchronized
+ with the detected external sync signal.
+
+
+ Note that on Quadro FX 4600/5600 SDI II, you must first choose the
+ correct Sync Format before an incoming sync signal will be detected.
+
+ 3. From the top Graphics to Video Out page, choose the output video format
+ that will control the video resolution, field rate, and SMPTE signaling
+ standard for the outgoing video stream. From the "Clone Mode" drop down
+ box, click the "Video Format" arrow and then click the signal format that
+ you would like to use. Note that only those resolutions that are smaller
+ or equal to the desktop resolution will be available. Also, this list is
+ pruned according to the sync option selected. If genlock synchronization
+ is chosen, the output video format is automatically set to match the
+ incoming video sync format and this drop down list will be grayed out
+ preventing you from choosing another format. If frame lock
+ synchronization has been selected, then only those modes that are
+ compatible with the detected sync signal will be available.
+
+ 4. Choose the output data format from the "Output Data Format" drop down
+ list.
+
+ 5. Click the "Enable SDI Output" button to enable video output using the
+ settings above. The status of the SDI output can be verified by examining
+ the LED indicators in the "Graphics to SDI property" page banner.
+
+ 6. To subsequently stop SDI output, simply click on the button that now says
+ "Disable SDI Output".
+
+ 7. In order to change any of the SDI output parameters such as the Output
+ Video Format, Output Data Format as well as the Synchronization Delay, it
+ is necessary to first disable the SDI output.
+
+
+
+22C. CONFIGURATION FOR TWINVIEW OR AS A SEPARATE X SCREEN
+
+SDI video output can be configured through the nvidia-settings X Server
+Display Configuration page, for use in TwinView or as a separate X screen. The
+SDI video output can be configured as if it were a digital flat panel,
+choosing the resolution, refresh rate, and position within the desktop.
+
+Similarly, the SDI video output can be configured for use in TwinView or as a
+separate X screen through the X configuration file. The supported SDI video
+output modes can be requested by name anywhere a mode name can be used in the
+X configuration file (either in the "Modes" line, or in the "MetaModes"
+option). E.g.,
+
+
+ Option "MetaModes" "CRT-0:nvidia-auto-select, DFP-1:1280x720_60.00_smpte296"
+
+
+The mode names are reported in the nvidia-settings Display Configuration page
+when in advanced mode.
+
+Note that SDI "Clone Mode" as configured through the Graphics to Video Out
+page in nvidia-settings is mutually exclusive with using the SDI video output
+in TwinView or as a separate X screen.
+
+______________________________________________________________________________
+
+Chapter 23. Configuring Depth 30 Displays
______________________________________________________________________________
This driver release supports X screens with screen depths of 30 bits per pixel
@@ -3492,15 +3662,8 @@ When displaying a depth 30 image on a digital flat panel, the color data will
be dithered to 8 or 6 bits per pixel, depending on the capabilities of the
flat panel. VGA outputs can display the full 10 bit range of colors.
-To work reliably, depth 30 requires X.org 7.3 or higher.
-
-NOTE: X servers starting with X.org 7.3 rely on a library called libpixman to
-perform software rendering. As of this writing, the officially released
-version of this library will crash when it encouters depth 30 drawables. To be
-able to run X at this depth, you will need to download, compile, and install
-the "wide-composite" development branch from the freedesktop.org pixman git
-repository. Please see the freedesktop.org and git documentation for
-instructions on how to download and compile development branches.
+To work reliably, depth 30 requires X.Org 7.3 or higher and pixman 0.11.6 or
+higher.
In addition to the above software requirements, many X applications and
toolkits do not understand depth 30 visuals as of this writing. Some programs
@@ -3512,12 +3675,12 @@ start.
______________________________________________________________________________
-Chapter 23. NVIDIA Contact Info and Additional Resources
+Chapter 24. NVIDIA Contact Info and Additional Resources
______________________________________________________________________________
If you believe that you have found a bug or have a problem that you need
-assitance with and cannot find the solution elsewhere, or if you have found
-innaccuracies in this document, send email to freebsd-gfx-bugs@nvidia.com
+assistance with and cannot find the solution elsewhere, or if you have found
+inaccuracies in this document, send email to freebsd-gfx-bugs@nvidia.com
@@ -3538,7 +3701,7 @@ OpenGL
______________________________________________________________________________
-Chapter 24. Credits
+Chapter 25. Credits
______________________________________________________________________________
The port of the NVIDIA driver to FreeBSD is due in no small part to the many
@@ -3547,7 +3710,7 @@ Dodd .
______________________________________________________________________________
-Chapter 25. Acknowledgements
+Chapter 26. Acknowledgements
______________________________________________________________________________
The driver splash screen is decoded using 'libpng':
@@ -3557,8 +3720,8 @@ This NVIDIA FreeBSD driver contains code from the int10 module of the X.Org
project.
The BSD implementations of the following compiler intrinsics are used for
-better portability: __udivdi3, __umoddi3, __moddi3, __ucmpdi2, __cmpdi2,
-__fixunssfdi, and __fixunsdfdi.
+better portability: __udivdi3, __umoddi3, __divdi3, __moddi3, __ucmpdi2,
+__cmpdi2, __fixunssfdi, __fixunsdfdi, __ashldi3 and __lshrdi3.
______________________________________________________________________________
@@ -3568,7 +3731,7 @@ ______________________________________________________________________________
For the most complete and accurate listing of supported GPUs, please see the
Supported Products List, available from the NVIDIA FreeBSD x86 Graphics Driver
download page. Please go to http://www.nvidia.com/object/unix.html, follow the
-Archive link under the FreeBSD x86 heading, follow the link for the 169.07
+Archive link under the FreeBSD x86 heading, follow the link for the 180.29
driver, and then go to the Supported Products List.
@@ -3599,7 +3762,7 @@ E1. NVIDIA GEFORCE GPUS
GeForce 6800 XT 0x00C3
GeForce Go 6800 0x00C8
GeForce Go 6800 Ultra 0x00C9
- GeForce 6800 0x00F0
+ Unknown GPU 0x00F0
GeForce 6600 GT 0x00F1
GeForce 6600 0x00F2
GeForce 6200 0x00F3
@@ -3607,9 +3770,6 @@ E1. NVIDIA GEFORCE GPUS
GeForce 7800 GS 0x00F5
GeForce 6800 GS 0x00F6
GeForce 6800 Ultra 0x00F9
- GeForce PCX 5750 0x00FA
- GeForce PCX 5900 0x00FB
- GeForce PCX 5300 0x00FC
GeForce 6600 GT 0x0140
GeForce 6600 0x0141
GeForce 6600 LE 0x0142
@@ -3665,43 +3825,16 @@ E1. NVIDIA GEFORCE GPUS
GeForce Go 7900 GTX 0x0299
GeForce 7600 GT 0x02E0
GeForce 7600 GS 0x02E1
+ GeForce 7300 GT 0x02E2
GeForce 7900 GS 0x02E3
GeForce 7950 GT 0x02E4
- GeForce FX 5800 Ultra 0x0301
- GeForce FX 5800 0x0302
- GeForce FX 5600 Ultra 0x0311
- GeForce FX 5600 0x0312
- GeForce FX 5600XT 0x0314
- GeForce FX Go5600 0x031A
- GeForce FX Go5650 0x031B
- GeForce FX 5200 0x0320
- GeForce FX 5200 Ultra 0x0321
- GeForce FX 5200 0x0322
- GeForce FX 5200LE 0x0323
- GeForce FX Go5200 0x0324
- GeForce FX Go5250 0x0325
- GeForce FX 5500 0x0326
- GeForce FX 5100 0x0327
- GeForce FX Go5200 32M/64M 0x0328
- GeForce FX Go53xx 0x032C
- GeForce FX Go5100 0x032D
- GeForce FX 5900 Ultra 0x0330
- GeForce FX 5900 0x0331
- GeForce FX 5900XT 0x0332
- GeForce FX 5950 Ultra 0x0333
- GeForce FX 5900ZT 0x0334
- GeForce FX 5700 Ultra 0x0341
- GeForce FX 5700 0x0342
- GeForce FX 5700LE 0x0343
- GeForce FX 5700VE 0x0344
- GeForce FX Go5700 0x0347
- GeForce FX Go5700 0x0348
GeForce 7650 GS 0x0390
GeForce 7600 GT 0x0391
GeForce 7600 GS 0x0392
GeForce 7300 GT 0x0393
GeForce 7600 LE 0x0394
GeForce 7300 GT 0x0395
+ GeForce Go 7700 0x0397
GeForce Go 7600 0x0398
GeForce Go 7600 GT 0x0399
GeForce 6150SE nForce 430 0x03D0
@@ -3709,27 +3842,87 @@ E1. NVIDIA GEFORCE GPUS
GeForce 6100 nForce 400 0x03D2
GeForce 6100 nForce 420 0x03D5
GeForce 8600 GTS 0x0400
+ GeForce 8600 GT 0x0401
GeForce 8600 GT 0x0402
+ GeForce 8600GS 0x0403
GeForce 8400 GS 0x0404
+ GeForce 9500M GS 0x0405
GeForce 8600M GT 0x0407
+ GeForce 9650M GS 0x0408
GeForce 8700M GT 0x0409
GeForce 8400 SE 0x0420
GeForce 8500 GT 0x0421
GeForce 8400 GS 0x0422
GeForce 8300 GS 0x0423
+ GeForce 8400 GS 0x0424
GeForce 8600M GS 0x0425
GeForce 8400M GT 0x0426
GeForce 8400M GS 0x0427
GeForce 8400M G 0x0428
+ GeForce 9400 GT 0x042C
+ GeForce 9300M G 0x042E
GeForce 7150M / nForce 630M 0x0531
GeForce 7000M / nForce 610M 0x0533
GeForce 7050 PV / NVIDIA nForce 630a 0x053A
GeForce 7050 PV / NVIDIA nForce 630a 0x053B
GeForce 7025 / NVIDIA nForce 630a 0x053E
+ GeForce GTX 295 0x05E0
+ GeForce GTX 280 0x05E1
+ GeForce GTX 260 0x05E2
+ GeForce GTX 285 0x05E3
GeForce 8800 GTS 512 0x0600
+ GeForce 9800 GT 0x0601
+ GeForce 8800 GT 0x0602
+ GeForce 9800 GX2 0x0604
+ GeForce 9800 GT 0x0605
+ GeForce 8800 GS 0x0606
+ GeForce 9800M GTX 0x0608
GeForce 8800M GTS 0x0609
+ GeForce 9800M GT 0x060B
GeForce 8800M GTX 0x060C
+ GeForce 8800 GS 0x060D
+ GeForce 9600 GSO 0x0610
GeForce 8800 GT 0x0611
+ GeForce 9800 GTX/9800 GTX+ 0x0612
+ GeForce 9800 GTX+ 0x0613
+ GeForce 9800 GT 0x0614
+ GeForce 9800M GTX 0x0617
+ GeForce 9600 GT 0x0622
+ GeForce 9600 GS 0x0623
+ GeForce 9800M GTS 0x0628
+ GeForce 9700M GTS 0x062A
+ GeForce 9800M GS 0x062B
+ GeForce 9800M GTS 0x062C
+ GeForce 9500 GT 0x0640
+ GeForce 9500 GT 0x0643
+ GeForce 9600M GT 0x0647
+ GeForce 9600M GS 0x0648
+ GeForce 9600M GT 0x0649
+ GeForce 9700M GT 0x064A
+ GeForce 9500M G 0x064B
+ GeForce 9650M GT 0x064C
+ GeForce 9650 S 0x0656
+ GeForce 9300 GE 0x06E0
+ GeForce 9300 GS 0x06E1
+ GeForce 8400 GS 0x06E4
+ GeForce 9300M GS 0x06E5
+ GeForce 9200M GS 0x06E8
+ GeForce 9300M GS 0x06E9
+ GeForce 7150 / NVIDIA nForce 630i 0x07E0
+ GeForce 7100 / NVIDIA nForce 630i 0x07E1
+ GeForce 7050 / NVIDIA nForce 610i 0x07E3
+ GeForce 9100M G 0x0844
+ GeForce 8200M G 0x0845
+ GeForce 9100 0x0847
+ GeForce 8300 0x0848
+ GeForce 8200 0x0849
+ nForce 730a 0x084A
+ GeForce 8200 0x084B
+ nForce 780a SLI 0x084C
+ nForce 750a SLI 0x084D
+ GeForce 8100 / nForce 720a 0x084F
+ GeForce 9400M G 0x0862
+ GeForce 9400M 0x0863
@@ -3744,9 +3937,6 @@ E2. NVIDIA QUADRO GPUS
Quadro FX 3450/4000 SDI 0x00CD
Quadro FX 1400 0x00CE
Quadro FX 4400/Quadro FX 3400 0x00F8
- Quadro FX 330 0x00FC
- Quadro NVS 280 PCI-E/Quadro FX 330 0x00FD
- Quadro FX 1300 0x00FE
Quadro NVS 440 0x014A
Quadro FX 540M 0x014C
Quadro FX 550 0x014D
@@ -3766,15 +3956,6 @@ E2. NVIDIA QUADRO GPUS
Quadro FX 3500 0x029D
Quadro FX 1500 0x029E
Quadro FX 4500 X2 0x029F
- Quadro FX 2000 0x0308
- Quadro FX 1000 0x0309
- Quadro FX Go700 0x031C
- Quadro NVS 55/280 PCI 0x032A
- Quadro FX 500/FX 600 0x032B
- Quadro FX 3000 0x0338
- Quadro FX 700 0x033F
- Quadro FX Go1000 0x034C
- Quadro FX 1100 0x034E
Quadro FX 560 0x039E
Quadro FX 370 0x040A
Quadro NVS 320M 0x040B
@@ -3787,13 +3968,77 @@ E2. NVIDIA QUADRO GPUS
Quadro NVS 135M 0x042B
Quadro FX 360M 0x042D
Quadro NVS 290 0x042F
+ Quadro CX 0x05F9
+ Quadro FX 5800 0x05FD
+ Quadro FX 4800 0x05FE
Quadro FX 3700 0x061A
+ Quadro FX 3600M 0x061C
+ Quadro FX 2700M 0x063A
+ Quadro FX 770M 0x065C
+ Quadro NVS 150M 0x06EA
+ Quadro NVS 160M 0x06EB
+ Quadro NVS 420 0x06F8
+ Quadro FX 370 LP 0x06F9
+ Quadro NVS 450 0x06FA
+ Quadro NVS 295 0x06FD
+ Quadro FX 470 0x087A
+ Quadro FX 470M 0x087F
Below are the legacy GPUs that are no longer supported in the unified driver.
These GPUs will continue to be maintained through the special legacy NVIDIA
GPU driver releases.
+The 173.14.xx driver supports the following set of GPUs:
+
+
+ NVIDIA GPU product Device PCI ID
+ ---------------------------------- ----------------------------------
+ GeForce PCX 5750 0x00FA
+ GeForce PCX 5900 0x00FB
+ Quadro FX 330/GeForce PCX 5300 0x00FC
+ Quadro FX 330/Quadro NVS 280 PCI-E 0x00FD
+ Quadro FX 1300 0x00FE
+ GeForce FX 5800 Ultra 0x0301
+ GeForce FX 5800 0x0302
+ Quadro FX 2000 0x0308
+ Quadro FX 1000 0x0309
+ GeForce FX 5600 Ultra 0x0311
+ GeForce FX 5600 0x0312
+ GeForce FX 5600XT 0x0314
+ GeForce FX Go5600 0x031A
+ GeForce FX Go5650 0x031B
+ Quadro FX Go700 0x031C
+ GeForce FX 5200 0x0320
+ GeForce FX 5200 Ultra 0x0321
+ GeForce FX 5200 0x0322
+ GeForce FX 5200LE 0x0323
+ GeForce FX Go5200 0x0324
+ GeForce FX Go5250 0x0325
+ GeForce FX 5500 0x0326
+ GeForce FX 5100 0x0327
+ GeForce FX Go5200 32M/64M 0x0328
+ Quadro NVS 55/280 PCI 0x032A
+ Quadro FX 500/FX 600 0x032B
+ GeForce FX Go53xx 0x032C
+ GeForce FX Go5100 0x032D
+ GeForce FX 5900 Ultra 0x0330
+ GeForce FX 5900 0x0331
+ GeForce FX 5900XT 0x0332
+ GeForce FX 5950 Ultra 0x0333
+ GeForce FX 5900ZT 0x0334
+ Quadro FX 3000 0x0338
+ Quadro FX 700 0x033F
+ GeForce FX 5700 Ultra 0x0341
+ GeForce FX 5700 0x0342
+ GeForce FX 5700LE 0x0343
+ GeForce FX 5700VE 0x0344
+ GeForce FX Go5700 0x0347
+ GeForce FX Go5700 0x0348
+ Quadro FX Go1000 0x034C
+ Quadro FX 1100 0x034E
+
+
The 96.43.xx driver supports the following set of GPUs:
@@ -3941,12 +4186,11 @@ Option "Overlay" "boolean"
to advertise the SERVER_OVERLAY_VISUALS root window property and GLX will
report single- and double-buffered, Z-buffered 16-bit overlay visuals. The
transparency key is pixel 0x0000 (hex). There is no gamma correction
- support in the overlay plane. This feature requires XFree86 version 4.1.0
- or newer, or the X.Org X server. When TwinView is enabled, or the X screen
- is either wider than 2046 pixels or taller than 2047, the overlay may be
- emulated with a substantial performance penalty. RGB workstation overlays
- are not supported when the Composite extension is enabled. Dynamic
- TwinView is disabled when Overlays are enabled. Default: off.
+ support in the overlay plane. This feature requires XFree86 version 4.2.0
+ or newer, or the X.Org X server. When the X screen is either wider than
+ 2046 pixels or taller than 2047, the overlay may be emulated with a
+ substantial performance penalty. RGB workstation overlays are not
+ supported when the Composite extension is enabled.
UBB must be enabled when overlays are enabled (this is the default
behavior).
@@ -3991,9 +4235,9 @@ Option "EmulatedOverlaysThreshold" "boolean"
Enables the use of a threshold within the X server to perform the updates
to the emulated overlay or CI overlay. The emulated or CI overlay updates
- can be defered but this threshold will limit the number of defered OpenGL
- updates allowed before the overlay is updated. This option can be used to
- trade off performance and animation quality. Default: on.
+ can be deferred but this threshold will limit the number of deferred
+ OpenGL updates allowed before the overlay is updated. This option can be
+ used to trade off performance and animation quality. Default: on.
Option "EmulatedOverlaysThresholdValue" "integer"
@@ -4032,6 +4276,15 @@ Option "AllowDDCCI" "boolean"
in 'NVCtrl.h' and functions in 'NVCtrlLib.h' in the 'nvidia-settings'
source code. Default: off (DDC/CI is disabled).
+ Note that support for DDC/CI within the NVIDIA X driver's NV-CONTROL
+ extension is deprecated, and will be removed in a future release. Other
+ mechanisms for DDC/CI, such as the kernel i2c subsystem on Linux, are
+ preferred over NV-CONTROL's DDC/CI support.
+
+ If you would prefer that the NVIDIA X driver's NV-CONTROL X extension not
+ remove DDC/CI support, please make your concerns known my emailing
+ linux-bugs@nvidia.com.
+
Option "SWCursor" "boolean"
Enable or disable software rendering of the X cursor. Default: off.
@@ -4069,7 +4322,7 @@ Option "ConnectedMonitor" "string"
Allows you to override what the NVIDIA kernel module detects is connected
to your graphics card. This may be useful, for example, if you use a KVM
(keyboard, video, mouse) switch and you are switched away when X is
- started. In such a situation, the NVIDIA kernel module cannot detect what
+ started. In such a situation, the NVIDIA kernel module cannot detect which
display devices are connected, and the NVIDIA X driver assumes you have a
single CRT.
@@ -4089,28 +4342,48 @@ Option "ConnectedMonitor" "string"
Option "UseDisplayDevice" "string"
- When assigning display devices to X screens, the NVIDIA X driver by
- default assigns display devices in the order they are found (looking first
- at CRTs, then at DFPs, and finally at TVs). This option can be used to
- override this assignment. For example, if both a CRT and a DFP are
- connected, you could specify:
-
- Option "UseDisplayDevice" "DFP"
-
- to make the X screen use the DFP, even though it would have used a CRT by
- default.
+ The "UseDisplayDevice" X configuration option is a list of one or more
+ display devices, which limits the display devices the NVIDIA X driver will
+ consider for an X screen. The display device names used in the option may
+ be either specific (with a numeric suffix; e.g., "DFP-1") or general
+ (without a numeric suffix; e.g., "DFP").
+
+ When assigning display devices to X screens, the NVIDIA X driver walks
+ through the list of all (not already assigned) display devices detected as
+ connected. When the "UseDisplayDevice" X configuration option is
+ specified, the X driver will only consider connected display devices which
+ are also included in the "UseDisplayDevice" list. This can be thought of
+ as a "mask" against the connected (and not already assigned) display
+ devices.
Note the subtle difference between this option and the "ConnectedMonitor"
- option: the "ConnectedMonitor" option overrides what display devices are
+ option: the "ConnectedMonitor" option overrides which display devices are
actually detected, while the "UseDisplayDevice" option controls which of
the detected display devices will be used on this X screen.
+ Of the list of display devices considered for this X screen (either all
+ connected display devices, or a subset limited by the "UseDisplayDevice"
+ option), the NVIDIA X driver first looks at CRTs, then at DFPs, and
+ finally at TVs. For example, if both a CRT and a DFP are connected, by
+ default the X driver would assign the CRT to this X screen. However, by
+ specifying:
+
+ Option "UseDisplayDevice" "DFP"
+
+ the X screen would use the DFP instead. Or, if CRT-0, DFP-0, and DFP-1 are
+ connected and TwinView is enabled, the X driver would assign CRT-0 and
+ DFP-0 to the X screen. However, by specifying:
+
+ Option "UseDisplayDevice" "CRT-0, DFP-1"
+
+ the X screen would use CRT-0 and DFP-1 instead.
+
Additionally, the special value "none" can be specified for the
"UseDisplayDevice" option. When this value is given, any programming of
the display hardware is disabled. The NVIDIA driver will not perform any
- mode validation or modesetting for this X screen. This is intended for use
- in conjunction with CUDA or in remote graphics solutions such as VNC or
- Hewlett Packard's Remote Graphics Software (RGS). This functionality is
+ mode validation or mode setting for this X screen. This is intended for
+ use in conjunction with CUDA or in remote graphics solutions such as VNC
+ or Hewlett Packard's Remote Graphics Software (RGS). This functionality is
only available on Quadro and Tesla GPUs.
Note the following restrictions for setting the "UseDisplayDevice" to
@@ -4118,12 +4391,6 @@ Option "UseDisplayDevice" "string"
o OpenGL SyncToVBlank will have no effect.
- o You must also explicitly specify the Virtual screen size for your X
- screen (see the xorg.conf(5x) or XF86Config(5x) manpages for the
- 'Virtual' option, or the nvidia-xconfig(1) manpage for the
- '--virtual' commandline option); the Virtual screen size must be at
- least 304x200, and the width must be a multiple of 8.
-
o None of Stereo, Overlay, CIOverlay, or SLI are allowed when
"UseDisplayDevice" is set to "none".
@@ -4215,6 +4482,10 @@ Option "NoTwinViewXineramaInfo" "boolean"
information, so this option is provided to disable this behavior. Default:
false (TwinView Xinerama information is provided).
+ Due to bugs in some older software, TwinView Xinerama information is not
+ provided by default on X.Org 7.1 and older when the X server is started
+ with only one display device connected.
+
Option "TwinViewXineramaInfoOrder" "string"
When the NVIDIA X driver provides TwinViewXineramaInfo (see the
@@ -4258,7 +4529,7 @@ Option "TwinViewXineramaInfoOverride" "string"
screen and any order specified in TwinViewXineramaInfoOrder.
The option string is interpreted as a comma-separated list of regions,
- specified as '[width]x[height]+[xoffset]+[yoffset]'. The regions' sizes
+ specified as '[width]x[height]+[x-offset]+[y-offset]'. The regions' sizes
and offsets are not validated against the X screen size, but are directly
reported to any Xinerama client.
@@ -4306,35 +4577,33 @@ Option "Stereo" "integer"
3 Onboard stereo support. This is usually only found
on professional cards. The glasses connect via a
DIN connector on the back of the graphics card.
- 4 TwinView clone mode stereo (aka "passive" stereo).
- On graphics cards that support TwinView, the left
- eye is displayed on the first display, and the
- right eye is displayed on the second display. This
- is normally used in conjunction with special
- projectors to produce 2 polarized images which are
- then viewed with polarized glasses. To use this
- stereo mode, you must also configure TwinView in
- clone mode with the same resolution, panning
- offset, and panning domains on each display.
+ 4 TwinView clone mode stereo (also known as
+ "passive" stereo). On graphics cards that support
+ TwinView, the left eye is displayed on the first
+ display, and the right eye is displayed on the
+ second display. This is normally used in
+ conjunction with special projectors to produce 2
+ polarized images which are then viewed with
+ polarized glasses. To use this stereo mode, you
+ must also configure TwinView in clone mode with
+ the same resolution, panning offset, and panning
+ domains on each display.
5 Vertical interlaced stereo mode, for use with
SeeReal Stereo Digital Flat Panels.
6 Color interleaved stereo mode, for use with
Sharp3D Stereo Digital Flat Panels.
- Stereo is only available on Quadro cards. Stereo options 1, 2, and 3 (aka
- "active" stereo) may be used with TwinView if all modes within each
- MetaMode have identical timing values. See Chapter 16 for suggestions on
- making sure the modes within your MetaModes are identical. The identical
- ModeLine requirement is not necessary for Stereo option 4 ("passive"
- stereo). Currently, stereo operation may be "quirky" on the original
- Quadro (NV10) GPU and left-right flipping may be erratic. We are trying to
- resolve this issue for a future release. Default: 0 (Stereo is not
- enabled).
+ Stereo is only available on Quadro cards. Stereo options 1, 2, and 3 (also
+ known as "active" stereo) may be used with TwinView if all modes within
+ each MetaMode have identical timing values. See Chapter 16 for suggestions
+ on making sure the modes within your MetaModes are identical. The
+ identical ModeLine requirement is not necessary for Stereo option 4
+ ("passive" stereo). Default: 0 (Stereo is not enabled).
UBB must be enabled when stereo is enabled (this is the default behavior).
- Stereo options 1, 2, and 3 (aka "active" stereo) are not supported on
- digital flat panels.
+ Stereo options 1, 2, and 3 ("active" stereo) are not supported on digital
+ flat panels.
Multi-GPU cards (such as the Quadro FX 4500 X2) provide a single connector
for onboard stereo support (option 3), which is tied to the bottommost
@@ -4408,7 +4677,7 @@ Option "NoBandWidthTest" "boolean"
Option "IgnoreDisplayDevices" "string"
This option tells the NVIDIA kernel module to completely ignore the
- indicated classes of display devices when checking what display devices
+ indicated classes of display devices when checking which display devices
are connected. You may specify a comma-separated list containing any of
"CRT", "DFP", and "TV". For example:
@@ -4416,8 +4685,8 @@ Option "IgnoreDisplayDevices" "string"
will cause the NVIDIA driver to not attempt to detect if any digital flat
panels or TVs are connected. This option is not normally necessary;
- however, some video BIOSes contain incorrect information about what
- display devices may be connected, or what i2c port should be used for
+ however, some video BIOSes contain incorrect information about which
+ display devices may be connected, or which i2c port should be used for
detection. These errors can cause long delays in starting X. If you are
experiencing such delays, you may be able to avoid this by telling the
NVIDIA driver to ignore display devices which you know are not connected.
@@ -4656,8 +4925,10 @@ Option "CustomEDID" "string"
This option forces the X driver to use the EDID specified in a file rather
than the display's EDID. You may specify a semicolon separated list of
display names and filename pairs. The display name is any of "CRT-0",
- "CRT-1", "DFP-0", "DFP-1", "TV-0", "TV-1". The file contains a raw EDID
- (e.g., a file generated by nvidia-settings).
+ "CRT-1", "DFP-0", "DFP-1", "TV-0", "TV-1", or one of the generic names
+ "CRT", "DFP", "TV", which apply the EDID to all devices of the specified
+ type. The file contains a raw EDID (e.g., a file generated by
+ nvidia-settings).
For example:
@@ -4668,6 +4939,10 @@ Option "CustomEDID" "string"
DFP-0. Note that a display device name must always be specified even if
only one EDID is specified.
+ Caution: Specifying an EDID that doesn't exactly match your display may
+ damage your hardware, as it allows the driver to specify timings beyond
+ the capabilities of your display. Use with care.
+
Option "ModeValidation" "string"
This option provides fine-grained control over each stage of the mode
@@ -4771,17 +5046,24 @@ Option "ModeValidation" "string"
"ObeyEdidContradictions" argument instructs the NVIDIA X driver to
invalidate these modes.
- o "NoTotalSizeCheck": allow modes in which the invididual visible or
+ o "NoTotalSizeCheck": allow modes in which the individual visible or
sync pulse timings exceed the total raster size.
o "DoubleScanPriority": on GPUs older than G80, doublescan modes are
sorted before non-doublescan modes of the same resolution for
- purposes of modepool sorting; but on G80 and later GPUs, doublescan
+ purposes of mode pool sorting; but on G80 and later GPUs, doublescan
modes are sorted after non-doublescan modes of the same resolution.
This token inverts that priority (i.e., doublescan modes will be
sorted after on pre-G80 GPUs, and sorted before on G80 and later
GPUs).
+ o "NoDualLinkDVICheck": for mode timings used on dual link DVI DFPs,
+ the driver must perform additional checks to ensure that the correct
+ pixels are sent on the correct link. For some of these checks, the
+ driver will invalidate the mode timings; for other checks, the driver
+ will implicitly modify the mode timings to meet the GPU's dual link
+ DVI requirements. This token disables this dual link DVI checking.
+
Examples:
@@ -4796,6 +5078,13 @@ Option "ModeValidation" "string"
do not use EDID modes and do not perform the maximum pixel clock check on
CRT-0, and do not use VESA modes on DFP-0.
+Option "ModeDebug" "boolean"
+
+ This option causes the X driver to print verbose details about mode
+ validation to the X log file. Note that this option is applied globally:
+ setting this option to TRUE will enable verbose mode validation logging
+ for all NVIDIA X screens in the X server.
+
Option "UseEvents" "boolean"
Enables the use of system events in some cases when the X driver is
@@ -4917,6 +5206,53 @@ Option "OnDemandVBlankInterrupts" "boolean"
Default: off (on-demand VBlank control is disabled).
+Option "PixmapCacheSize" "size"
+
+ This option controls how much video memory is reserved for pixmap
+ allocations. When the option is specified, "size" specifies the number of
+ bytes to use for the pixmap cache. Reserving this memory improves
+ performance when pixmaps are created and destroyed rapidly, but prevents
+ this memory from being used by OpenGL. When this cache is disabled or
+ space in the cache is exhausted, the driver will still allocate pixmaps in
+ video memory but pixmap creation and deletion performance will not be
+ improved.
+
+ NOTE: This option is deprecated in favor of the PixmapCacheRoundSizeKB
+ nvidia-settings attribute and will be removed in a future driver release.
+
+ Example: "Option "PixmapCacheSize" "1048576"" will allocate one megabyte
+ for the pixmap cache.
+
+ Default: off (no memory is reserved specifically for pixmaps).
+
+Option "AllowSHMPixmaps" "boolean"
+
+ This option controls whether applications can use the MIT-SHM X extension
+ to create pixmaps whose contents are shared between the X server and the
+ client. These pixmaps prevent the NVIDIA driver from performing a number
+ of optimizations and degrade performance in many circumstances.
+
+ Disabling this option disables only shared memory pixmaps. Applications
+ can still use the MIT-SHM extension to transfer data to the X server
+ through shared memory using XShmPutImage.
+
+ Default: off (shared memory pixmaps are not allowed).
+
+Option "InitializeWindowBackingPixmaps" "boolean"
+
+ This option controls whether the NVIDIA X Driver initializes newly created
+ redirected windows using the contents of their parent window if the X
+ server doesn't do it. Leaving redirected windows uninitialized may cause
+ new windows to flash with black or random colors when some compositing
+ managers are running.
+
+ This option will have no effect on X servers that already initialize
+ redirected window contents. In most distributions, the X server is patched
+ to skip that initialization. In this case, it is recommended to leave this
+ option on for a better user experience.
+
+ Default: on (redirected windows are initialized).
+
______________________________________________________________________________
@@ -5115,9 +5451,9 @@ Appendix J. XvMC Support
______________________________________________________________________________
This release includes support for the XVideo Motion Compensation (XvMC)
-version 1.0 API on GeForce 5 series, GeForce 6 series and GeForce 7 series
-addin cards, as well as motherboard chipsets with integrated graphics that
-have PureVideo support. There is a static library, "libXvMCNVIDIA.a", and a
+version 1.0 API on GeForce 6 series and GeForce 7 series add-in cards, as well
+as motherboard chipsets with integrated graphics that have PureVideo support
+based on these GPUs. There is a static library, "libXvMCNVIDIA.a", and a
dynamic one, "libXvMCNVIDIA_dynamic.so", which is suitable for dlopening.
XvMC's "IDCT" and "motion-compensation" levels of acceleration, AI44 and IA44
subpictures, and 4:2:0 Surfaces up to 2032x2032 are supported.
@@ -5127,3 +5463,635 @@ some debug output to stderr when set to an appropriate integer value. '0'
disables debug output. '1' enables debug output for failure conditions. '2' or
higher enables output of warning messages.
+______________________________________________________________________________
+
+Appendix K. VDPAU Support
+______________________________________________________________________________
+
+This release includes support for the Video Decode and Presentation API for
+Unix-like systems (VDPAU) on most GeForce 8 series and newer add-in cards, as
+well as motherboard chipsets with integrated graphics that have PureVideo
+support based on these GPUs.
+
+
+K1. IMPLEMENTATION LIMITS
+
+VDPAU is specified as a generic API - the choice of which features to support,
+and performance levels of those features, is left up to individual
+implementations. The details of NVIDIA's implementation are provided below.
+
+
+VDPVIDEOSURFACE
+
+The maximum supported resolution is 4096x4096.
+
+The following surface formats and get-/put-bits combinations are supported:
+
+ o VDP_CHROMA_TYPE_420 (Supported get-/put-bits formats are
+ VDP_YCBCR_FORMAT_NV12, VDP_YCBCR_FORMAT_YV12)
+
+ o VDP_CHROMA_TYPE_422 (Supported get-/put-bits formats are
+ VDP_YCBCR_FORMAT_UYVY, VDP_YCBCR_FORMAT_YUYV)
+
+
+
+VDPBITMAPSURFACE
+
+The maximum supported resolution is 8192x8192.
+
+The following surface formats are supported:
+
+ o VDP_RGBA_FORMAT_B8G8R8A8
+
+ o VDP_RGBA_FORMAT_R8G8B8A8
+
+ o VDP_RGBA_FORMAT_B10G10R10A2
+
+ o VDP_RGBA_FORMAT_R10G10B10A2
+
+ o VDP_RGBA_FORMAT_A8
+
+
+Note that VdpBitmapSurfaceCreate's frequently_accessed parameter directly
+controls whether the bitmap data will be placed into video RAM (VDP_TRUE) or
+system memory (VDP_FALSE). Note that if the bitmap data cannot be placed into
+video RAM when requested due to resource constraints, the implementation will
+automatically fall back to placing the data into system RAM.
+
+
+VDPOUTPUTSURFACE
+
+The maximum supported resolution is 8192x8192.
+
+The following surface formats are supported:
+
+ o VDP_RGBA_FORMAT_B8G8R8A8
+
+ o VDP_RGBA_FORMAT_R10G10B10A2
+
+
+For all surface formats, the following get-/put-bits indexed formats are
+supported:
+
+ o VDP_INDEXED_FORMAT_A4I4
+
+ o VDP_INDEXED_FORMAT_I4A4
+
+ o VDP_INDEXED_FORMAT_A8I8
+
+ o VDP_INDEXED_FORMAT_I8A8
+
+
+For all surface formats, the following get-/put-bits YCbCr formats are
+supported:
+
+ o VDP_YCBCR_FORMAT_Y8U8V8A8
+
+ o VDP_YCBCR_FORMAT_V8U8Y8A8
+
+
+
+VDPDECODER
+
+In all cases, VdpDecoder objects solely support 8-bit 4:2:0 streams, and only
+support writing to VDP_CHROMA_TYPE_420 surfaces.
+
+The exact set of supported VdpDecoderProfile values depends on the hardware
+model in use.
+
+
+G84, G86, G92, G94, G96, GT200
+
+These chips support the following VdpDecoderProfile values:
+
+ o VDP_DECODER_PROFILE_MPEG1, VDP_DECODER_PROFILE_MPEG2_SIMPLE,
+ VDP_DECODER_PROFILE_MPEG2_MAIN:
+
+ o Partial acceleration.
+
+ o Minimum width or height: 3 macroblocks (48 pixels).
+
+ o Maximum width or height: 128 macroblocks (2048 pixels).
+
+ o Maximum macroblocks: 8192
+
+
+ o VDP_DECODER_PROFILE_H264_MAIN, VDP_DECODER_PROFILE_H264_HIGH:
+
+ o Complete acceleration.
+
+ o Minimum width or height: 3 macroblocks (48 pixels).
+
+ o Maximum width or height: 128 macroblocks (2048 pixels).
+
+ o Maximum macroblocks: 8192
+
+
+
+
+G98, MCP77, MCP78, MCP79, MCP7A
+
+These chips support the following VdpDecoderProfile values:
+
+ o VDP_DECODER_PROFILE_MPEG1, VDP_DECODER_PROFILE_MPEG2_SIMPLE,
+ VDP_DECODER_PROFILE_MPEG2_MAIN:
+
+ o Complete acceleration.
+
+ o Minimum width or height: 3 macroblocks (48 pixels).
+
+ o Maximum width or height: 128 macroblocks (2048 pixels).
+
+ o Maximum macroblocks: 8192
+
+
+ o VDP_DECODER_PROFILE_H264_MAIN, VDP_DECODER_PROFILE_H264_HIGH:
+
+ o Complete acceleration.
+
+ o Minimum width or height: 3 macroblocks (48 pixels).
+
+ o Maximum width: 127 macroblocks (2032 pixels).
+
+ o Maximum height: 128 macroblocks (2048 pixels).
+
+ o Maximum macroblocks: 8190
+
+ o Unsupported widths: 49, 54, 59, 64, 113, 118, 123 macroblocks (784,
+ 864, 944, 1024, 1808, 1888 pixels).
+
+
+ o VDP_DECODER_PROFILE_VC1_SIMPLE, VDP_DECODER_PROFILE_VC1_MAIN,
+ VDP_DECODER_PROFILE_VC1_ADVANCED:
+
+ o Complete acceleration.
+
+ o Minimum width or height: 3 macroblocks (48 pixels).
+
+ o Maximum width or height: 128 macroblocks (2048 pixels).
+
+ o Maximum macroblocks: 8190
+
+
+
+
+VDPVIDEOMIXER
+
+The maximum supported resolution is 4096x4096.
+
+The video mixer supports all video and output surface resolutions and formats
+that the implementation supports.
+
+The video mixer supports at most 4 auxiliary layers.
+
+The following features are supported:
+
+ o VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL
+
+ o VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL_SPATIAL
+
+ o VDP_VIDEO_MIXER_FEATURE_INVERSE_TELECINE
+
+ o VDP_VIDEO_MIXER_FEATURE_NOISE_REDUCTION
+
+ o VDP_VIDEO_MIXER_FEATURE_SHARPNESS
+
+ o VDP_VIDEO_MIXER_FEATURE_LUMA_KEY
+
+
+In order for either VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL or
+VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL_SPATIAL to operate correctly, the
+application must supply at least 2 past and 1 future fields to each
+VdpMixerRender call. If those fields are not provided, the VdpMixer will fall
+back to bob deinterlacing.
+
+In order for VDP_VIDEO_MIXER_FEATURE_INVERSE_TELECINE to have any effect, one
+of VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL or
+VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL_SPATIAL must be requested and
+enabled. Inverse telecine has the same requirement on the minimum number of
+past/future fields that must be provided.
+
+
+VDPPRESENTATIONQUEUE
+
+The resolution of VdpTime is approximately 10ns. At some arbitrary point
+during system startup, the initial value of this clock is synchronized to the
+system's real-time clock, as represented by ns since since Jan 1, 1970.
+However, no attempt is made to keep the two time-bases synchronized after this
+point. Divergence can and will occur.
+
+NVIDIA's VdpPresentationQueue supports two mechanisms for displaying surfaces;
+overlay and blit-based. The overlay path will be used wherever possible, with
+the blit path acting as a more general fallback. At present, the selection of
+overlay v.s. blit path is made at the time of presentation queue creation.
+
+The following conditions or system configurations will prevent usage of the
+overlay path:
+
+ o Overlay hardware already in use, e.g. by another VDPAU, GL, or X11
+ application, or by SDI output.
+
+ o SLI or Multi-GPU enabled on the given X screen.
+
+ o Desktop rotation enabled on the given screen.
+
+ o X composite extension enabled on the given screen. Note that simply
+ having the extension enabled is enough to prevent overlay usage; running
+ an actual compositing manager is not required.
+
+ o The environment variable VDPAU_NVIDIA_NO_OVERLAY is set to a string
+ representation of a non-zero integer.
+
+
+At present, the overlay path always syncs to vblank, whereas the blit path
+never syncs to vblank.
+
+
+K2. PERFORMANCE LEVELS
+
+This documentation describes the capabilities of the NVIDA VDPAU
+implementation. Hardware performance may vary significantly between cards. No
+guarantees are made, nor implied, that any particular combination of system
+configuration, GPU configuration, VDPAU feature set, VDPAU API usage,
+application, video stream, etc., will be able to decode streams at any
+particular frame rate.
+
+
+K3. GETTING THE BEST PERFORMANCE FROM THE API
+
+System performance (raw throughput, latency, and jitter tolerance) can be
+affected by a variety of factors. One of these factors is how the client
+application uses VDPAU; i.e. the number of surfaces allocated for buffering,
+order of operations, etc.
+
+NVIDIA GPUs typically contain a number of separate hardware modules that are
+capable of performing different parts of the video decode, post-processing,
+and display operations in parallel. To obtain the best performance, the client
+application must attempt to keep all these modules busy with work at all
+times.
+
+Consider the decoding process. At a bare minimum, the application must
+allocate one video surface for each reference frame that the stream can use (2
+for MPEG or VC-1, a variable stream-dependent number for H.264) plus one
+surface for the picture currently being decoded. However, if this minimum
+number of surfaces is used, performance may be poor. This is because
+back-to-back decodes of non-reference frames will need to be written into the
+same video surface. This will require that decode of the second frame wait
+until decode of the first has completed; a pipeline stall.
+
+Further, if the video surfaces are being read by the video mixer for
+post-processing, and eventual display, this will "lock" the surfaces for even
+longer, since the video mixer needs to read the data from the surface, which
+prevents any subsequent decode operations from writing to the surface. Recall
+that when advanced deinterlacing techniques are used, a history of video
+surfaces must be provided to the video mixer, thus necessitating that even
+more video surfaces be allocated.
+
+For this reason, NVIDIA recommends the following number of video surfaces be
+allocated:
+
+ o (num_ref + 3) for progressive content, and no deinterlacing.
+
+ o (num_ref + 5) for interlaced content using advanced deinterlacing.
+
+
+For applications that perform significant amounts of rendering between bitmaps
+and output surfaces, a similar argument may apply to the number of output
+surfaces allocated.
+
+Finally, consider the display path via the presentation queue. This portion of
+the pipeline requires at least 2 output surfaces; one that is being actively
+displayed by the presentation queue, and one being rendered to for subsequent
+display. As before, using this minimum number of surfaces may not be optimal.
+For some video streams, the hardware may only achieve real-time decoding on
+average, not for each individual frame. Similarly, system level issues such as
+scheduler algorithms and system load may prevent the CPU portion of the driver
+from operating for short periods of time. Both of these potential issues may
+be solved by allocating more output surfaces, and queuing more than one
+outstanding output surface into the presentation queue.
+
+The choice of exactly how many surfaces to allocate is a resource usage v.s.
+performance trade-off; Allocating more than the minimum number of surfaces
+will increase performance, but use proportionally more video RAM. This may
+cause allocations to fail. This could be particularly problematic on systems
+with a small amount of video RAM. A stellar application would automatically
+adjust to this by initially allocating the bare minimum number of surfaces
+(failures being fatal), then attempting to allocate more and more surfaces,
+provided the allocations kept succeeding, up to the suggested limits above.
+
+The video decoder's memory usage is also proportional to the maximum number of
+reference frames specified at creation time. Requesting a larger number of
+reference frames can significantly increase memory usage. Hence it is best for
+applications that decode H.264 to request only the actual number of reference
+frames specified in the stream, rather than e.g. hard-coding a limit of 16, or
+even the maximum number of surfaces allowable by some specific H.264 level at
+the stream's resolution.
+
+Note that the NVIDIA implementation correctly implements all required
+interlocks between the various pipelined hardware modules. Applications never
+need worry about correctness (providing their API usage is legal and
+sensible), but simply have to worry about performance.
+
+
+K4. ADDITIONAL NOTES
+
+Note that surfaces (video, output, or bitmap) are not cleared to any specific
+value upon allocation. It is the application's responsibility to initialize
+all surfaces prior to using them as input to any function.
+
+
+K5. DEBUGGING AND TRACING
+
+The VDPAU wrapper library supports tracing VDPAU function calls, and their
+parameters. This tracing is controlled by the following environment variables:
+
+VDPAU_TRACE
+
+ Enables tracing. Set to 1 to trace function calls. Set to 2 to trace all
+ arguments passed to the function.
+
+VDPAU_TRACE_FILE
+
+ Filename to write traces to. By default, traces are sent to stderr. This
+ variable may either contain a plain filename, or a reference to an
+ existing open file-descriptor in the format "&N" where N is the file
+ descriptor number.
+
+
+The VDPAU wrapper library is responsible for determining which vendor-specific
+driver to load for a given X11 display/screen. At present, it hard-codes
+"nvidia" as the driver. The environment variable VDPAU_DRIVER may be set to
+override this default. The actual library loaded will be
+libvdpau_${VDPAU_DRIVER}.so. Setting VDPAU_DRIVER to "trace" is not advised.
+
+The NVIDIA VDPAU driver can emit some diagnostic information when an error
+occurs. To enable this, set the environment variable VDPAU_NVIDIA_DEBUG. A
+value of 1 will request a small diagnostic that will enable NVIDIA engineers
+to locate the source of the problem. A value of 3 will request that a complete
+stack backtrace be printed, which provide NVIDIA engineers with more detailed
+information, which may be needed to diagnose some problems.
+
+______________________________________________________________________________
+
+Appendix L. Tips for New FreeBSD Users
+______________________________________________________________________________
+
+This installation guide assumes that the user has at least a basic
+understanding of FreeBSD techniques and terminology. In this section we
+provide tips that the new user may find helpful. While the these tips are
+meant to clarify and assist users in installing and configuring the NVIDIA
+FreeBSD Driver, it is by no means a tutorial on the use or administration of
+the FreeBSD operating system. Unlike many desktop operating systems, it is
+relatively easy to cause irreparable damage to your FreeBSD system. If you are
+unfamiliar with the use of FreeBSD, we strongly recommend that you seek a
+tutorial through your distributor before proceeding.
+
+
+L1. THE COMMAND PROMPT
+
+While newer releases of FreeBSD bring new desktop interfaces to the user, much
+of the work in FreeBSD takes place at the command prompt. If you are familiar
+with the Windows operating system, the FreeBSD command prompt is analogous to
+the Windows command prompt, although the syntax and use varies somewhat. All
+of the commands in this section are performed at the command prompt. Some
+systems are configured to boot into console mode, in which case the user is
+presented with a prompt at login. Other systems are configured to start the X
+window system, in which case the user must open a terminal or console window
+in order to get a command prompt. This can usually be done by searching the
+desktop menus for a terminal or console program. While it is customizable, the
+basic prompt usually consists of a short string of information, one of the
+characters '#', '$', or '%', and a cursor (possibly flashing) that indicates
+where the user's input will be displayed.
+
+
+L2. NAVIGATING THE DIRECTORY STRUCTURE
+
+FreeBSD has a hierarchical directory structure. From anywhere in the directory
+structure, the 'ls' command will list the contents of that directory. The
+'file' command will print the type of files in a directory. For example,
+
+ % file filename
+
+will print the type of the file 'filename'. Changing directories is done with
+the 'cd' command.
+
+ % cd dirname
+
+will change the current directory to 'dirname'. From anywhere in the directory
+structure, the command 'pwd' will print the name of the current directory.
+There are two special directories, '.' and '..', which refer to the current
+directory and the next directory up the hierarchy, respectively. For any
+commands that require a file name or directory name as an argument, you may
+specify the absolute or the relative paths to those elements. An absolute path
+begins with the "/" character, referring to the top or root of the directory
+structure. A relative path begins with a directory in the current working
+directory. The relative path may begin with '.' or '..'. Elements of a path
+are separated with the "/" character. As an example, if the current directory
+is '/home/jesse' and the user wants to change to the '/usr/local' directory,
+he can use either of the following commands to do so:
+
+ % cd /usr/local
+
+or
+
+ % cd ../../usr/local
+
+
+
+L3. FILE PERMISSIONS AND OWNERSHIP
+
+All files and directories have permissions and ownership associated with them.
+This is useful for preventing non-administrative users from accidentally (or
+maliciously) corrupting the system. The permissions and ownership for a file
+or directory can be determined by passing the -l option to the 'ls' command.
+For example:
+
+% ls -l
+drwxr-xr-x 2 jesse users 4096 Feb 8 09:32 bin
+drwxrwxrwx 10 jesse users 4096 Feb 10 12:04 pub
+-rw-r--r-- 1 jesse users 45 Feb 4 03:55 testfile
+-rwx------ 1 jesse users 93 Feb 5 06:20 myprogram
+-rw-rw-rw- 1 jesse users 112 Feb 5 06:20 README
+%
+
+The first character column in the first output field states the file type,
+where 'd' is a directory and '-' is a regular file. The next nine columns
+specify the permissions (see paragraph below) of the element. The second field
+indicates the number of files associated with the element, the third field
+indicates the owner, the fourth field indicates the group that the file is
+associated with, the fifth field indicates the size of the element in bytes,
+the sixth, seventh and eighth fields indicate the time at which the file was
+last modified and the ninth field is the name of the element.
+
+As stated, the last nine columns in the first field indicate the permissions
+of the element. These columns are grouped into threes, the first grouping
+indicating the permissions for the owner of the element ('jesse' in this
+case), the second grouping indicating the permissions for the group associated
+with the element, and the third grouping indicating the permissions associated
+with the rest of the world. The 'r', 'w', and 'x' indicate read, write and
+execute permissions, respectively, for each of these associations. For
+example, user 'jesse' has read and write permissions for 'testfile', users in
+the group 'users' have read permission only, and the rest of the world also
+has read permissions only. However, for the file 'myprogram', user 'jesse' has
+read, write and execute permissions (suggesting that 'myprogram' is a program
+that can be executed), while the group 'users' and the rest of the world have
+no permissions (suggesting that the owner doesn't want anyone else to run his
+program). The permissions, ownership and group associated with an element can
+be changed with the commands 'chmod', 'chown' and 'chgrp', respectively. If a
+user with the appropriate permissions wanted to change the user/group
+ownership of 'README' from jesse/users to joe/admin, he would do the
+following:
+
+ # chown joe README
+ # chgrp admin README
+
+The syntax for chmod is slightly more complicated and has several variations.
+The most concise way of setting the permissions for a single element uses a
+triplet of numbers, one for each of user, group and world. The value for each
+number in the triplet corresponds to a combination of read, write and execute
+permissions. Execute only is represented as 1, write only is represented as 2,
+and read only is represented as 4. Combinations of these permissions are
+represented as sums of the individual permissions. Read and execute is
+represented as 5, where as read, write and execute is represented as 7. No
+permissions is represented as 0. Thus, to give the owner read, write and
+execute permissions, the group read and execute permissions and the world no
+permissions, a user would do as follows:
+
+ % chmod 750 myprogram
+
+
+
+L4. THE SHELL
+
+The shell provides an interface between the user and the operating system. It
+is the job of the shell to interpret the input that the user gives at the
+command prompt and call upon the system to do something in response. There are
+several different shells available, each with somewhat different syntax and
+capabilities. The two most common flavors of shells used on FreeBSD stem from
+the Bourne shell ('sh') and the C-shell ('csh') Different users have
+preferences and biases towards one shell or the other, and some certainly make
+it easier (or at least more intuitive) to do some things than others. You can
+determine your current shell by printing the value of the 'SHELL' environment
+variable from the command prompt with
+
+ % echo $SHELL
+
+You can start a new shell simply by entering the name of the shell from the
+command prompt:
+
+ % csh
+
+or
+
+ % sh
+
+and you can run a program from within a specific shell by preceding the name
+of the executable with the name of the shell in which it will be run:
+
+ % sh myprogram
+
+The user's default shell at login is determined by whoever set up his account.
+While there are many syntactic differences between shells, perhaps the one
+that is encountered most frequently is the way in which environment variables
+are set.
+
+
+L5. SETTING ENVIRONMENT VARIABLES
+
+Every session has associated with it environment variables, which consist of
+name/value pairs and control the way in which the shell and programs run from
+the shell behave. An example of an environment variable is the 'PATH'
+variable, which tells the shell which directories to search when trying to
+locate an executable file that the user has entered at the command line. If
+you are certain that a command exists, but the shell complains that it cannot
+be found when you try to execute it, there is likely a problem with the 'PATH'
+variable. Environment variables are set differently depending on the shell
+being used. For the Bourne shell ('sh'), it is done as:
+
+ % export MYVARIABLE="avalue"
+
+for the C-shell, it is done as:
+
+ % setenv MYVARIABLE "avalue"
+
+In both cases the quotation marks are only necessary if the value contains
+spaces. The 'echo' command can be used to examine the value of an environment
+variable:
+
+ % echo $MYVARIABLE
+
+Commands to set environment variables can also include references to other
+environment variables (prepended with the "$" character), including
+themselves. In order to add the path '/usr/local/bin' to the beginning of the
+search path, and the current directory '.' to the end of the search path, a
+user would enter
+
+ % export PATH=/usr/local/bin:$PATH:.
+
+in the Bourne shell, and
+
+ % setenv PATH /usr/local/bin:${PATH}:.
+
+in C-shell. Note the curly braces are required to protect the variable name in
+C-shell.
+
+
+L6. EDITING TEXT FILES
+
+There are several text editors available for the FreeBSD operating system.
+Some of these editors require the X window system, while others are designed
+to operate in a console or terminal. It is generally a good thing to be
+competent with a terminal-based text editor, as there are times when the files
+necessary for X to run are the ones that must be edited. Three popular editors
+are 'vi', 'pico' and 'emacs', each of which can be started from the command
+line, optionally supplying the name of a file to be edited. 'vi' is arguably
+the most ubiquitous as well as the least intuitive of the three. 'pico' is
+relatively straightforward for a new user, though not as often installed on
+systems. If you don't have 'pico', you may have a similar editor called
+'nano'. 'emacs' is highly extensible and fairly widely available, but can be
+somewhat unwieldy in a non-X environment. The newer versions each come with
+online help, and offline help can be found in the manual and info pages for
+each (see the section on FreeBSD Manual and Info pages). Many programs use the
+'EDITOR' environment variable to determine which text editor to start when
+editing is required.
+
+
+L7. ROOT USER
+
+Upon installation, almost all distributions set up the default administrative
+user with the username 'root'. There are many things on the system that only
+'root' (or a similarly privileged user) can do, one of which is installing the
+NVIDIA FreeBSD Driver. WE MUST EMPHASIZE THAT ASSUMING THE IDENTITY OF 'root'
+IS INHERENTLY RISKY AND AS 'root' IT IS RELATIVELY EASY TO CORRUPT YOUR SYSTEM
+OR OTHERWISE RENDER IT UNUSABLE. There are three ways to become 'root'. You
+may log in as 'root' as you would any other user, you may use the switch user
+command ('su') at the command prompt, or, on some systems, use the 'sudo'
+utility, which allows users to run programs as 'root' while keeping a log of
+their actions. This last method is useful in case a user inadvertently causes
+damage to the system and cannot remember what he has done (or prefers not to
+admit what he has done). It is generally a good practice to remain 'root' only
+as long as is necessary to accomplish the task requiring 'root' privileges
+(another useful feature of the 'sudo' utility).
+
+
+L8. FREEBSD MANUAL AND INFO PAGES
+
+System manual or info pages are usually installed during installation. These
+pages are typically up-to-date and generally contain a comprehensive listing
+of the use of programs and utilities on the system. Also, many programs
+include the --help option, which usually prints a list of common options for
+that program. To view the manual page for a command, enter
+
+ % man commandname
+
+at the command prompt, where commandname refers to the command in which you
+are interested. Similarly, entering
+
+ % info commandname
+
+will bring up the info page for the command. Depending on the application, one
+or the other may be more up-to-date. The interface for the info system is
+interactive and navigable. If you are unable to locate the man page for the
+command you are interested in, you may need to add additional elements to your
+'MANPATH' environment variable. See the section on environment variables.
+
diff --git a/doc/gl.h b/doc/gl.h
index 4f78c54..6663b08 100755
--- a/doc/gl.h
+++ b/doc/gl.h
@@ -102,29 +102,30 @@ typedef void GLvoid;
#define GL_VERSION_1_5 1
#define GL_VERSION_2_0 1
#define GL_VERSION_2_1 1
+#define GL_VERSION_3_0 1
/* AttribMask */
-#define GL_CURRENT_BIT 0x00000001
-#define GL_POINT_BIT 0x00000002
-#define GL_LINE_BIT 0x00000004
-#define GL_POLYGON_BIT 0x00000008
-#define GL_POLYGON_STIPPLE_BIT 0x00000010
-#define GL_PIXEL_MODE_BIT 0x00000020
-#define GL_LIGHTING_BIT 0x00000040
-#define GL_FOG_BIT 0x00000080
-#define GL_DEPTH_BUFFER_BIT 0x00000100
-#define GL_ACCUM_BUFFER_BIT 0x00000200
-#define GL_STENCIL_BUFFER_BIT 0x00000400
-#define GL_VIEWPORT_BIT 0x00000800
-#define GL_TRANSFORM_BIT 0x00001000
-#define GL_ENABLE_BIT 0x00002000
-#define GL_COLOR_BUFFER_BIT 0x00004000
-#define GL_HINT_BIT 0x00008000
-#define GL_EVAL_BIT 0x00010000
-#define GL_LIST_BIT 0x00020000
-#define GL_TEXTURE_BIT 0x00040000
-#define GL_SCISSOR_BIT 0x00080000
-#define GL_ALL_ATTRIB_BITS 0xFFFFFFFF
+#define GL_CURRENT_BIT 0x00000001
+#define GL_POINT_BIT 0x00000002
+#define GL_LINE_BIT 0x00000004
+#define GL_POLYGON_BIT 0x00000008
+#define GL_POLYGON_STIPPLE_BIT 0x00000010
+#define GL_PIXEL_MODE_BIT 0x00000020
+#define GL_LIGHTING_BIT 0x00000040
+#define GL_FOG_BIT 0x00000080
+#define GL_DEPTH_BUFFER_BIT 0x00000100
+#define GL_ACCUM_BUFFER_BIT 0x00000200
+#define GL_STENCIL_BUFFER_BIT 0x00000400
+#define GL_VIEWPORT_BIT 0x00000800
+#define GL_TRANSFORM_BIT 0x00001000
+#define GL_ENABLE_BIT 0x00002000
+#define GL_COLOR_BUFFER_BIT 0x00004000
+#define GL_HINT_BIT 0x00008000
+#define GL_EVAL_BIT 0x00010000
+#define GL_LIST_BIT 0x00020000
+#define GL_TEXTURE_BIT 0x00040000
+#define GL_SCISSOR_BIT 0x00080000
+#define GL_ALL_ATTRIB_BITS 0xFFFFFFFF
/* ClearBufferMask */
/* GL_COLOR_BUFFER_BIT */
@@ -133,59 +134,59 @@ typedef void GLvoid;
/* GL_DEPTH_BUFFER_BIT */
/* ClientAttribMask */
-#define GL_CLIENT_PIXEL_STORE_BIT 0x00000001
-#define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002
-#define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF
+#define GL_CLIENT_PIXEL_STORE_BIT 0x00000001
+#define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002
+#define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF
/* Boolean */
-#define GL_FALSE 0
-#define GL_TRUE 1
+#define GL_FALSE 0
+#define GL_TRUE 1
/* BeginMode */
-#define GL_POINTS 0x0000
-#define GL_LINES 0x0001
-#define GL_LINE_LOOP 0x0002
-#define GL_LINE_STRIP 0x0003
-#define GL_TRIANGLES 0x0004
-#define GL_TRIANGLE_STRIP 0x0005
-#define GL_TRIANGLE_FAN 0x0006
-#define GL_QUADS 0x0007
-#define GL_QUAD_STRIP 0x0008
-#define GL_POLYGON 0x0009
+#define GL_POINTS 0x0000
+#define GL_LINES 0x0001
+#define GL_LINE_LOOP 0x0002
+#define GL_LINE_STRIP 0x0003
+#define GL_TRIANGLES 0x0004
+#define GL_TRIANGLE_STRIP 0x0005
+#define GL_TRIANGLE_FAN 0x0006
+#define GL_QUADS 0x0007
+#define GL_QUAD_STRIP 0x0008
+#define GL_POLYGON 0x0009
/* AccumOp */
-#define GL_ACCUM 0x0100
-#define GL_LOAD 0x0101
-#define GL_RETURN 0x0102
-#define GL_MULT 0x0103
-#define GL_ADD 0x0104
+#define GL_ACCUM 0x0100
+#define GL_LOAD 0x0101
+#define GL_RETURN 0x0102
+#define GL_MULT 0x0103
+#define GL_ADD 0x0104
/* AlphaFunction */
-#define GL_NEVER 0x0200
-#define GL_LESS 0x0201
-#define GL_EQUAL 0x0202
-#define GL_LEQUAL 0x0203
-#define GL_GREATER 0x0204
-#define GL_NOTEQUAL 0x0205
-#define GL_GEQUAL 0x0206
-#define GL_ALWAYS 0x0207
+#define GL_NEVER 0x0200
+#define GL_LESS 0x0201
+#define GL_EQUAL 0x0202
+#define GL_LEQUAL 0x0203
+#define GL_GREATER 0x0204
+#define GL_NOTEQUAL 0x0205
+#define GL_GEQUAL 0x0206
+#define GL_ALWAYS 0x0207
/* BlendingFactorDest */
-#define GL_ZERO 0
-#define GL_ONE 1
-#define GL_SRC_COLOR 0x0300
-#define GL_ONE_MINUS_SRC_COLOR 0x0301
-#define GL_SRC_ALPHA 0x0302
-#define GL_ONE_MINUS_SRC_ALPHA 0x0303
-#define GL_DST_ALPHA 0x0304
-#define GL_ONE_MINUS_DST_ALPHA 0x0305
+#define GL_ZERO 0
+#define GL_ONE 1
+#define GL_SRC_COLOR 0x0300
+#define GL_ONE_MINUS_SRC_COLOR 0x0301
+#define GL_SRC_ALPHA 0x0302
+#define GL_ONE_MINUS_SRC_ALPHA 0x0303
+#define GL_DST_ALPHA 0x0304
+#define GL_ONE_MINUS_DST_ALPHA 0x0305
/* BlendingFactorSrc */
/* GL_ZERO */
/* GL_ONE */
-#define GL_DST_COLOR 0x0306
-#define GL_ONE_MINUS_DST_COLOR 0x0307
-#define GL_SRC_ALPHA_SATURATE 0x0308
+#define GL_DST_COLOR 0x0306
+#define GL_ONE_MINUS_DST_COLOR 0x0307
+#define GL_SRC_ALPHA_SATURATE 0x0308
/* GL_SRC_ALPHA */
/* GL_ONE_MINUS_SRC_ALPHA */
/* GL_DST_ALPHA */
@@ -229,24 +230,24 @@ typedef void GLvoid;
/* GL_ALWAYS */
/* DrawBufferMode */
-#define GL_NONE 0
-#define GL_FRONT_LEFT 0x0400
-#define GL_FRONT_RIGHT 0x0401
-#define GL_BACK_LEFT 0x0402
-#define GL_BACK_RIGHT 0x0403
-#define GL_FRONT 0x0404
-#define GL_BACK 0x0405
-#define GL_LEFT 0x0406
-#define GL_RIGHT 0x0407
-#define GL_FRONT_AND_BACK 0x0408
-#define GL_AUX0 0x0409
-#define GL_AUX1 0x040A
-#define GL_AUX2 0x040B
-#define GL_AUX3 0x040C
-#define GL_AUX4 0x040D
-#define GL_AUX5 0x040E
-#define GL_AUX6 0x040F
-#define GL_AUX7 0x0410
+#define GL_NONE 0
+#define GL_FRONT_LEFT 0x0400
+#define GL_FRONT_RIGHT 0x0401
+#define GL_BACK_LEFT 0x0402
+#define GL_BACK_RIGHT 0x0403
+#define GL_FRONT 0x0404
+#define GL_BACK 0x0405
+#define GL_LEFT 0x0406
+#define GL_RIGHT 0x0407
+#define GL_FRONT_AND_BACK 0x0408
+#define GL_AUX0 0x0409
+#define GL_AUX1 0x040A
+#define GL_AUX2 0x040B
+#define GL_AUX3 0x040C
+#define GL_AUX4 0x040D
+#define GL_AUX5 0x040E
+#define GL_AUX6 0x040F
+#define GL_AUX7 0x0410
/* EnableCap */
/* GL_FOG */
@@ -317,36 +318,36 @@ typedef void GLvoid;
/* GL_EDGE_FLAG_ARRAY */
/* ErrorCode */
-#define GL_NO_ERROR 0
-#define GL_INVALID_ENUM 0x0500
-#define GL_INVALID_VALUE 0x0501
-#define GL_INVALID_OPERATION 0x0502
-#define GL_STACK_OVERFLOW 0x0503
-#define GL_STACK_UNDERFLOW 0x0504
-#define GL_OUT_OF_MEMORY 0x0505
-#define GL_TABLE_TOO_LARGE 0x8031
+#define GL_NO_ERROR 0
+#define GL_INVALID_ENUM 0x0500
+#define GL_INVALID_VALUE 0x0501
+#define GL_INVALID_OPERATION 0x0502
+#define GL_STACK_OVERFLOW 0x0503
+#define GL_STACK_UNDERFLOW 0x0504
+#define GL_OUT_OF_MEMORY 0x0505
+#define GL_TABLE_TOO_LARGE 0x8031
/* FeedbackType */
-#define GL_2D 0x0600
-#define GL_3D 0x0601
-#define GL_3D_COLOR 0x0602
-#define GL_3D_COLOR_TEXTURE 0x0603
-#define GL_4D_COLOR_TEXTURE 0x0604
+#define GL_2D 0x0600
+#define GL_3D 0x0601
+#define GL_3D_COLOR 0x0602
+#define GL_3D_COLOR_TEXTURE 0x0603
+#define GL_4D_COLOR_TEXTURE 0x0604
/* FeedBackToken */
-#define GL_PASS_THROUGH_TOKEN 0x0700
-#define GL_POINT_TOKEN 0x0701
-#define GL_LINE_TOKEN 0x0702
-#define GL_POLYGON_TOKEN 0x0703
-#define GL_BITMAP_TOKEN 0x0704
-#define GL_DRAW_PIXEL_TOKEN 0x0705
-#define GL_COPY_PIXEL_TOKEN 0x0706
-#define GL_LINE_RESET_TOKEN 0x0707
+#define GL_PASS_THROUGH_TOKEN 0x0700
+#define GL_POINT_TOKEN 0x0701
+#define GL_LINE_TOKEN 0x0702
+#define GL_POLYGON_TOKEN 0x0703
+#define GL_BITMAP_TOKEN 0x0704
+#define GL_DRAW_PIXEL_TOKEN 0x0705
+#define GL_COPY_PIXEL_TOKEN 0x0706
+#define GL_LINE_RESET_TOKEN 0x0707
/* FogMode */
/* GL_LINEAR */
-#define GL_EXP 0x0800
-#define GL_EXP2 0x0801
+#define GL_EXP 0x0800
+#define GL_EXP2 0x0801
/* FogParameter */
/* GL_FOG_COLOR */
@@ -357,267 +358,267 @@ typedef void GLvoid;
/* GL_FOG_START */
/* FrontFaceDirection */
-#define GL_CW 0x0900
-#define GL_CCW 0x0901
+#define GL_CW 0x0900
+#define GL_CCW 0x0901
/* GetMapQuery */
-#define GL_COEFF 0x0A00
-#define GL_ORDER 0x0A01
-#define GL_DOMAIN 0x0A02
+#define GL_COEFF 0x0A00
+#define GL_ORDER 0x0A01
+#define GL_DOMAIN 0x0A02
/* GetPixelMap */
-#define GL_PIXEL_MAP_I_TO_I 0x0C70
-#define GL_PIXEL_MAP_S_TO_S 0x0C71
-#define GL_PIXEL_MAP_I_TO_R 0x0C72
-#define GL_PIXEL_MAP_I_TO_G 0x0C73
-#define GL_PIXEL_MAP_I_TO_B 0x0C74
-#define GL_PIXEL_MAP_I_TO_A 0x0C75
-#define GL_PIXEL_MAP_R_TO_R 0x0C76
-#define GL_PIXEL_MAP_G_TO_G 0x0C77
-#define GL_PIXEL_MAP_B_TO_B 0x0C78
-#define GL_PIXEL_MAP_A_TO_A 0x0C79
+#define GL_PIXEL_MAP_I_TO_I 0x0C70
+#define GL_PIXEL_MAP_S_TO_S 0x0C71
+#define GL_PIXEL_MAP_I_TO_R 0x0C72
+#define GL_PIXEL_MAP_I_TO_G 0x0C73
+#define GL_PIXEL_MAP_I_TO_B 0x0C74
+#define GL_PIXEL_MAP_I_TO_A 0x0C75
+#define GL_PIXEL_MAP_R_TO_R 0x0C76
+#define GL_PIXEL_MAP_G_TO_G 0x0C77
+#define GL_PIXEL_MAP_B_TO_B 0x0C78
+#define GL_PIXEL_MAP_A_TO_A 0x0C79
/* GetPointervPName */
-#define GL_VERTEX_ARRAY_POINTER 0x808E
-#define GL_NORMAL_ARRAY_POINTER 0x808F
-#define GL_COLOR_ARRAY_POINTER 0x8090
-#define GL_INDEX_ARRAY_POINTER 0x8091
-#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
-#define GL_EDGE_FLAG_ARRAY_POINTER 0x8093
+#define GL_VERTEX_ARRAY_POINTER 0x808E
+#define GL_NORMAL_ARRAY_POINTER 0x808F
+#define GL_COLOR_ARRAY_POINTER 0x8090
+#define GL_INDEX_ARRAY_POINTER 0x8091
+#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
+#define GL_EDGE_FLAG_ARRAY_POINTER 0x8093
/* GetPName */
-#define GL_CURRENT_COLOR 0x0B00
-#define GL_CURRENT_INDEX 0x0B01
-#define GL_CURRENT_NORMAL 0x0B02
-#define GL_CURRENT_TEXTURE_COORDS 0x0B03
-#define GL_CURRENT_RASTER_COLOR 0x0B04
-#define GL_CURRENT_RASTER_INDEX 0x0B05
-#define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06
-#define GL_CURRENT_RASTER_POSITION 0x0B07
-#define GL_CURRENT_RASTER_POSITION_VALID 0x0B08
-#define GL_CURRENT_RASTER_DISTANCE 0x0B09
-#define GL_POINT_SMOOTH 0x0B10
-#define GL_POINT_SIZE 0x0B11
-#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
-#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
-#define GL_POINT_SIZE_RANGE GL_SMOOTH_POINT_SIZE_RANGE
-#define GL_POINT_SIZE_GRANULARITY GL_SMOOTH_POINT_SIZE_GRANULARITY
-#define GL_LINE_SMOOTH 0x0B20
-#define GL_LINE_WIDTH 0x0B21
-#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
-#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
-#define GL_LINE_WIDTH_RANGE GL_SMOOTH_LINE_WIDTH_RANGE
-#define GL_LINE_WIDTH_GRANULARITY GL_SMOOTH_LINE_WIDTH_GRANULARITY
-#define GL_LINE_STIPPLE 0x0B24
-#define GL_LINE_STIPPLE_PATTERN 0x0B25
-#define GL_LINE_STIPPLE_REPEAT 0x0B26
-#define GL_LIST_MODE 0x0B30
-#define GL_MAX_LIST_NESTING 0x0B31
-#define GL_LIST_BASE 0x0B32
-#define GL_LIST_INDEX 0x0B33
-#define GL_POLYGON_MODE 0x0B40
-#define GL_POLYGON_SMOOTH 0x0B41
-#define GL_POLYGON_STIPPLE 0x0B42
-#define GL_EDGE_FLAG 0x0B43
-#define GL_CULL_FACE 0x0B44
-#define GL_CULL_FACE_MODE 0x0B45
-#define GL_FRONT_FACE 0x0B46
-#define GL_LIGHTING 0x0B50
-#define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51
-#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
-#define GL_LIGHT_MODEL_AMBIENT 0x0B53
-#define GL_SHADE_MODEL 0x0B54
-#define GL_COLOR_MATERIAL_FACE 0x0B55
-#define GL_COLOR_MATERIAL_PARAMETER 0x0B56
-#define GL_COLOR_MATERIAL 0x0B57
-#define GL_FOG 0x0B60
-#define GL_FOG_INDEX 0x0B61
-#define GL_FOG_DENSITY 0x0B62
-#define GL_FOG_START 0x0B63
-#define GL_FOG_END 0x0B64
-#define GL_FOG_MODE 0x0B65
-#define GL_FOG_COLOR 0x0B66
-#define GL_DEPTH_RANGE 0x0B70
-#define GL_DEPTH_TEST 0x0B71
-#define GL_DEPTH_WRITEMASK 0x0B72
-#define GL_DEPTH_CLEAR_VALUE 0x0B73
-#define GL_DEPTH_FUNC 0x0B74
-#define GL_ACCUM_CLEAR_VALUE 0x0B80
-#define GL_STENCIL_TEST 0x0B90
-#define GL_STENCIL_CLEAR_VALUE 0x0B91
-#define GL_STENCIL_FUNC 0x0B92
-#define GL_STENCIL_VALUE_MASK 0x0B93
-#define GL_STENCIL_FAIL 0x0B94
-#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
-#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
-#define GL_STENCIL_REF 0x0B97
-#define GL_STENCIL_WRITEMASK 0x0B98
-#define GL_MATRIX_MODE 0x0BA0
-#define GL_NORMALIZE 0x0BA1
-#define GL_VIEWPORT 0x0BA2
-#define GL_MODELVIEW_STACK_DEPTH 0x0BA3
-#define GL_PROJECTION_STACK_DEPTH 0x0BA4
-#define GL_TEXTURE_STACK_DEPTH 0x0BA5
-#define GL_MODELVIEW_MATRIX 0x0BA6
-#define GL_PROJECTION_MATRIX 0x0BA7
-#define GL_TEXTURE_MATRIX 0x0BA8
-#define GL_ATTRIB_STACK_DEPTH 0x0BB0
-#define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1
-#define GL_ALPHA_TEST 0x0BC0
-#define GL_ALPHA_TEST_FUNC 0x0BC1
-#define GL_ALPHA_TEST_REF 0x0BC2
-#define GL_DITHER 0x0BD0
-#define GL_BLEND_DST 0x0BE0
-#define GL_BLEND_SRC 0x0BE1
-#define GL_BLEND 0x0BE2
-#define GL_LOGIC_OP_MODE 0x0BF0
-#define GL_INDEX_LOGIC_OP 0x0BF1
-#define GL_LOGIC_OP GL_INDEX_LOGIC_OP
-#define GL_COLOR_LOGIC_OP 0x0BF2
-#define GL_AUX_BUFFERS 0x0C00
-#define GL_DRAW_BUFFER 0x0C01
-#define GL_READ_BUFFER 0x0C02
-#define GL_SCISSOR_BOX 0x0C10
-#define GL_SCISSOR_TEST 0x0C11
-#define GL_INDEX_CLEAR_VALUE 0x0C20
-#define GL_INDEX_WRITEMASK 0x0C21
-#define GL_COLOR_CLEAR_VALUE 0x0C22
-#define GL_COLOR_WRITEMASK 0x0C23
-#define GL_INDEX_MODE 0x0C30
-#define GL_RGBA_MODE 0x0C31
-#define GL_DOUBLEBUFFER 0x0C32
-#define GL_STEREO 0x0C33
-#define GL_RENDER_MODE 0x0C40
-#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
-#define GL_POINT_SMOOTH_HINT 0x0C51
-#define GL_LINE_SMOOTH_HINT 0x0C52
-#define GL_POLYGON_SMOOTH_HINT 0x0C53
-#define GL_FOG_HINT 0x0C54
-#define GL_TEXTURE_GEN_S 0x0C60
-#define GL_TEXTURE_GEN_T 0x0C61
-#define GL_TEXTURE_GEN_R 0x0C62
-#define GL_TEXTURE_GEN_Q 0x0C63
-#define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0
-#define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1
-#define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2
-#define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3
-#define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4
-#define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5
-#define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6
-#define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7
-#define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8
-#define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9
-#define GL_UNPACK_SWAP_BYTES 0x0CF0
-#define GL_UNPACK_LSB_FIRST 0x0CF1
-#define GL_UNPACK_ROW_LENGTH 0x0CF2
-#define GL_UNPACK_SKIP_ROWS 0x0CF3
-#define GL_UNPACK_SKIP_PIXELS 0x0CF4
-#define GL_UNPACK_ALIGNMENT 0x0CF5
-#define GL_PACK_SWAP_BYTES 0x0D00
-#define GL_PACK_LSB_FIRST 0x0D01
-#define GL_PACK_ROW_LENGTH 0x0D02
-#define GL_PACK_SKIP_ROWS 0x0D03
-#define GL_PACK_SKIP_PIXELS 0x0D04
-#define GL_PACK_ALIGNMENT 0x0D05
-#define GL_MAP_COLOR 0x0D10
-#define GL_MAP_STENCIL 0x0D11
-#define GL_INDEX_SHIFT 0x0D12
-#define GL_INDEX_OFFSET 0x0D13
-#define GL_RED_SCALE 0x0D14
-#define GL_RED_BIAS 0x0D15
-#define GL_ZOOM_X 0x0D16
-#define GL_ZOOM_Y 0x0D17
-#define GL_GREEN_SCALE 0x0D18
-#define GL_GREEN_BIAS 0x0D19
-#define GL_BLUE_SCALE 0x0D1A
-#define GL_BLUE_BIAS 0x0D1B
-#define GL_ALPHA_SCALE 0x0D1C
-#define GL_ALPHA_BIAS 0x0D1D
-#define GL_DEPTH_SCALE 0x0D1E
-#define GL_DEPTH_BIAS 0x0D1F
-#define GL_MAX_EVAL_ORDER 0x0D30
-#define GL_MAX_LIGHTS 0x0D31
-#define GL_MAX_CLIP_PLANES 0x0D32
-#define GL_MAX_TEXTURE_SIZE 0x0D33
-#define GL_MAX_PIXEL_MAP_TABLE 0x0D34
-#define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35
-#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
-#define GL_MAX_NAME_STACK_DEPTH 0x0D37
-#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
-#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
-#define GL_MAX_VIEWPORT_DIMS 0x0D3A
-#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B
-#define GL_SUBPIXEL_BITS 0x0D50
-#define GL_INDEX_BITS 0x0D51
-#define GL_RED_BITS 0x0D52
-#define GL_GREEN_BITS 0x0D53
-#define GL_BLUE_BITS 0x0D54
-#define GL_ALPHA_BITS 0x0D55
-#define GL_DEPTH_BITS 0x0D56
-#define GL_STENCIL_BITS 0x0D57
-#define GL_ACCUM_RED_BITS 0x0D58
-#define GL_ACCUM_GREEN_BITS 0x0D59
-#define GL_ACCUM_BLUE_BITS 0x0D5A
-#define GL_ACCUM_ALPHA_BITS 0x0D5B
-#define GL_NAME_STACK_DEPTH 0x0D70
-#define GL_AUTO_NORMAL 0x0D80
-#define GL_MAP1_COLOR_4 0x0D90
-#define GL_MAP1_INDEX 0x0D91
-#define GL_MAP1_NORMAL 0x0D92
-#define GL_MAP1_TEXTURE_COORD_1 0x0D93
-#define GL_MAP1_TEXTURE_COORD_2 0x0D94
-#define GL_MAP1_TEXTURE_COORD_3 0x0D95
-#define GL_MAP1_TEXTURE_COORD_4 0x0D96
-#define GL_MAP1_VERTEX_3 0x0D97
-#define GL_MAP1_VERTEX_4 0x0D98
-#define GL_MAP2_COLOR_4 0x0DB0
-#define GL_MAP2_INDEX 0x0DB1
-#define GL_MAP2_NORMAL 0x0DB2
-#define GL_MAP2_TEXTURE_COORD_1 0x0DB3
-#define GL_MAP2_TEXTURE_COORD_2 0x0DB4
-#define GL_MAP2_TEXTURE_COORD_3 0x0DB5
-#define GL_MAP2_TEXTURE_COORD_4 0x0DB6
-#define GL_MAP2_VERTEX_3 0x0DB7
-#define GL_MAP2_VERTEX_4 0x0DB8
-#define GL_MAP1_GRID_DOMAIN 0x0DD0
-#define GL_MAP1_GRID_SEGMENTS 0x0DD1
-#define GL_MAP2_GRID_DOMAIN 0x0DD2
-#define GL_MAP2_GRID_SEGMENTS 0x0DD3
-#define GL_TEXTURE_1D 0x0DE0
-#define GL_TEXTURE_2D 0x0DE1
-#define GL_FEEDBACK_BUFFER_POINTER 0x0DF0
-#define GL_FEEDBACK_BUFFER_SIZE 0x0DF1
-#define GL_FEEDBACK_BUFFER_TYPE 0x0DF2
-#define GL_SELECTION_BUFFER_POINTER 0x0DF3
-#define GL_SELECTION_BUFFER_SIZE 0x0DF4
-#define GL_POLYGON_OFFSET_UNITS 0x2A00
-#define GL_POLYGON_OFFSET_POINT 0x2A01
-#define GL_POLYGON_OFFSET_LINE 0x2A02
-#define GL_POLYGON_OFFSET_FILL 0x8037
-#define GL_POLYGON_OFFSET_FACTOR 0x8038
-#define GL_TEXTURE_BINDING_1D 0x8068
-#define GL_TEXTURE_BINDING_2D 0x8069
-#define GL_TEXTURE_BINDING_3D 0x806A
-#define GL_VERTEX_ARRAY 0x8074
-#define GL_NORMAL_ARRAY 0x8075
-#define GL_COLOR_ARRAY 0x8076
-#define GL_INDEX_ARRAY 0x8077
-#define GL_TEXTURE_COORD_ARRAY 0x8078
-#define GL_EDGE_FLAG_ARRAY 0x8079
-#define GL_VERTEX_ARRAY_SIZE 0x807A
-#define GL_VERTEX_ARRAY_TYPE 0x807B
-#define GL_VERTEX_ARRAY_STRIDE 0x807C
-#define GL_NORMAL_ARRAY_TYPE 0x807E
-#define GL_NORMAL_ARRAY_STRIDE 0x807F
-#define GL_COLOR_ARRAY_SIZE 0x8081
-#define GL_COLOR_ARRAY_TYPE 0x8082
-#define GL_COLOR_ARRAY_STRIDE 0x8083
-#define GL_INDEX_ARRAY_TYPE 0x8085
-#define GL_INDEX_ARRAY_STRIDE 0x8086
-#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
-#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
-#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
-#define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C
+#define GL_CURRENT_COLOR 0x0B00
+#define GL_CURRENT_INDEX 0x0B01
+#define GL_CURRENT_NORMAL 0x0B02
+#define GL_CURRENT_TEXTURE_COORDS 0x0B03
+#define GL_CURRENT_RASTER_COLOR 0x0B04
+#define GL_CURRENT_RASTER_INDEX 0x0B05
+#define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06
+#define GL_CURRENT_RASTER_POSITION 0x0B07
+#define GL_CURRENT_RASTER_POSITION_VALID 0x0B08
+#define GL_CURRENT_RASTER_DISTANCE 0x0B09
+#define GL_POINT_SMOOTH 0x0B10
+#define GL_POINT_SIZE 0x0B11
+#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
+#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
+#define GL_POINT_SIZE_RANGE GL_SMOOTH_POINT_SIZE_RANGE
+#define GL_POINT_SIZE_GRANULARITY GL_SMOOTH_POINT_SIZE_GRANULARITY
+#define GL_LINE_SMOOTH 0x0B20
+#define GL_LINE_WIDTH 0x0B21
+#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
+#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
+#define GL_LINE_WIDTH_RANGE GL_SMOOTH_LINE_WIDTH_RANGE
+#define GL_LINE_WIDTH_GRANULARITY GL_SMOOTH_LINE_WIDTH_GRANULARITY
+#define GL_LINE_STIPPLE 0x0B24
+#define GL_LINE_STIPPLE_PATTERN 0x0B25
+#define GL_LINE_STIPPLE_REPEAT 0x0B26
+#define GL_LIST_MODE 0x0B30
+#define GL_MAX_LIST_NESTING 0x0B31
+#define GL_LIST_BASE 0x0B32
+#define GL_LIST_INDEX 0x0B33
+#define GL_POLYGON_MODE 0x0B40
+#define GL_POLYGON_SMOOTH 0x0B41
+#define GL_POLYGON_STIPPLE 0x0B42
+#define GL_EDGE_FLAG 0x0B43
+#define GL_CULL_FACE 0x0B44
+#define GL_CULL_FACE_MODE 0x0B45
+#define GL_FRONT_FACE 0x0B46
+#define GL_LIGHTING 0x0B50
+#define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51
+#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
+#define GL_LIGHT_MODEL_AMBIENT 0x0B53
+#define GL_SHADE_MODEL 0x0B54
+#define GL_COLOR_MATERIAL_FACE 0x0B55
+#define GL_COLOR_MATERIAL_PARAMETER 0x0B56
+#define GL_COLOR_MATERIAL 0x0B57
+#define GL_FOG 0x0B60
+#define GL_FOG_INDEX 0x0B61
+#define GL_FOG_DENSITY 0x0B62
+#define GL_FOG_START 0x0B63
+#define GL_FOG_END 0x0B64
+#define GL_FOG_MODE 0x0B65
+#define GL_FOG_COLOR 0x0B66
+#define GL_DEPTH_RANGE 0x0B70
+#define GL_DEPTH_TEST 0x0B71
+#define GL_DEPTH_WRITEMASK 0x0B72
+#define GL_DEPTH_CLEAR_VALUE 0x0B73
+#define GL_DEPTH_FUNC 0x0B74
+#define GL_ACCUM_CLEAR_VALUE 0x0B80
+#define GL_STENCIL_TEST 0x0B90
+#define GL_STENCIL_CLEAR_VALUE 0x0B91
+#define GL_STENCIL_FUNC 0x0B92
+#define GL_STENCIL_VALUE_MASK 0x0B93
+#define GL_STENCIL_FAIL 0x0B94
+#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
+#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
+#define GL_STENCIL_REF 0x0B97
+#define GL_STENCIL_WRITEMASK 0x0B98
+#define GL_MATRIX_MODE 0x0BA0
+#define GL_NORMALIZE 0x0BA1
+#define GL_VIEWPORT 0x0BA2
+#define GL_MODELVIEW_STACK_DEPTH 0x0BA3
+#define GL_PROJECTION_STACK_DEPTH 0x0BA4
+#define GL_TEXTURE_STACK_DEPTH 0x0BA5
+#define GL_MODELVIEW_MATRIX 0x0BA6
+#define GL_PROJECTION_MATRIX 0x0BA7
+#define GL_TEXTURE_MATRIX 0x0BA8
+#define GL_ATTRIB_STACK_DEPTH 0x0BB0
+#define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1
+#define GL_ALPHA_TEST 0x0BC0
+#define GL_ALPHA_TEST_FUNC 0x0BC1
+#define GL_ALPHA_TEST_REF 0x0BC2
+#define GL_DITHER 0x0BD0
+#define GL_BLEND_DST 0x0BE0
+#define GL_BLEND_SRC 0x0BE1
+#define GL_BLEND 0x0BE2
+#define GL_LOGIC_OP_MODE 0x0BF0
+#define GL_INDEX_LOGIC_OP 0x0BF1
+#define GL_LOGIC_OP GL_INDEX_LOGIC_OP
+#define GL_COLOR_LOGIC_OP 0x0BF2
+#define GL_AUX_BUFFERS 0x0C00
+#define GL_DRAW_BUFFER 0x0C01
+#define GL_READ_BUFFER 0x0C02
+#define GL_SCISSOR_BOX 0x0C10
+#define GL_SCISSOR_TEST 0x0C11
+#define GL_INDEX_CLEAR_VALUE 0x0C20
+#define GL_INDEX_WRITEMASK 0x0C21
+#define GL_COLOR_CLEAR_VALUE 0x0C22
+#define GL_COLOR_WRITEMASK 0x0C23
+#define GL_INDEX_MODE 0x0C30
+#define GL_RGBA_MODE 0x0C31
+#define GL_DOUBLEBUFFER 0x0C32
+#define GL_STEREO 0x0C33
+#define GL_RENDER_MODE 0x0C40
+#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
+#define GL_POINT_SMOOTH_HINT 0x0C51
+#define GL_LINE_SMOOTH_HINT 0x0C52
+#define GL_POLYGON_SMOOTH_HINT 0x0C53
+#define GL_FOG_HINT 0x0C54
+#define GL_TEXTURE_GEN_S 0x0C60
+#define GL_TEXTURE_GEN_T 0x0C61
+#define GL_TEXTURE_GEN_R 0x0C62
+#define GL_TEXTURE_GEN_Q 0x0C63
+#define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0
+#define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1
+#define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2
+#define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3
+#define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4
+#define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5
+#define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6
+#define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7
+#define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8
+#define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9
+#define GL_UNPACK_SWAP_BYTES 0x0CF0
+#define GL_UNPACK_LSB_FIRST 0x0CF1
+#define GL_UNPACK_ROW_LENGTH 0x0CF2
+#define GL_UNPACK_SKIP_ROWS 0x0CF3
+#define GL_UNPACK_SKIP_PIXELS 0x0CF4
+#define GL_UNPACK_ALIGNMENT 0x0CF5
+#define GL_PACK_SWAP_BYTES 0x0D00
+#define GL_PACK_LSB_FIRST 0x0D01
+#define GL_PACK_ROW_LENGTH 0x0D02
+#define GL_PACK_SKIP_ROWS 0x0D03
+#define GL_PACK_SKIP_PIXELS 0x0D04
+#define GL_PACK_ALIGNMENT 0x0D05
+#define GL_MAP_COLOR 0x0D10
+#define GL_MAP_STENCIL 0x0D11
+#define GL_INDEX_SHIFT 0x0D12
+#define GL_INDEX_OFFSET 0x0D13
+#define GL_RED_SCALE 0x0D14
+#define GL_RED_BIAS 0x0D15
+#define GL_ZOOM_X 0x0D16
+#define GL_ZOOM_Y 0x0D17
+#define GL_GREEN_SCALE 0x0D18
+#define GL_GREEN_BIAS 0x0D19
+#define GL_BLUE_SCALE 0x0D1A
+#define GL_BLUE_BIAS 0x0D1B
+#define GL_ALPHA_SCALE 0x0D1C
+#define GL_ALPHA_BIAS 0x0D1D
+#define GL_DEPTH_SCALE 0x0D1E
+#define GL_DEPTH_BIAS 0x0D1F
+#define GL_MAX_EVAL_ORDER 0x0D30
+#define GL_MAX_LIGHTS 0x0D31
+#define GL_MAX_CLIP_PLANES 0x0D32
+#define GL_MAX_TEXTURE_SIZE 0x0D33
+#define GL_MAX_PIXEL_MAP_TABLE 0x0D34
+#define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35
+#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
+#define GL_MAX_NAME_STACK_DEPTH 0x0D37
+#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
+#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
+#define GL_MAX_VIEWPORT_DIMS 0x0D3A
+#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B
+#define GL_SUBPIXEL_BITS 0x0D50
+#define GL_INDEX_BITS 0x0D51
+#define GL_RED_BITS 0x0D52
+#define GL_GREEN_BITS 0x0D53
+#define GL_BLUE_BITS 0x0D54
+#define GL_ALPHA_BITS 0x0D55
+#define GL_DEPTH_BITS 0x0D56
+#define GL_STENCIL_BITS 0x0D57
+#define GL_ACCUM_RED_BITS 0x0D58
+#define GL_ACCUM_GREEN_BITS 0x0D59
+#define GL_ACCUM_BLUE_BITS 0x0D5A
+#define GL_ACCUM_ALPHA_BITS 0x0D5B
+#define GL_NAME_STACK_DEPTH 0x0D70
+#define GL_AUTO_NORMAL 0x0D80
+#define GL_MAP1_COLOR_4 0x0D90
+#define GL_MAP1_INDEX 0x0D91
+#define GL_MAP1_NORMAL 0x0D92
+#define GL_MAP1_TEXTURE_COORD_1 0x0D93
+#define GL_MAP1_TEXTURE_COORD_2 0x0D94
+#define GL_MAP1_TEXTURE_COORD_3 0x0D95
+#define GL_MAP1_TEXTURE_COORD_4 0x0D96
+#define GL_MAP1_VERTEX_3 0x0D97
+#define GL_MAP1_VERTEX_4 0x0D98
+#define GL_MAP2_COLOR_4 0x0DB0
+#define GL_MAP2_INDEX 0x0DB1
+#define GL_MAP2_NORMAL 0x0DB2
+#define GL_MAP2_TEXTURE_COORD_1 0x0DB3
+#define GL_MAP2_TEXTURE_COORD_2 0x0DB4
+#define GL_MAP2_TEXTURE_COORD_3 0x0DB5
+#define GL_MAP2_TEXTURE_COORD_4 0x0DB6
+#define GL_MAP2_VERTEX_3 0x0DB7
+#define GL_MAP2_VERTEX_4 0x0DB8
+#define GL_MAP1_GRID_DOMAIN 0x0DD0
+#define GL_MAP1_GRID_SEGMENTS 0x0DD1
+#define GL_MAP2_GRID_DOMAIN 0x0DD2
+#define GL_MAP2_GRID_SEGMENTS 0x0DD3
+#define GL_TEXTURE_1D 0x0DE0
+#define GL_TEXTURE_2D 0x0DE1
+#define GL_FEEDBACK_BUFFER_POINTER 0x0DF0
+#define GL_FEEDBACK_BUFFER_SIZE 0x0DF1
+#define GL_FEEDBACK_BUFFER_TYPE 0x0DF2
+#define GL_SELECTION_BUFFER_POINTER 0x0DF3
+#define GL_SELECTION_BUFFER_SIZE 0x0DF4
+#define GL_POLYGON_OFFSET_UNITS 0x2A00
+#define GL_POLYGON_OFFSET_POINT 0x2A01
+#define GL_POLYGON_OFFSET_LINE 0x2A02
+#define GL_POLYGON_OFFSET_FILL 0x8037
+#define GL_POLYGON_OFFSET_FACTOR 0x8038
+#define GL_TEXTURE_BINDING_1D 0x8068
+#define GL_TEXTURE_BINDING_2D 0x8069
+#define GL_TEXTURE_BINDING_3D 0x806A
+#define GL_VERTEX_ARRAY 0x8074
+#define GL_NORMAL_ARRAY 0x8075
+#define GL_COLOR_ARRAY 0x8076
+#define GL_INDEX_ARRAY 0x8077
+#define GL_TEXTURE_COORD_ARRAY 0x8078
+#define GL_EDGE_FLAG_ARRAY 0x8079
+#define GL_VERTEX_ARRAY_SIZE 0x807A
+#define GL_VERTEX_ARRAY_TYPE 0x807B
+#define GL_VERTEX_ARRAY_STRIDE 0x807C
+#define GL_NORMAL_ARRAY_TYPE 0x807E
+#define GL_NORMAL_ARRAY_STRIDE 0x807F
+#define GL_COLOR_ARRAY_SIZE 0x8081
+#define GL_COLOR_ARRAY_TYPE 0x8082
+#define GL_COLOR_ARRAY_STRIDE 0x8083
+#define GL_INDEX_ARRAY_TYPE 0x8085
+#define GL_INDEX_ARRAY_STRIDE 0x8086
+#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
+#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
+#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
+#define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C
/* GL_VERTEX_ARRAY_COUNT_EXT */
/* GL_NORMAL_ARRAY_COUNT_EXT */
/* GL_COLOR_ARRAY_COUNT_EXT */
@@ -630,25 +631,25 @@ typedef void GLvoid;
/* GL_TEXTURE_MIN_FILTER */
/* GL_TEXTURE_WRAP_S */
/* GL_TEXTURE_WRAP_T */
-#define GL_TEXTURE_WIDTH 0x1000
-#define GL_TEXTURE_HEIGHT 0x1001
-#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
-#define GL_TEXTURE_COMPONENTS GL_TEXTURE_INTERNAL_FORMAT
-#define GL_TEXTURE_BORDER_COLOR 0x1004
-#define GL_TEXTURE_BORDER 0x1005
-#define GL_TEXTURE_RED_SIZE 0x805C
-#define GL_TEXTURE_GREEN_SIZE 0x805D
-#define GL_TEXTURE_BLUE_SIZE 0x805E
-#define GL_TEXTURE_ALPHA_SIZE 0x805F
-#define GL_TEXTURE_LUMINANCE_SIZE 0x8060
-#define GL_TEXTURE_INTENSITY_SIZE 0x8061
-#define GL_TEXTURE_PRIORITY 0x8066
-#define GL_TEXTURE_RESIDENT 0x8067
+#define GL_TEXTURE_WIDTH 0x1000
+#define GL_TEXTURE_HEIGHT 0x1001
+#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
+#define GL_TEXTURE_COMPONENTS GL_TEXTURE_INTERNAL_FORMAT
+#define GL_TEXTURE_BORDER_COLOR 0x1004
+#define GL_TEXTURE_BORDER 0x1005
+#define GL_TEXTURE_RED_SIZE 0x805C
+#define GL_TEXTURE_GREEN_SIZE 0x805D
+#define GL_TEXTURE_BLUE_SIZE 0x805E
+#define GL_TEXTURE_ALPHA_SIZE 0x805F
+#define GL_TEXTURE_LUMINANCE_SIZE 0x8060
+#define GL_TEXTURE_INTENSITY_SIZE 0x8061
+#define GL_TEXTURE_PRIORITY 0x8066
+#define GL_TEXTURE_RESIDENT 0x8067
/* HintMode */
-#define GL_DONT_CARE 0x1100
-#define GL_FASTEST 0x1101
-#define GL_NICEST 0x1102
+#define GL_DONT_CARE 0x1100
+#define GL_FASTEST 0x1101
+#define GL_NICEST 0x1102
/* HintTarget */
/* GL_PERSPECTIVE_CORRECTION_HINT */
@@ -682,34 +683,34 @@ typedef void GLvoid;
/* GL_LIGHT_MODEL_TWO_SIDE */
/* LightParameter */
-#define GL_AMBIENT 0x1200
-#define GL_DIFFUSE 0x1201
-#define GL_SPECULAR 0x1202
-#define GL_POSITION 0x1203
-#define GL_SPOT_DIRECTION 0x1204
-#define GL_SPOT_EXPONENT 0x1205
-#define GL_SPOT_CUTOFF 0x1206
-#define GL_CONSTANT_ATTENUATION 0x1207
-#define GL_LINEAR_ATTENUATION 0x1208
-#define GL_QUADRATIC_ATTENUATION 0x1209
+#define GL_AMBIENT 0x1200
+#define GL_DIFFUSE 0x1201
+#define GL_SPECULAR 0x1202
+#define GL_POSITION 0x1203
+#define GL_SPOT_DIRECTION 0x1204
+#define GL_SPOT_EXPONENT 0x1205
+#define GL_SPOT_CUTOFF 0x1206
+#define GL_CONSTANT_ATTENUATION 0x1207
+#define GL_LINEAR_ATTENUATION 0x1208
+#define GL_QUADRATIC_ATTENUATION 0x1209
/* ListMode */
-#define GL_COMPILE 0x1300
-#define GL_COMPILE_AND_EXECUTE 0x1301
+#define GL_COMPILE 0x1300
+#define GL_COMPILE_AND_EXECUTE 0x1301
/* DataType */
-#define GL_BYTE 0x1400
-#define GL_UNSIGNED_BYTE 0x1401
-#define GL_SHORT 0x1402
-#define GL_UNSIGNED_SHORT 0x1403
-#define GL_INT 0x1404
-#define GL_UNSIGNED_INT 0x1405
-#define GL_FLOAT 0x1406
-#define GL_2_BYTES 0x1407
-#define GL_3_BYTES 0x1408
-#define GL_4_BYTES 0x1409
-#define GL_DOUBLE 0x140A
-#define GL_DOUBLE_EXT 0x140A
+#define GL_BYTE 0x1400
+#define GL_UNSIGNED_BYTE 0x1401
+#define GL_SHORT 0x1402
+#define GL_UNSIGNED_SHORT 0x1403
+#define GL_INT 0x1404
+#define GL_UNSIGNED_INT 0x1405
+#define GL_FLOAT 0x1406
+#define GL_2_BYTES 0x1407
+#define GL_3_BYTES 0x1408
+#define GL_4_BYTES 0x1409
+#define GL_DOUBLE 0x140A
+#define GL_DOUBLE_EXT 0x140A
/* ListNameType */
/* GL_BYTE */
@@ -724,22 +725,22 @@ typedef void GLvoid;
/* GL_4_BYTES */
/* LogicOp */
-#define GL_CLEAR 0x1500
-#define GL_AND 0x1501
-#define GL_AND_REVERSE 0x1502
-#define GL_COPY 0x1503
-#define GL_AND_INVERTED 0x1504
-#define GL_NOOP 0x1505
-#define GL_XOR 0x1506
-#define GL_OR 0x1507
-#define GL_NOR 0x1508
-#define GL_EQUIV 0x1509
-#define GL_INVERT 0x150A
-#define GL_OR_REVERSE 0x150B
-#define GL_COPY_INVERTED 0x150C
-#define GL_OR_INVERTED 0x150D
-#define GL_NAND 0x150E
-#define GL_SET 0x150F
+#define GL_CLEAR 0x1500
+#define GL_AND 0x1501
+#define GL_AND_REVERSE 0x1502
+#define GL_COPY 0x1503
+#define GL_AND_INVERTED 0x1504
+#define GL_NOOP 0x1505
+#define GL_XOR 0x1506
+#define GL_OR 0x1507
+#define GL_NOR 0x1508
+#define GL_EQUIV 0x1509
+#define GL_INVERT 0x150A
+#define GL_OR_REVERSE 0x150B
+#define GL_COPY_INVERTED 0x150C
+#define GL_OR_INVERTED 0x150D
+#define GL_NAND 0x150E
+#define GL_SET 0x150F
/* MapTarget */
/* GL_MAP1_COLOR_4 */
@@ -767,18 +768,18 @@ typedef void GLvoid;
/* GL_FRONT_AND_BACK */
/* MaterialParameter */
-#define GL_EMISSION 0x1600
-#define GL_SHININESS 0x1601
-#define GL_AMBIENT_AND_DIFFUSE 0x1602
-#define GL_COLOR_INDEXES 0x1603
+#define GL_EMISSION 0x1600
+#define GL_SHININESS 0x1601
+#define GL_AMBIENT_AND_DIFFUSE 0x1602
+#define GL_COLOR_INDEXES 0x1603
/* GL_AMBIENT */
/* GL_DIFFUSE */
/* GL_SPECULAR */
/* MatrixMode */
-#define GL_MODELVIEW 0x1700
-#define GL_PROJECTION 0x1701
-#define GL_TEXTURE 0x1702
+#define GL_MODELVIEW 0x1700
+#define GL_PROJECTION 0x1701
+#define GL_TEXTURE 0x1702
/* MeshMode1 */
/* GL_POINT */
@@ -797,22 +798,22 @@ typedef void GLvoid;
/* GL_DOUBLE */
/* PixelCopyType */
-#define GL_COLOR 0x1800
-#define GL_DEPTH 0x1801
-#define GL_STENCIL 0x1802
+#define GL_COLOR 0x1800
+#define GL_DEPTH 0x1801
+#define GL_STENCIL 0x1802
/* PixelFormat */
-#define GL_COLOR_INDEX 0x1900
-#define GL_STENCIL_INDEX 0x1901
-#define GL_DEPTH_COMPONENT 0x1902
-#define GL_RED 0x1903
-#define GL_GREEN 0x1904
-#define GL_BLUE 0x1905
-#define GL_ALPHA 0x1906
-#define GL_RGB 0x1907
-#define GL_RGBA 0x1908
-#define GL_LUMINANCE 0x1909
-#define GL_LUMINANCE_ALPHA 0x190A
+#define GL_COLOR_INDEX 0x1900
+#define GL_STENCIL_INDEX 0x1901
+#define GL_DEPTH_COMPONENT 0x1902
+#define GL_RED 0x1903
+#define GL_GREEN 0x1904
+#define GL_BLUE 0x1905
+#define GL_ALPHA 0x1906
+#define GL_RGB 0x1907
+#define GL_RGBA 0x1908
+#define GL_LUMINANCE 0x1909
+#define GL_LUMINANCE_ALPHA 0x190A
/* GL_ABGR_EXT */
/* PixelMap */
@@ -858,7 +859,7 @@ typedef void GLvoid;
/* GL_DEPTH_BIAS */
/* PixelType */
-#define GL_BITMAP 0x1A00
+#define GL_BITMAP 0x1A00
/* GL_BYTE */
/* GL_UNSIGNED_BYTE */
/* GL_SHORT */
@@ -873,9 +874,9 @@ typedef void GLvoid;
/* GL_UNSIGNED_INT_10_10_10_2_EXT */
/* PolygonMode */
-#define GL_POINT 0x1B00
-#define GL_LINE 0x1B01
-#define GL_FILL 0x1B02
+#define GL_POINT 0x1B00
+#define GL_LINE 0x1B01
+#define GL_FILL 0x1B02
/* ReadBufferMode */
/* GL_FRONT_LEFT */
@@ -896,13 +897,13 @@ typedef void GLvoid;
/* GL_AUX7 */
/* RenderingMode */
-#define GL_RENDER 0x1C00
-#define GL_FEEDBACK 0x1C01
-#define GL_SELECT 0x1C02
+#define GL_RENDER 0x1C00
+#define GL_FEEDBACK 0x1C01
+#define GL_SELECT 0x1C02
/* ShadingModel */
-#define GL_FLAT 0x1D00
-#define GL_SMOOTH 0x1D01
+#define GL_FLAT 0x1D00
+#define GL_SMOOTH 0x1D01
/* StencilFunction */
/* GL_NEVER */
@@ -916,17 +917,17 @@ typedef void GLvoid;
/* StencilOp */
/* GL_ZERO */
-#define GL_KEEP 0x1E00
-#define GL_REPLACE 0x1E01
-#define GL_INCR 0x1E02
-#define GL_DECR 0x1E03
+#define GL_KEEP 0x1E00
+#define GL_REPLACE 0x1E01
+#define GL_INCR 0x1E02
+#define GL_DECR 0x1E03
/* GL_INVERT */
/* StringName */
-#define GL_VENDOR 0x1F00
-#define GL_RENDERER 0x1F01
-#define GL_VERSION 0x1F02
-#define GL_EXTENSIONS 0x1F03
+#define GL_VENDOR 0x1F00
+#define GL_RENDERER 0x1F01
+#define GL_VERSION 0x1F02
+#define GL_EXTENSIONS 0x1F03
/* TexCoordPointerType */
/* GL_SHORT */
@@ -935,115 +936,115 @@ typedef void GLvoid;
/* GL_DOUBLE */
/* TextureCoordName */
-#define GL_S 0x2000
-#define GL_T 0x2001
-#define GL_R 0x2002
-#define GL_Q 0x2003
+#define GL_S 0x2000
+#define GL_T 0x2001
+#define GL_R 0x2002
+#define GL_Q 0x2003
/* TextureEnvMode */
-#define GL_MODULATE 0x2100
-#define GL_DECAL 0x2101
+#define GL_MODULATE 0x2100
+#define GL_DECAL 0x2101
/* GL_BLEND */
/* GL_REPLACE */
/* GL_ADD */
/* TextureEnvParameter */
-#define GL_TEXTURE_ENV_MODE 0x2200
-#define GL_TEXTURE_ENV_COLOR 0x2201
+#define GL_TEXTURE_ENV_MODE 0x2200
+#define GL_TEXTURE_ENV_COLOR 0x2201
/* TextureEnvTarget */
-#define GL_TEXTURE_ENV 0x2300
+#define GL_TEXTURE_ENV 0x2300
/* TextureGenMode */
-#define GL_EYE_LINEAR 0x2400
-#define GL_OBJECT_LINEAR 0x2401
-#define GL_SPHERE_MAP 0x2402
+#define GL_EYE_LINEAR 0x2400
+#define GL_OBJECT_LINEAR 0x2401
+#define GL_SPHERE_MAP 0x2402
/* TextureGenParameter */
-#define GL_TEXTURE_GEN_MODE 0x2500
-#define GL_OBJECT_PLANE 0x2501
-#define GL_EYE_PLANE 0x2502
+#define GL_TEXTURE_GEN_MODE 0x2500
+#define GL_OBJECT_PLANE 0x2501
+#define GL_EYE_PLANE 0x2502
/* TextureMagFilter */
-#define GL_NEAREST 0x2600
-#define GL_LINEAR 0x2601
+#define GL_NEAREST 0x2600
+#define GL_LINEAR 0x2601
/* TextureMinFilter */
/* GL_NEAREST */
/* GL_LINEAR */
-#define GL_NEAREST_MIPMAP_NEAREST 0x2700
-#define GL_LINEAR_MIPMAP_NEAREST 0x2701
-#define GL_NEAREST_MIPMAP_LINEAR 0x2702
-#define GL_LINEAR_MIPMAP_LINEAR 0x2703
+#define GL_NEAREST_MIPMAP_NEAREST 0x2700
+#define GL_LINEAR_MIPMAP_NEAREST 0x2701
+#define GL_NEAREST_MIPMAP_LINEAR 0x2702
+#define GL_LINEAR_MIPMAP_LINEAR 0x2703
/* TextureParameterName */
-#define GL_TEXTURE_MAG_FILTER 0x2800
-#define GL_TEXTURE_MIN_FILTER 0x2801
-#define GL_TEXTURE_WRAP_S 0x2802
-#define GL_TEXTURE_WRAP_T 0x2803
+#define GL_TEXTURE_MAG_FILTER 0x2800
+#define GL_TEXTURE_MIN_FILTER 0x2801
+#define GL_TEXTURE_WRAP_S 0x2802
+#define GL_TEXTURE_WRAP_T 0x2803
/* GL_TEXTURE_BORDER_COLOR */
/* GL_TEXTURE_PRIORITY */
/* TextureTarget */
/* GL_TEXTURE_1D */
/* GL_TEXTURE_2D */
-#define GL_PROXY_TEXTURE_1D 0x8063
-#define GL_PROXY_TEXTURE_2D 0x8064
+#define GL_PROXY_TEXTURE_1D 0x8063
+#define GL_PROXY_TEXTURE_2D 0x8064
/* TextureWrapMode */
-#define GL_CLAMP 0x2900
-#define GL_REPEAT 0x2901
+#define GL_CLAMP 0x2900
+#define GL_REPEAT 0x2901
/* PixelInternalFormat */
-#define GL_R3_G3_B2 0x2A10
-#define GL_ALPHA4 0x803B
-#define GL_ALPHA8 0x803C
-#define GL_ALPHA12 0x803D
-#define GL_ALPHA16 0x803E
-#define GL_LUMINANCE4 0x803F
-#define GL_LUMINANCE8 0x8040
-#define GL_LUMINANCE12 0x8041
-#define GL_LUMINANCE16 0x8042
-#define GL_LUMINANCE4_ALPHA4 0x8043
-#define GL_LUMINANCE6_ALPHA2 0x8044
-#define GL_LUMINANCE8_ALPHA8 0x8045
-#define GL_LUMINANCE12_ALPHA4 0x8046
-#define GL_LUMINANCE12_ALPHA12 0x8047
-#define GL_LUMINANCE16_ALPHA16 0x8048
-#define GL_INTENSITY 0x8049
-#define GL_INTENSITY4 0x804A
-#define GL_INTENSITY8 0x804B
-#define GL_INTENSITY12 0x804C
-#define GL_INTENSITY16 0x804D
-#define GL_RGB4 0x804F
-#define GL_RGB5 0x8050
-#define GL_RGB8 0x8051
-#define GL_RGB10 0x8052
-#define GL_RGB12 0x8053
-#define GL_RGB16 0x8054
-#define GL_RGBA2 0x8055
-#define GL_RGBA4 0x8056
-#define GL_RGB5_A1 0x8057
-#define GL_RGBA8 0x8058
-#define GL_RGB10_A2 0x8059
-#define GL_RGBA12 0x805A
-#define GL_RGBA16 0x805B
+#define GL_R3_G3_B2 0x2A10
+#define GL_ALPHA4 0x803B
+#define GL_ALPHA8 0x803C
+#define GL_ALPHA12 0x803D
+#define GL_ALPHA16 0x803E
+#define GL_LUMINANCE4 0x803F
+#define GL_LUMINANCE8 0x8040
+#define GL_LUMINANCE12 0x8041
+#define GL_LUMINANCE16 0x8042
+#define GL_LUMINANCE4_ALPHA4 0x8043
+#define GL_LUMINANCE6_ALPHA2 0x8044
+#define GL_LUMINANCE8_ALPHA8 0x8045
+#define GL_LUMINANCE12_ALPHA4 0x8046
+#define GL_LUMINANCE12_ALPHA12 0x8047
+#define GL_LUMINANCE16_ALPHA16 0x8048
+#define GL_INTENSITY 0x8049
+#define GL_INTENSITY4 0x804A
+#define GL_INTENSITY8 0x804B
+#define GL_INTENSITY12 0x804C
+#define GL_INTENSITY16 0x804D
+#define GL_RGB4 0x804F
+#define GL_RGB5 0x8050
+#define GL_RGB8 0x8051
+#define GL_RGB10 0x8052
+#define GL_RGB12 0x8053
+#define GL_RGB16 0x8054
+#define GL_RGBA2 0x8055
+#define GL_RGBA4 0x8056
+#define GL_RGB5_A1 0x8057
+#define GL_RGBA8 0x8058
+#define GL_RGB10_A2 0x8059
+#define GL_RGBA12 0x805A
+#define GL_RGBA16 0x805B
/* InterleavedArrayFormat */
-#define GL_V2F 0x2A20
-#define GL_V3F 0x2A21
-#define GL_C4UB_V2F 0x2A22
-#define GL_C4UB_V3F 0x2A23
-#define GL_C3F_V3F 0x2A24
-#define GL_N3F_V3F 0x2A25
-#define GL_C4F_N3F_V3F 0x2A26
-#define GL_T2F_V3F 0x2A27
-#define GL_T4F_V4F 0x2A28
-#define GL_T2F_C4UB_V3F 0x2A29
-#define GL_T2F_C3F_V3F 0x2A2A
-#define GL_T2F_N3F_V3F 0x2A2B
-#define GL_T2F_C4F_N3F_V3F 0x2A2C
-#define GL_T4F_C4F_N3F_V4F 0x2A2D
+#define GL_V2F 0x2A20
+#define GL_V3F 0x2A21
+#define GL_C4UB_V2F 0x2A22
+#define GL_C4UB_V3F 0x2A23
+#define GL_C3F_V3F 0x2A24
+#define GL_N3F_V3F 0x2A25
+#define GL_C4F_N3F_V3F 0x2A26
+#define GL_T2F_V3F 0x2A27
+#define GL_T4F_V4F 0x2A28
+#define GL_T2F_C4UB_V3F 0x2A29
+#define GL_T2F_C3F_V3F 0x2A2A
+#define GL_T2F_N3F_V3F 0x2A2B
+#define GL_T2F_C4F_N3F_V3F 0x2A2C
+#define GL_T4F_C4F_N3F_V4F 0x2A2D
/* VertexPointerType */
/* GL_SHORT */
@@ -1052,446 +1053,663 @@ typedef void GLvoid;
/* GL_DOUBLE */
/* ClipPlaneName */
-#define GL_CLIP_PLANE0 0x3000
-#define GL_CLIP_PLANE1 0x3001
-#define GL_CLIP_PLANE2 0x3002
-#define GL_CLIP_PLANE3 0x3003
-#define GL_CLIP_PLANE4 0x3004
-#define GL_CLIP_PLANE5 0x3005
+#define GL_CLIP_PLANE0 0x3000
+#define GL_CLIP_PLANE1 0x3001
+#define GL_CLIP_PLANE2 0x3002
+#define GL_CLIP_PLANE3 0x3003
+#define GL_CLIP_PLANE4 0x3004
+#define GL_CLIP_PLANE5 0x3005
/* LightName */
-#define GL_LIGHT0 0x4000
-#define GL_LIGHT1 0x4001
-#define GL_LIGHT2 0x4002
-#define GL_LIGHT3 0x4003
-#define GL_LIGHT4 0x4004
-#define GL_LIGHT5 0x4005
-#define GL_LIGHT6 0x4006
-#define GL_LIGHT7 0x4007
+#define GL_LIGHT0 0x4000
+#define GL_LIGHT1 0x4001
+#define GL_LIGHT2 0x4002
+#define GL_LIGHT3 0x4003
+#define GL_LIGHT4 0x4004
+#define GL_LIGHT5 0x4005
+#define GL_LIGHT6 0x4006
+#define GL_LIGHT7 0x4007
/* EXT_abgr */
-#define GL_ABGR_EXT 0x8000
+#define GL_ABGR_EXT 0x8000
/* EXT_blend_subtract */
-#define GL_FUNC_SUBTRACT_EXT 0x800A
-#define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B
+#define GL_FUNC_SUBTRACT_EXT 0x800A
+#define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B
/* EXT_packed_pixels */
-#define GL_UNSIGNED_BYTE_3_3_2_EXT 0x8032
-#define GL_UNSIGNED_SHORT_4_4_4_4_EXT 0x8033
-#define GL_UNSIGNED_SHORT_5_5_5_1_EXT 0x8034
-#define GL_UNSIGNED_INT_8_8_8_8_EXT 0x8035
-#define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036
+#define GL_UNSIGNED_BYTE_3_3_2_EXT 0x8032
+#define GL_UNSIGNED_SHORT_4_4_4_4_EXT 0x8033
+#define GL_UNSIGNED_SHORT_5_5_5_1_EXT 0x8034
+#define GL_UNSIGNED_INT_8_8_8_8_EXT 0x8035
+#define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036
/* OpenGL12 */
-#define GL_PACK_SKIP_IMAGES 0x806B
-#define GL_PACK_IMAGE_HEIGHT 0x806C
-#define GL_UNPACK_SKIP_IMAGES 0x806D
-#define GL_UNPACK_IMAGE_HEIGHT 0x806E
-#define GL_TEXTURE_3D 0x806F
-#define GL_PROXY_TEXTURE_3D 0x8070
-#define GL_TEXTURE_DEPTH 0x8071
-#define GL_TEXTURE_WRAP_R 0x8072
-#define GL_MAX_3D_TEXTURE_SIZE 0x8073
-#define GL_BGR 0x80E0
-#define GL_BGRA 0x80E1
-#define GL_UNSIGNED_BYTE_3_3_2 0x8032
-#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
-#define GL_UNSIGNED_SHORT_5_6_5 0x8363
-#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
-#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
-#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
-#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
-#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
-#define GL_UNSIGNED_INT_8_8_8_8 0x8035
-#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
-#define GL_UNSIGNED_INT_10_10_10_2 0x8036
-#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
-#define GL_RESCALE_NORMAL 0x803A
-#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
-#define GL_SINGLE_COLOR 0x81F9
-#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
-#define GL_CLAMP_TO_EDGE 0x812F
-#define GL_TEXTURE_MIN_LOD 0x813A
-#define GL_TEXTURE_MAX_LOD 0x813B
-#define GL_TEXTURE_BASE_LEVEL 0x813C
-#define GL_TEXTURE_MAX_LEVEL 0x813D
-#define GL_MAX_ELEMENTS_VERTICES 0x80E8
-#define GL_MAX_ELEMENTS_INDICES 0x80E9
-#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
-#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
+#define GL_PACK_SKIP_IMAGES 0x806B
+#define GL_PACK_IMAGE_HEIGHT 0x806C
+#define GL_UNPACK_SKIP_IMAGES 0x806D
+#define GL_UNPACK_IMAGE_HEIGHT 0x806E
+#define GL_TEXTURE_3D 0x806F
+#define GL_PROXY_TEXTURE_3D 0x8070
+#define GL_TEXTURE_DEPTH 0x8071
+#define GL_TEXTURE_WRAP_R 0x8072
+#define GL_MAX_3D_TEXTURE_SIZE 0x8073
+#define GL_BGR 0x80E0
+#define GL_BGRA 0x80E1
+#define GL_UNSIGNED_BYTE_3_3_2 0x8032
+#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
+#define GL_UNSIGNED_SHORT_5_6_5 0x8363
+#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
+#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
+#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
+#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
+#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
+#define GL_UNSIGNED_INT_8_8_8_8 0x8035
+#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
+#define GL_UNSIGNED_INT_10_10_10_2 0x8036
+#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
+#define GL_RESCALE_NORMAL 0x803A
+#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
+#define GL_SINGLE_COLOR 0x81F9
+#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
+#define GL_CLAMP_TO_EDGE 0x812F
+#define GL_TEXTURE_MIN_LOD 0x813A
+#define GL_TEXTURE_MAX_LOD 0x813B
+#define GL_TEXTURE_BASE_LEVEL 0x813C
+#define GL_TEXTURE_MAX_LEVEL 0x813D
+#define GL_MAX_ELEMENTS_VERTICES 0x80E8
+#define GL_MAX_ELEMENTS_INDICES 0x80E9
+#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
+#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
/* OpenGL13 */
-#define GL_ACTIVE_TEXTURE 0x84E0
-#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
-#define GL_MAX_TEXTURE_UNITS 0x84E2
-#define GL_TEXTURE0 0x84C0
-#define GL_TEXTURE1 0x84C1
-#define GL_TEXTURE2 0x84C2
-#define GL_TEXTURE3 0x84C3
-#define GL_TEXTURE4 0x84C4
-#define GL_TEXTURE5 0x84C5
-#define GL_TEXTURE6 0x84C6
-#define GL_TEXTURE7 0x84C7
-#define GL_TEXTURE8 0x84C8
-#define GL_TEXTURE9 0x84C9
-#define GL_TEXTURE10 0x84CA
-#define GL_TEXTURE11 0x84CB
-#define GL_TEXTURE12 0x84CC
-#define GL_TEXTURE13 0x84CD
-#define GL_TEXTURE14 0x84CE
-#define GL_TEXTURE15 0x84CF
-#define GL_TEXTURE16 0x84D0
-#define GL_TEXTURE17 0x84D1
-#define GL_TEXTURE18 0x84D2
-#define GL_TEXTURE19 0x84D3
-#define GL_TEXTURE20 0x84D4
-#define GL_TEXTURE21 0x84D5
-#define GL_TEXTURE22 0x84D6
-#define GL_TEXTURE23 0x84D7
-#define GL_TEXTURE24 0x84D8
-#define GL_TEXTURE25 0x84D9
-#define GL_TEXTURE26 0x84DA
-#define GL_TEXTURE27 0x84DB
-#define GL_TEXTURE28 0x84DC
-#define GL_TEXTURE29 0x84DD
-#define GL_TEXTURE30 0x84DE
-#define GL_TEXTURE31 0x84DF
-#define GL_NORMAL_MAP 0x8511
-#define GL_REFLECTION_MAP 0x8512
-#define GL_TEXTURE_CUBE_MAP 0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
-#define GL_COMBINE 0x8570
-#define GL_COMBINE_RGB 0x8571
-#define GL_COMBINE_ALPHA 0x8572
-#define GL_RGB_SCALE 0x8573
-#define GL_ADD_SIGNED 0x8574
-#define GL_INTERPOLATE 0x8575
-#define GL_CONSTANT 0x8576
-#define GL_PRIMARY_COLOR 0x8577
-#define GL_PREVIOUS 0x8578
-#define GL_SOURCE0_RGB 0x8580
-#define GL_SOURCE1_RGB 0x8581
-#define GL_SOURCE2_RGB 0x8582
-#define GL_SOURCE0_ALPHA 0x8588
-#define GL_SOURCE1_ALPHA 0x8589
-#define GL_SOURCE2_ALPHA 0x858A
-#define GL_OPERAND0_RGB 0x8590
-#define GL_OPERAND1_RGB 0x8591
-#define GL_OPERAND2_RGB 0x8592
-#define GL_OPERAND0_ALPHA 0x8598
-#define GL_OPERAND1_ALPHA 0x8599
-#define GL_OPERAND2_ALPHA 0x859A
-#define GL_SUBTRACT 0x84E7
-#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
-#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
-#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
-#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
-#define GL_COMPRESSED_ALPHA 0x84E9
-#define GL_COMPRESSED_LUMINANCE 0x84EA
-#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
-#define GL_COMPRESSED_INTENSITY 0x84EC
-#define GL_COMPRESSED_RGB 0x84ED
-#define GL_COMPRESSED_RGBA 0x84EE
-#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
-#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
-#define GL_TEXTURE_COMPRESSED 0x86A1
-#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
-#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
-#define GL_DOT3_RGB 0x86AE
-#define GL_DOT3_RGBA 0x86AF
-#define GL_CLAMP_TO_BORDER 0x812D
-#define GL_MULTISAMPLE 0x809D
-#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
-#define GL_SAMPLE_COVERAGE 0x80A0
-#define GL_SAMPLE_BUFFERS 0x80A8
-#define GL_SAMPLES 0x80A9
-#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
-#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
-#define GL_MULTISAMPLE_BIT 0x20000000
+#define GL_ACTIVE_TEXTURE 0x84E0
+#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
+#define GL_MAX_TEXTURE_UNITS 0x84E2
+#define GL_TEXTURE0 0x84C0
+#define GL_TEXTURE1 0x84C1
+#define GL_TEXTURE2 0x84C2
+#define GL_TEXTURE3 0x84C3
+#define GL_TEXTURE4 0x84C4
+#define GL_TEXTURE5 0x84C5
+#define GL_TEXTURE6 0x84C6
+#define GL_TEXTURE7 0x84C7
+#define GL_TEXTURE8 0x84C8
+#define GL_TEXTURE9 0x84C9
+#define GL_TEXTURE10 0x84CA
+#define GL_TEXTURE11 0x84CB
+#define GL_TEXTURE12 0x84CC
+#define GL_TEXTURE13 0x84CD
+#define GL_TEXTURE14 0x84CE
+#define GL_TEXTURE15 0x84CF
+#define GL_TEXTURE16 0x84D0
+#define GL_TEXTURE17 0x84D1
+#define GL_TEXTURE18 0x84D2
+#define GL_TEXTURE19 0x84D3
+#define GL_TEXTURE20 0x84D4
+#define GL_TEXTURE21 0x84D5
+#define GL_TEXTURE22 0x84D6
+#define GL_TEXTURE23 0x84D7
+#define GL_TEXTURE24 0x84D8
+#define GL_TEXTURE25 0x84D9
+#define GL_TEXTURE26 0x84DA
+#define GL_TEXTURE27 0x84DB
+#define GL_TEXTURE28 0x84DC
+#define GL_TEXTURE29 0x84DD
+#define GL_TEXTURE30 0x84DE
+#define GL_TEXTURE31 0x84DF
+#define GL_NORMAL_MAP 0x8511
+#define GL_REFLECTION_MAP 0x8512
+#define GL_TEXTURE_CUBE_MAP 0x8513
+#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
+#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
+#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
+#define GL_COMBINE 0x8570
+#define GL_COMBINE_RGB 0x8571
+#define GL_COMBINE_ALPHA 0x8572
+#define GL_RGB_SCALE 0x8573
+#define GL_ADD_SIGNED 0x8574
+#define GL_INTERPOLATE 0x8575
+#define GL_CONSTANT 0x8576
+#define GL_PRIMARY_COLOR 0x8577
+#define GL_PREVIOUS 0x8578
+#define GL_SOURCE0_RGB 0x8580
+#define GL_SOURCE1_RGB 0x8581
+#define GL_SOURCE2_RGB 0x8582
+#define GL_SOURCE0_ALPHA 0x8588
+#define GL_SOURCE1_ALPHA 0x8589
+#define GL_SOURCE2_ALPHA 0x858A
+#define GL_OPERAND0_RGB 0x8590
+#define GL_OPERAND1_RGB 0x8591
+#define GL_OPERAND2_RGB 0x8592
+#define GL_OPERAND0_ALPHA 0x8598
+#define GL_OPERAND1_ALPHA 0x8599
+#define GL_OPERAND2_ALPHA 0x859A
+#define GL_SUBTRACT 0x84E7
+#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
+#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
+#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
+#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
+#define GL_COMPRESSED_ALPHA 0x84E9
+#define GL_COMPRESSED_LUMINANCE 0x84EA
+#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
+#define GL_COMPRESSED_INTENSITY 0x84EC
+#define GL_COMPRESSED_RGB 0x84ED
+#define GL_COMPRESSED_RGBA 0x84EE
+#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
+#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
+#define GL_TEXTURE_COMPRESSED 0x86A1
+#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
+#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
+#define GL_DOT3_RGB 0x86AE
+#define GL_DOT3_RGBA 0x86AF
+#define GL_CLAMP_TO_BORDER 0x812D
+#define GL_MULTISAMPLE 0x809D
+#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
+#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
+#define GL_SAMPLE_COVERAGE 0x80A0
+#define GL_SAMPLE_BUFFERS 0x80A8
+#define GL_SAMPLES 0x80A9
+#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
+#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
+#define GL_MULTISAMPLE_BIT 0x20000000
/* EXT_vertex_array */
-#define GL_VERTEX_ARRAY_EXT 0x8074
-#define GL_NORMAL_ARRAY_EXT 0x8075
-#define GL_COLOR_ARRAY_EXT 0x8076
-#define GL_INDEX_ARRAY_EXT 0x8077
-#define GL_TEXTURE_COORD_ARRAY_EXT 0x8078
-#define GL_EDGE_FLAG_ARRAY_EXT 0x8079
-#define GL_VERTEX_ARRAY_SIZE_EXT 0x807A
-#define GL_VERTEX_ARRAY_TYPE_EXT 0x807B
-#define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C
-#define GL_VERTEX_ARRAY_COUNT_EXT 0x807D
-#define GL_NORMAL_ARRAY_TYPE_EXT 0x807E
-#define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F
-#define GL_NORMAL_ARRAY_COUNT_EXT 0x8080
-#define GL_COLOR_ARRAY_SIZE_EXT 0x8081
-#define GL_COLOR_ARRAY_TYPE_EXT 0x8082
-#define GL_COLOR_ARRAY_STRIDE_EXT 0x8083
-#define GL_COLOR_ARRAY_COUNT_EXT 0x8084
-#define GL_INDEX_ARRAY_TYPE_EXT 0x8085
-#define GL_INDEX_ARRAY_STRIDE_EXT 0x8086
-#define GL_INDEX_ARRAY_COUNT_EXT 0x8087
-#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088
-#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089
-#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A
-#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B
-#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C
-#define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D
-#define GL_VERTEX_ARRAY_POINTER_EXT 0x808E
-#define GL_NORMAL_ARRAY_POINTER_EXT 0x808F
-#define GL_COLOR_ARRAY_POINTER_EXT 0x8090
-#define GL_INDEX_ARRAY_POINTER_EXT 0x8091
-#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092
-#define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093
+#define GL_VERTEX_ARRAY_EXT 0x8074
+#define GL_NORMAL_ARRAY_EXT 0x8075
+#define GL_COLOR_ARRAY_EXT 0x8076
+#define GL_INDEX_ARRAY_EXT 0x8077
+#define GL_TEXTURE_COORD_ARRAY_EXT 0x8078
+#define GL_EDGE_FLAG_ARRAY_EXT 0x8079
+#define GL_VERTEX_ARRAY_SIZE_EXT 0x807A
+#define GL_VERTEX_ARRAY_TYPE_EXT 0x807B
+#define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C
+#define GL_VERTEX_ARRAY_COUNT_EXT 0x807D
+#define GL_NORMAL_ARRAY_TYPE_EXT 0x807E
+#define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F
+#define GL_NORMAL_ARRAY_COUNT_EXT 0x8080
+#define GL_COLOR_ARRAY_SIZE_EXT 0x8081
+#define GL_COLOR_ARRAY_TYPE_EXT 0x8082
+#define GL_COLOR_ARRAY_STRIDE_EXT 0x8083
+#define GL_COLOR_ARRAY_COUNT_EXT 0x8084
+#define GL_INDEX_ARRAY_TYPE_EXT 0x8085
+#define GL_INDEX_ARRAY_STRIDE_EXT 0x8086
+#define GL_INDEX_ARRAY_COUNT_EXT 0x8087
+#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088
+#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089
+#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A
+#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B
+#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C
+#define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D
+#define GL_VERTEX_ARRAY_POINTER_EXT 0x808E
+#define GL_NORMAL_ARRAY_POINTER_EXT 0x808F
+#define GL_COLOR_ARRAY_POINTER_EXT 0x8090
+#define GL_INDEX_ARRAY_POINTER_EXT 0x8091
+#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092
+#define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093
/* SGIS_texture_lod */
-#define GL_TEXTURE_MIN_LOD_SGIS 0x813A
-#define GL_TEXTURE_MAX_LOD_SGIS 0x813B
-#define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C
-#define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D
-
-/* EXT_shared_texture_palette */
-#define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB
+#define GL_TEXTURE_MIN_LOD_SGIS 0x813A
+#define GL_TEXTURE_MAX_LOD_SGIS 0x813B
+#define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C
+#define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D
/* EXT_rescale_normal */
-#define GL_RESCALE_NORMAL_EXT 0x803A
+#define GL_RESCALE_NORMAL_EXT 0x803A
/* SGIX_shadow */
-#define GL_TEXTURE_COMPARE_SGIX 0x819A
-#define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B
-#define GL_TEXTURE_LEQUAL_R_SGIX 0x819C
-#define GL_TEXTURE_GEQUAL_R_SGIX 0x819D
+#define GL_TEXTURE_COMPARE_SGIX 0x819A
+#define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B
+#define GL_TEXTURE_LEQUAL_R_SGIX 0x819C
+#define GL_TEXTURE_GEQUAL_R_SGIX 0x819D
/* SGIX_depth_texture */
-#define GL_DEPTH_COMPONENT16_SGIX 0x81A5
-#define GL_DEPTH_COMPONENT24_SGIX 0x81A6
-#define GL_DEPTH_COMPONENT32_SGIX 0x81A7
+#define GL_DEPTH_COMPONENT16_SGIX 0x81A5
+#define GL_DEPTH_COMPONENT24_SGIX 0x81A6
+#define GL_DEPTH_COMPONENT32_SGIX 0x81A7
/* SGIS_generate_mipmap */
-#define GL_GENERATE_MIPMAP_SGIS 0x8191
-#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192
+#define GL_GENERATE_MIPMAP_SGIS 0x8191
+#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192
/* OpenGL14 */
-#define GL_POINT_SIZE_MIN 0x8126
-#define GL_POINT_SIZE_MAX 0x8127
-#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
-#define GL_POINT_DISTANCE_ATTENUATION 0x8129
-#define GL_FOG_COORDINATE_SOURCE 0x8450
-#define GL_FOG_COORDINATE 0x8451
-#define GL_FRAGMENT_DEPTH 0x8452
-#define GL_CURRENT_FOG_COORDINATE 0x8453
-#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454
-#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455
-#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456
-#define GL_FOG_COORDINATE_ARRAY 0x8457
-#define GL_COLOR_SUM 0x8458
-#define GL_CURRENT_SECONDARY_COLOR 0x8459
-#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A
-#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B
-#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C
-#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D
-#define GL_SECONDARY_COLOR_ARRAY 0x845E
-#define GL_INCR_WRAP 0x8507
-#define GL_DECR_WRAP 0x8508
-#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
-#define GL_TEXTURE_FILTER_CONTROL 0x8500
-#define GL_TEXTURE_LOD_BIAS 0x8501
-#define GL_GENERATE_MIPMAP 0x8191
-#define GL_GENERATE_MIPMAP_HINT 0x8192
-#define GL_CONSTANT_COLOR 0x8001
-#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
-#define GL_CONSTANT_ALPHA 0x8003
-#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
-#define GL_BLEND_COLOR 0x8005
-#define GL_BLEND_EQUATION 0x8009
-#define GL_FUNC_ADD 0x8006
-#define GL_MIN 0x8007
-#define GL_MAX 0x8008
-#define GL_FUNC_SUBTRACT 0x800A
-#define GL_FUNC_REVERSE_SUBTRACT 0x800B
-#define GL_BLEND_DST_RGB 0x80C8
-#define GL_BLEND_SRC_RGB 0x80C9
-#define GL_BLEND_DST_ALPHA 0x80CA
-#define GL_BLEND_SRC_ALPHA 0x80CB
-#define GL_MIRRORED_REPEAT 0x8370
-#define GL_DEPTH_COMPONENT16 0x81A5
-#define GL_DEPTH_COMPONENT24 0x81A6
-#define GL_DEPTH_COMPONENT32 0x81A7
-#define GL_TEXTURE_DEPTH_SIZE 0x884A
-#define GL_DEPTH_TEXTURE_MODE 0x884B
-#define GL_TEXTURE_COMPARE_MODE 0x884C
-#define GL_TEXTURE_COMPARE_FUNC 0x884D
-#define GL_COMPARE_R_TO_TEXTURE 0x884E
+#define GL_POINT_SIZE_MIN 0x8126
+#define GL_POINT_SIZE_MAX 0x8127
+#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
+#define GL_POINT_DISTANCE_ATTENUATION 0x8129
+#define GL_FOG_COORDINATE_SOURCE 0x8450
+#define GL_FOG_COORDINATE 0x8451
+#define GL_FRAGMENT_DEPTH 0x8452
+#define GL_CURRENT_FOG_COORDINATE 0x8453
+#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454
+#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455
+#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456
+#define GL_FOG_COORDINATE_ARRAY 0x8457
+#define GL_COLOR_SUM 0x8458
+#define GL_CURRENT_SECONDARY_COLOR 0x8459
+#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A
+#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B
+#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C
+#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D
+#define GL_SECONDARY_COLOR_ARRAY 0x845E
+#define GL_INCR_WRAP 0x8507
+#define GL_DECR_WRAP 0x8508
+#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
+#define GL_TEXTURE_FILTER_CONTROL 0x8500
+#define GL_TEXTURE_LOD_BIAS 0x8501
+#define GL_GENERATE_MIPMAP 0x8191
+#define GL_GENERATE_MIPMAP_HINT 0x8192
+#define GL_CONSTANT_COLOR 0x8001
+#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
+#define GL_CONSTANT_ALPHA 0x8003
+#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
+#define GL_BLEND_COLOR 0x8005
+#define GL_BLEND_EQUATION 0x8009
+#define GL_FUNC_ADD 0x8006
+#define GL_MIN 0x8007
+#define GL_MAX 0x8008
+#define GL_FUNC_SUBTRACT 0x800A
+#define GL_FUNC_REVERSE_SUBTRACT 0x800B
+#define GL_BLEND_DST_RGB 0x80C8
+#define GL_BLEND_SRC_RGB 0x80C9
+#define GL_BLEND_DST_ALPHA 0x80CA
+#define GL_BLEND_SRC_ALPHA 0x80CB
+#define GL_MIRRORED_REPEAT 0x8370
+#define GL_DEPTH_COMPONENT16 0x81A5
+#define GL_DEPTH_COMPONENT24 0x81A6
+#define GL_DEPTH_COMPONENT32 0x81A7
+#define GL_TEXTURE_DEPTH_SIZE 0x884A
+#define GL_DEPTH_TEXTURE_MODE 0x884B
+#define GL_TEXTURE_COMPARE_MODE 0x884C
+#define GL_TEXTURE_COMPARE_FUNC 0x884D
+#define GL_COMPARE_R_TO_TEXTURE 0x884E
/* OpenGL15 */
-#define GL_FOG_COORD_SRC 0x8450
-#define GL_FOG_COORD 0x8451
-#define GL_CURRENT_FOG_COORD 0x8453
-#define GL_FOG_COORD_ARRAY_TYPE 0x8454
-#define GL_FOG_COORD_ARRAY_STRIDE 0x8455
-#define GL_FOG_COORD_ARRAY_POINTER 0x8456
-#define GL_FOG_COORD_ARRAY 0x8457
-#define GL_SRC0_RGB 0x8580
-#define GL_SRC1_RGB 0x8581
-#define GL_SRC2_RGB 0x8582
-#define GL_SRC0_ALPHA 0x8588
-#define GL_SRC1_ALPHA 0x8589
-#define GL_SRC2_ALPHA 0x858A
-#define GL_QUERY_COUNTER_BITS 0x8864
-#define GL_CURRENT_QUERY 0x8865
-#define GL_QUERY_RESULT 0x8866
-#define GL_QUERY_RESULT_AVAILABLE 0x8867
-#define GL_SAMPLES_PASSED 0x8914
-#define GL_ARRAY_BUFFER 0x8892
-#define GL_ELEMENT_ARRAY_BUFFER 0x8893
-#define GL_ARRAY_BUFFER_BINDING 0x8894
-#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
-#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896
-#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897
-#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898
-#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899
-#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
-#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B
-#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C
-#define GL_FOG_COORD_ARRAY_BUFFER_BINDING 0x889D
-#define GL_STREAM_DRAW 0x88E0
-#define GL_STREAM_READ 0x88E1
-#define GL_STREAM_COPY 0x88E2
-#define GL_STATIC_DRAW 0x88E4
-#define GL_STATIC_READ 0x88E5
-#define GL_STATIC_COPY 0x88E6
-#define GL_DYNAMIC_DRAW 0x88E8
-#define GL_DYNAMIC_READ 0x88E9
-#define GL_DYNAMIC_COPY 0x88EA
-#define GL_READ_ONLY 0x88B8
-#define GL_WRITE_ONLY 0x88B9
-#define GL_READ_WRITE 0x88BA
-#define GL_BUFFER_SIZE 0x8764
-#define GL_BUFFER_USAGE 0x8765
-#define GL_BUFFER_ACCESS 0x88BB
-#define GL_BUFFER_MAPPED 0x88BC
-#define GL_BUFFER_MAP_POINTER 0x88BD
+#define GL_FOG_COORD_SRC 0x8450
+#define GL_FOG_COORD 0x8451
+#define GL_CURRENT_FOG_COORD 0x8453
+#define GL_FOG_COORD_ARRAY_TYPE 0x8454
+#define GL_FOG_COORD_ARRAY_STRIDE 0x8455
+#define GL_FOG_COORD_ARRAY_POINTER 0x8456
+#define GL_FOG_COORD_ARRAY 0x8457
+#define GL_SRC0_RGB 0x8580
+#define GL_SRC1_RGB 0x8581
+#define GL_SRC2_RGB 0x8582
+#define GL_SRC0_ALPHA 0x8588
+#define GL_SRC1_ALPHA 0x8589
+#define GL_SRC2_ALPHA 0x858A
+#define GL_QUERY_COUNTER_BITS 0x8864
+#define GL_CURRENT_QUERY 0x8865
+#define GL_QUERY_RESULT 0x8866
+#define GL_QUERY_RESULT_AVAILABLE 0x8867
+#define GL_SAMPLES_PASSED 0x8914
+#define GL_ARRAY_BUFFER 0x8892
+#define GL_ELEMENT_ARRAY_BUFFER 0x8893
+#define GL_ARRAY_BUFFER_BINDING 0x8894
+#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
+#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896
+#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897
+#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898
+#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899
+#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
+#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B
+#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C
+#define GL_FOG_COORD_ARRAY_BUFFER_BINDING 0x889D
+#define GL_STREAM_DRAW 0x88E0
+#define GL_STREAM_READ 0x88E1
+#define GL_STREAM_COPY 0x88E2
+#define GL_STATIC_DRAW 0x88E4
+#define GL_STATIC_READ 0x88E5
+#define GL_STATIC_COPY 0x88E6
+#define GL_DYNAMIC_DRAW 0x88E8
+#define GL_DYNAMIC_READ 0x88E9
+#define GL_DYNAMIC_COPY 0x88EA
+#define GL_READ_ONLY 0x88B8
+#define GL_WRITE_ONLY 0x88B9
+#define GL_READ_WRITE 0x88BA
+#define GL_BUFFER_SIZE 0x8764
+#define GL_BUFFER_USAGE 0x8765
+#define GL_BUFFER_ACCESS 0x88BB
+#define GL_BUFFER_MAPPED 0x88BC
+#define GL_BUFFER_MAP_POINTER 0x88BD
/* OpenGL20 */
-#define GL_CURRENT_PROGRAM 0x8B8D
-#define GL_SHADER_TYPE 0x8B4F
-#define GL_DELETE_STATUS 0x8B80
-#define GL_COMPILE_STATUS 0x8B81
-#define GL_LINK_STATUS 0x8B82
-#define GL_VALIDATE_STATUS 0x8B83
-#define GL_INFO_LOG_LENGTH 0x8B84
-#define GL_ATTACHED_SHADERS 0x8B85
-#define GL_ACTIVE_UNIFORMS 0x8B86
-#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
-#define GL_SHADER_SOURCE_LENGTH 0x8B88
-#define GL_FLOAT_VEC2 0x8B50
-#define GL_FLOAT_VEC3 0x8B51
-#define GL_FLOAT_VEC4 0x8B52
-#define GL_INT_VEC2 0x8B53
-#define GL_INT_VEC3 0x8B54
-#define GL_INT_VEC4 0x8B55
-#define GL_BOOL 0x8B56
-#define GL_BOOL_VEC2 0x8B57
-#define GL_BOOL_VEC3 0x8B58
-#define GL_BOOL_VEC4 0x8B59
-#define GL_FLOAT_MAT2 0x8B5A
-#define GL_FLOAT_MAT3 0x8B5B
-#define GL_FLOAT_MAT4 0x8B5C
-#define GL_SAMPLER_1D 0x8B5D
-#define GL_SAMPLER_2D 0x8B5E
-#define GL_SAMPLER_3D 0x8B5F
-#define GL_SAMPLER_CUBE 0x8B60
-#define GL_SAMPLER_1D_SHADOW 0x8B61
-#define GL_SAMPLER_2D_SHADOW 0x8B62
-#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
-#define GL_VERTEX_SHADER 0x8B31
-#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
-#define GL_MAX_VARYING_FLOATS 0x8B4B
-#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
-#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
-#define GL_ACTIVE_ATTRIBUTES 0x8B89
-#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
-#define GL_FRAGMENT_SHADER 0x8B30
-#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
-#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
-#define GL_MAX_VERTEX_ATTRIBS 0x8869
-#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
-#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
-#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
-#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
-#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
-#define GL_CURRENT_VERTEX_ATTRIB 0x8626
-#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
-#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
-#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
-#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643
-#define GL_MAX_TEXTURE_COORDS 0x8871
-#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
-#define GL_MAX_DRAW_BUFFERS 0x8824
-#define GL_DRAW_BUFFER0 0x8825
-#define GL_DRAW_BUFFER1 0x8826
-#define GL_DRAW_BUFFER2 0x8827
-#define GL_DRAW_BUFFER3 0x8828
-#define GL_DRAW_BUFFER4 0x8829
-#define GL_DRAW_BUFFER5 0x882A
-#define GL_DRAW_BUFFER6 0x882B
-#define GL_DRAW_BUFFER7 0x882C
-#define GL_DRAW_BUFFER8 0x882D
-#define GL_DRAW_BUFFER9 0x882E
-#define GL_DRAW_BUFFER10 0x882F
-#define GL_DRAW_BUFFER11 0x8830
-#define GL_DRAW_BUFFER12 0x8831
-#define GL_DRAW_BUFFER13 0x8832
-#define GL_DRAW_BUFFER14 0x8833
-#define GL_DRAW_BUFFER15 0x8834
-#define GL_POINT_SPRITE 0x8861
-#define GL_COORD_REPLACE 0x8862
-#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
-#define GL_LOWER_LEFT 0x8CA1
-#define GL_UPPER_LEFT 0x8CA2
-#define GL_STENCIL_BACK_FUNC 0x8800
-#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
-#define GL_STENCIL_BACK_REF 0x8CA3
-#define GL_STENCIL_BACK_FAIL 0x8801
-#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
-#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
-#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
-#define GL_BLEND_EQUATION_RGB 0x8009
-#define GL_BLEND_EQUATION_ALPHA 0x883D
+#define GL_CURRENT_PROGRAM 0x8B8D
+#define GL_SHADER_TYPE 0x8B4F
+#define GL_DELETE_STATUS 0x8B80
+#define GL_COMPILE_STATUS 0x8B81
+#define GL_LINK_STATUS 0x8B82
+#define GL_VALIDATE_STATUS 0x8B83
+#define GL_INFO_LOG_LENGTH 0x8B84
+#define GL_ATTACHED_SHADERS 0x8B85
+#define GL_ACTIVE_UNIFORMS 0x8B86
+#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
+#define GL_SHADER_SOURCE_LENGTH 0x8B88
+#define GL_FLOAT_VEC2 0x8B50
+#define GL_FLOAT_VEC3 0x8B51
+#define GL_FLOAT_VEC4 0x8B52
+#define GL_INT_VEC2 0x8B53
+#define GL_INT_VEC3 0x8B54
+#define GL_INT_VEC4 0x8B55
+#define GL_BOOL 0x8B56
+#define GL_BOOL_VEC2 0x8B57
+#define GL_BOOL_VEC3 0x8B58
+#define GL_BOOL_VEC4 0x8B59
+#define GL_FLOAT_MAT2 0x8B5A
+#define GL_FLOAT_MAT3 0x8B5B
+#define GL_FLOAT_MAT4 0x8B5C
+#define GL_SAMPLER_1D 0x8B5D
+#define GL_SAMPLER_2D 0x8B5E
+#define GL_SAMPLER_3D 0x8B5F
+#define GL_SAMPLER_CUBE 0x8B60
+#define GL_SAMPLER_1D_SHADOW 0x8B61
+#define GL_SAMPLER_2D_SHADOW 0x8B62
+#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
+#define GL_VERTEX_SHADER 0x8B31
+#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
+#define GL_MAX_VARYING_FLOATS 0x8B4B
+#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
+#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
+#define GL_ACTIVE_ATTRIBUTES 0x8B89
+#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
+#define GL_FRAGMENT_SHADER 0x8B30
+#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
+#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
+#define GL_MAX_VERTEX_ATTRIBS 0x8869
+#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
+#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
+#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
+#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
+#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
+#define GL_CURRENT_VERTEX_ATTRIB 0x8626
+#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
+#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
+#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
+#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643
+#define GL_MAX_TEXTURE_COORDS 0x8871
+#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
+#define GL_MAX_DRAW_BUFFERS 0x8824
+#define GL_DRAW_BUFFER0 0x8825
+#define GL_DRAW_BUFFER1 0x8826
+#define GL_DRAW_BUFFER2 0x8827
+#define GL_DRAW_BUFFER3 0x8828
+#define GL_DRAW_BUFFER4 0x8829
+#define GL_DRAW_BUFFER5 0x882A
+#define GL_DRAW_BUFFER6 0x882B
+#define GL_DRAW_BUFFER7 0x882C
+#define GL_DRAW_BUFFER8 0x882D
+#define GL_DRAW_BUFFER9 0x882E
+#define GL_DRAW_BUFFER10 0x882F
+#define GL_DRAW_BUFFER11 0x8830
+#define GL_DRAW_BUFFER12 0x8831
+#define GL_DRAW_BUFFER13 0x8832
+#define GL_DRAW_BUFFER14 0x8833
+#define GL_DRAW_BUFFER15 0x8834
+#define GL_POINT_SPRITE 0x8861
+#define GL_COORD_REPLACE 0x8862
+#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
+#define GL_LOWER_LEFT 0x8CA1
+#define GL_UPPER_LEFT 0x8CA2
+#define GL_STENCIL_BACK_FUNC 0x8800
+#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
+#define GL_STENCIL_BACK_REF 0x8CA3
+#define GL_STENCIL_BACK_FAIL 0x8801
+#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
+#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
+#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
+#define GL_BLEND_EQUATION_RGB 0x8009
+#define GL_BLEND_EQUATION_ALPHA 0x883D
/* OpenGL21 */
-#define GL_PIXEL_PACK_BUFFER 0x88EB
-#define GL_PIXEL_UNPACK_BUFFER 0x88EC
-#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
-#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
-#define GL_SRGB 0x8C40
-#define GL_SRGB8 0x8C41
-#define GL_SRGB_ALPHA 0x8C42
-#define GL_SRGB8_ALPHA8 0x8C43
-#define GL_SLUMINANCE_ALPHA 0x8C44
-#define GL_SLUMINANCE8_ALPHA8 0x8C45
-#define GL_SLUMINANCE 0x8C46
-#define GL_SLUMINANCE8 0x8C47
-#define GL_COMPRESSED_SRGB 0x8C48
-#define GL_COMPRESSED_SRGB_ALPHA 0x8C49
-#define GL_COMPRESSED_SLUMINANCE 0x8C4A
-#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B
-#define GL_FLOAT_MAT2x3 0x8B65
-#define GL_FLOAT_MAT2x4 0x8B66
-#define GL_FLOAT_MAT3x2 0x8B67
-#define GL_FLOAT_MAT3x4 0x8B68
-#define GL_FLOAT_MAT4x2 0x8B69
-#define GL_FLOAT_MAT4x3 0x8B6A
-#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F
+#define GL_PIXEL_PACK_BUFFER 0x88EB
+#define GL_PIXEL_UNPACK_BUFFER 0x88EC
+#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
+#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
+#define GL_SRGB 0x8C40
+#define GL_SRGB8 0x8C41
+#define GL_SRGB_ALPHA 0x8C42
+#define GL_SRGB8_ALPHA8 0x8C43
+#define GL_SLUMINANCE_ALPHA 0x8C44
+#define GL_SLUMINANCE8_ALPHA8 0x8C45
+#define GL_SLUMINANCE 0x8C46
+#define GL_SLUMINANCE8 0x8C47
+#define GL_COMPRESSED_SRGB 0x8C48
+#define GL_COMPRESSED_SRGB_ALPHA 0x8C49
+#define GL_COMPRESSED_SLUMINANCE 0x8C4A
+#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B
+#define GL_FLOAT_MAT2x3 0x8B65
+#define GL_FLOAT_MAT2x4 0x8B66
+#define GL_FLOAT_MAT3x2 0x8B67
+#define GL_FLOAT_MAT3x4 0x8B68
+#define GL_FLOAT_MAT4x2 0x8B69
+#define GL_FLOAT_MAT4x3 0x8B6A
+#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F
+
+/* OpenGL30 */
+#define GL_MAP_READ_BIT 0x0001
+#define GL_MAP_WRITE_BIT 0x0002
+#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
+#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
+#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
+#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
+#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x0001
+#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
+#define GL_MAX_CLIP_DISTANCES GL_MAX_CLIP_PLANES
+#define GL_HALF_FLOAT 0x140B
+#define GL_CLIP_DISTANCE0 GL_CLIP_PLANE0
+#define GL_CLIP_DISTANCE1 GL_CLIP_PLANE1
+#define GL_CLIP_DISTANCE2 GL_CLIP_PLANE2
+#define GL_CLIP_DISTANCE3 GL_CLIP_PLANE3
+#define GL_CLIP_DISTANCE4 GL_CLIP_PLANE4
+#define GL_CLIP_DISTANCE5 GL_CLIP_PLANE5
+#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
+#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
+#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
+#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
+#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
+#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
+#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
+#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
+#define GL_FRAMEBUFFER_DEFAULT 0x8218
+#define GL_FRAMEBUFFER_UNDEFINED 0x8219
+#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
+#define GL_MAJOR_VERSION 0x821B
+#define GL_MINOR_VERSION 0x821C
+#define GL_NUM_EXTENSIONS 0x821D
+#define GL_CONTEXT_FLAGS 0x821E
+#define GL_INDEX 0x8222
+#define GL_DEPTH_BUFFER 0x8223
+#define GL_STENCIL_BUFFER 0x8224
+#define GL_COMPRESSED_RED 0x8225
+#define GL_COMPRESSED_RG 0x8226
+#define GL_RG 0x8227
+#define GL_RG_INTEGER 0x8228
+#define GL_R8 0x8229
+#define GL_R16 0x822A
+#define GL_RG8 0x822B
+#define GL_RG16 0x822C
+#define GL_R16F 0x822D
+#define GL_R32F 0x822E
+#define GL_RG16F 0x822F
+#define GL_RG32F 0x8230
+#define GL_R8I 0x8231
+#define GL_R8UI 0x8232
+#define GL_R16I 0x8233
+#define GL_R16UI 0x8234
+#define GL_R32I 0x8235
+#define GL_R32UI 0x8236
+#define GL_RG8I 0x8237
+#define GL_RG8UI 0x8238
+#define GL_RG16I 0x8239
+#define GL_RG16UI 0x823A
+#define GL_RG32I 0x823B
+#define GL_RG32UI 0x823C
+#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
+#define GL_DEPTH_STENCIL 0x84F9
+#define GL_UNSIGNED_INT_24_8 0x84FA
+#define GL_VERTEX_ARRAY_BINDING 0x85B5
+#define GL_RGBA32F 0x8814
+#define GL_RGB32F 0x8815
+#define GL_RGBA16F 0x881A
+#define GL_RGB16F 0x881B
+#define GL_COMPARE_REF_TO_TEXTURE GL_ARB_COMPARE_R_TO_TEXTURE
+#define GL_DEPTH24_STENCIL8 0x88F0
+#define GL_TEXTURE_STENCIL_SIZE 0x88F1
+#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
+#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
+#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
+#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
+#define GL_CLAMP_VERTEX_COLOR 0x891A
+#define GL_CLAMP_FRAGMENT_COLOR 0x891B
+#define GL_CLAMP_READ_COLOR 0x891C
+#define GL_FIXED_ONLY 0x891D
+#define GL_MAX_VARYING_COMPONENTS GL_MAX_VARYING_FLOATS
+#define GL_TEXTURE_RED_TYPE 0x8C10
+#define GL_TEXTURE_GREEN_TYPE 0x8C11
+#define GL_TEXTURE_BLUE_TYPE 0x8C12
+#define GL_TEXTURE_ALPHA_TYPE 0x8C13
+#define GL_TEXTURE_LUMINANCE_TYPE 0x8C14
+#define GL_TEXTURE_INTENSITY_TYPE 0x8C15
+#define GL_TEXTURE_DEPTH_TYPE 0x8C16
+#define GL_UNSIGNED_NORMALIZED 0x8C17
+#define GL_TEXTURE_1D_ARRAY 0x8C18
+#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19
+#define GL_TEXTURE_2D_ARRAY 0x8C1A
+#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B
+#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C
+#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
+#define GL_R11F_G11F_B10F 0x8C3A
+#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
+#define GL_RGB9_E5 0x8C3D
+#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
+#define GL_TEXTURE_SHARED_SIZE 0x8C3F
+#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
+#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
+#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
+#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
+#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
+#define GL_PRIMITIVES_GENERATED 0x8C87
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
+#define GL_RASTERIZER_DISCARD 0x8C89
+#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
+#define GL_INTERLEAVED_ATTRIBS 0x8C8C
+#define GL_SEPARATE_ATTRIBS 0x8C8D
+#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
+#define GL_FRAMEBUFFER_BINDING 0x8CA6
+#define GL_DRAW_FRAMEBUFFER_BINDING GL_FRAMEBUFFER_BINDING
+#define GL_RENDERBUFFER_BINDING 0x8CA7
+#define GL_READ_FRAMEBUFFER 0x8CA8
+#define GL_DRAW_FRAMEBUFFER 0x8CA9
+#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
+#define GL_RENDERBUFFER_SAMPLES 0x8CAB
+#define GL_DEPTH_COMPONENT32F 0x8CAC
+#define GL_DEPTH32F_STENCIL8 0x8CAD
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
+#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
+#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
+#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
+#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB
+#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC
+#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
+#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
+#define GL_COLOR_ATTACHMENT0 0x8CE0
+#define GL_COLOR_ATTACHMENT1 0x8CE1
+#define GL_COLOR_ATTACHMENT2 0x8CE2
+#define GL_COLOR_ATTACHMENT3 0x8CE3
+#define GL_COLOR_ATTACHMENT4 0x8CE4
+#define GL_COLOR_ATTACHMENT5 0x8CE5
+#define GL_COLOR_ATTACHMENT6 0x8CE6
+#define GL_COLOR_ATTACHMENT7 0x8CE7
+#define GL_COLOR_ATTACHMENT8 0x8CE8
+#define GL_COLOR_ATTACHMENT9 0x8CE9
+#define GL_COLOR_ATTACHMENT10 0x8CEA
+#define GL_COLOR_ATTACHMENT11 0x8CEB
+#define GL_COLOR_ATTACHMENT12 0x8CEC
+#define GL_COLOR_ATTACHMENT13 0x8CED
+#define GL_COLOR_ATTACHMENT14 0x8CEE
+#define GL_COLOR_ATTACHMENT15 0x8CEF
+#define GL_DEPTH_ATTACHMENT 0x8D00
+#define GL_STENCIL_ATTACHMENT 0x8D20
+#define GL_FRAMEBUFFER 0x8D40
+#define GL_RENDERBUFFER 0x8D41
+#define GL_RENDERBUFFER_WIDTH 0x8D42
+#define GL_RENDERBUFFER_HEIGHT 0x8D43
+#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
+#define GL_STENCIL_INDEX1 0x8D46
+#define GL_STENCIL_INDEX4 0x8D47
+#define GL_STENCIL_INDEX8 0x8D48
+#define GL_STENCIL_INDEX16 0x8D49
+#define GL_RENDERBUFFER_RED_SIZE 0x8D50
+#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
+#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
+#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
+#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
+#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
+#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
+#define GL_MAX_SAMPLES 0x8D57
+#define GL_RGBA32UI 0x8D70
+#define GL_RGB32UI 0x8D71
+#define GL_RGBA16UI 0x8D76
+#define GL_RGB16UI 0x8D77
+#define GL_RGBA8UI 0x8D7C
+#define GL_RGB8UI 0x8D7D
+#define GL_RGBA32I 0x8D82
+#define GL_RGB32I 0x8D83
+#define GL_RGBA16I 0x8D88
+#define GL_RGB16I 0x8D89
+#define GL_RGBA8I 0x8D8E
+#define GL_RGB8I 0x8D8F
+#define GL_RED_INTEGER 0x8D94
+#define GL_GREEN_INTEGER 0x8D95
+#define GL_BLUE_INTEGER 0x8D96
+#define GL_ALPHA_INTEGER 0x8D97
+#define GL_RGB_INTEGER 0x8D98
+#define GL_RGBA_INTEGER 0x8D99
+#define GL_BGR_INTEGER 0x8D9A
+#define GL_BGRA_INTEGER 0x8D9B
+#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
+#define GL_FRAMEBUFFER_SRGB 0x8DB9
+#define GL_COMPRESSED_RED_RGTC1 0x8DBB
+#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC
+#define GL_COMPRESSED_RG_RGTC2 0x8DBD
+#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE
+#define GL_SAMPLER_1D_ARRAY 0x8DC0
+#define GL_SAMPLER_2D_ARRAY 0x8DC1
+#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3
+#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
+#define GL_SAMPLER_CUBE_SHADOW 0x8DC5
+#define GL_UNSIGNED_INT_VEC2 0x8DC6
+#define GL_UNSIGNED_INT_VEC3 0x8DC7
+#define GL_UNSIGNED_INT_VEC4 0x8DC8
+#define GL_INT_SAMPLER_1D 0x8DC9
+#define GL_INT_SAMPLER_2D 0x8DCA
+#define GL_INT_SAMPLER_3D 0x8DCB
+#define GL_INT_SAMPLER_CUBE 0x8DCC
+#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE
+#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
+#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1
+#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
+#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
+#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
+#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6
+#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
+#define GL_QUERY_WAIT 0x8E13
+#define GL_QUERY_NO_WAIT 0x8E14
+#define GL_QUERY_BY_REGION_WAIT 0x8E15
+#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16
/*************************************************************/
@@ -1806,7 +2024,7 @@ GLAPI void GLAPIENTRY glColorPointer (GLint size, GLenum type, GLsizei stride, c
GLAPI void GLAPIENTRY glDisableClientState (GLenum array);
GLAPI void GLAPIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
GLAPI void GLAPIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
-GLAPI void GLAPIENTRY glEdgeFlagPointer (GLsizei stride, const GLboolean *pointer);
+GLAPI void GLAPIENTRY glEdgeFlagPointer (GLsizei stride, const GLvoid *pointer);
GLAPI void GLAPIENTRY glEnableClientState (GLenum array);
GLAPI void GLAPIENTRY glGetPointerv (GLenum pname, GLvoid* *params);
GLAPI void GLAPIENTRY glIndexPointer (GLenum type, GLsizei stride, const GLvoid *pointer);
@@ -2078,6 +2296,89 @@ GLAPI void GLAPIENTRY glUniformMatrix2x4fv (GLint location, GLsizei count, GLboo
GLAPI void GLAPIENTRY glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
GLAPI void GLAPIENTRY glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
GLAPI void GLAPIENTRY glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void GLAPIENTRY glVertexAttribI1i (GLuint index, GLint x);
+GLAPI void GLAPIENTRY glVertexAttribI2i (GLuint index, GLint x, GLint y);
+GLAPI void GLAPIENTRY glVertexAttribI3i (GLuint index, GLint x, GLint y, GLint z);
+GLAPI void GLAPIENTRY glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w);
+GLAPI void GLAPIENTRY glVertexAttribI1ui (GLuint index, GLuint x);
+GLAPI void GLAPIENTRY glVertexAttribI2ui (GLuint index, GLuint x, GLuint y);
+GLAPI void GLAPIENTRY glVertexAttribI3ui (GLuint index, GLuint x, GLuint y, GLuint z);
+GLAPI void GLAPIENTRY glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+GLAPI void GLAPIENTRY glVertexAttribI1iv (GLuint index, const GLint *v);
+GLAPI void GLAPIENTRY glVertexAttribI2iv (GLuint index, const GLint *v);
+GLAPI void GLAPIENTRY glVertexAttribI3iv (GLuint index, const GLint *v);
+GLAPI void GLAPIENTRY glVertexAttribI4iv (GLuint index, const GLint *v);
+GLAPI void GLAPIENTRY glVertexAttribI1uiv (GLuint index, const GLuint *v);
+GLAPI void GLAPIENTRY glVertexAttribI2uiv (GLuint index, const GLuint *v);
+GLAPI void GLAPIENTRY glVertexAttribI3uiv (GLuint index, const GLuint *v);
+GLAPI void GLAPIENTRY glVertexAttribI4uiv (GLuint index, const GLuint *v);
+GLAPI void GLAPIENTRY glVertexAttribI4bv (GLuint index, const GLbyte *v);
+GLAPI void GLAPIENTRY glVertexAttribI4sv (GLuint index, const GLshort *v);
+GLAPI void GLAPIENTRY glVertexAttribI4ubv (GLuint index, const GLubyte *v);
+GLAPI void GLAPIENTRY glVertexAttribI4usv (GLuint index, const GLushort *v);
+GLAPI void GLAPIENTRY glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+GLAPI void GLAPIENTRY glGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params);
+GLAPI void GLAPIENTRY glGetUniformuiv (GLuint program, GLint location, GLuint *params);
+GLAPI void GLAPIENTRY glBindFragDataLocation (GLuint program, GLuint color, const GLchar *name);
+GLAPI GLint GLAPIENTRY glGetFragDataLocation (GLuint program, const GLchar *name);
+GLAPI void GLAPIENTRY glTexParameterIiv (GLenum target, GLenum pname, const GLint *params);
+GLAPI void GLAPIENTRY glTexParameterIuiv (GLenum target, GLenum pname, const GLuint *params);
+GLAPI void GLAPIENTRY glGetTexParameterIiv (GLenum target, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glGetTexParameterIuiv (GLenum target, GLenum pname, GLuint *params);
+GLAPI void GLAPIENTRY glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+GLAPI void GLAPIENTRY glBindBufferBase (GLenum target, GLuint index, GLuint buffer);
+GLAPI void GLAPIENTRY glGetBooleani_v (GLenum target, GLuint index, GLboolean *data);
+GLAPI void GLAPIENTRY glGetIntegeri_v (GLenum target, GLuint index, GLint *data);
+GLAPI GLboolean GLAPIENTRY glIsEnabledi (GLenum target, GLuint index);
+GLAPI void GLAPIENTRY glColorMaski (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
+GLAPI void GLAPIENTRY glEnablei (GLenum target, GLuint index);
+GLAPI void GLAPIENTRY glDisablei (GLenum target, GLuint index);
+GLAPI const GLubyte * GLAPIENTRY glGetStringi (GLenum name, GLuint index);
+GLAPI void GLAPIENTRY glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+GLAPI GLboolean GLAPIENTRY glIsRenderbuffer (GLuint renderbuffer);
+GLAPI void GLAPIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
+GLAPI void GLAPIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers);
+GLAPI void GLAPIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers);
+GLAPI void GLAPIENTRY glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+GLAPI void GLAPIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params);
+GLAPI GLboolean GLAPIENTRY glIsFramebuffer (GLuint framebuffer);
+GLAPI void GLAPIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
+GLAPI void GLAPIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers);
+GLAPI void GLAPIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers);
+GLAPI GLenum GLAPIENTRY glCheckFramebufferStatus (GLenum target);
+GLAPI void GLAPIENTRY glFramebufferTexture1D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+GLAPI void GLAPIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+GLAPI void GLAPIENTRY glFramebufferTexture3D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+GLAPI void GLAPIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+GLAPI void GLAPIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+GLAPI void GLAPIENTRY glGenerateMipmap (GLenum target);
+GLAPI void GLAPIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+GLAPI void GLAPIENTRY glBindVertexArray (GLuint array);
+GLAPI void GLAPIENTRY glDeleteVertexArrays (GLsizei n, const GLuint *arrays);
+GLAPI void GLAPIENTRY glGenVertexArrays (GLsizei n, GLuint *arrays);
+GLAPI GLboolean GLAPIENTRY glIsVertexArray (GLuint array);
+GLAPI GLvoid* GLAPIENTRY glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
+GLAPI void GLAPIENTRY glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length);
+GLAPI void GLAPIENTRY glBeginConditionalRender (GLuint id, GLenum mode);
+GLAPI void GLAPIENTRY glEndConditionalRender (void);
+GLAPI void GLAPIENTRY glBeginTransformFeedback (GLenum primitiveMode);
+GLAPI void GLAPIENTRY glEndTransformFeedback (void);
+GLAPI void GLAPIENTRY glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode);
+GLAPI void GLAPIENTRY glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+GLAPI void GLAPIENTRY glUniform1ui (GLint location, GLuint v0);
+GLAPI void GLAPIENTRY glUniform2ui (GLint location, GLuint v0, GLuint v1);
+GLAPI void GLAPIENTRY glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2);
+GLAPI void GLAPIENTRY glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+GLAPI void GLAPIENTRY glUniform1uiv (GLint location, GLsizei count, const GLuint *value);
+GLAPI void GLAPIENTRY glUniform2uiv (GLint location, GLsizei count, const GLuint *value);
+GLAPI void GLAPIENTRY glUniform3uiv (GLint location, GLsizei count, const GLuint *value);
+GLAPI void GLAPIENTRY glUniform4uiv (GLint location, GLsizei count, const GLuint *value);
+GLAPI void GLAPIENTRY glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
+GLAPI void GLAPIENTRY glClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat *value);
+GLAPI void GLAPIENTRY glClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint *value);
+GLAPI void GLAPIENTRY glClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint *value);
#ifdef __cplusplus
diff --git a/doc/glext.h b/doc/glext.h
index 9619d78..f6735a9 100755
--- a/doc/glext.h
+++ b/doc/glext.h
@@ -101,6 +101,11 @@ GLAPI void GLAPIENTRY glGetColorTableParameterfv (GLenum target, GLenum pname, G
GLAPI void GLAPIENTRY glGetColorTableParameteriv (GLenum target, GLenum pname, GLint *params);
GLAPI void GLAPIENTRY glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
GLAPI void GLAPIENTRY glTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void GLAPIENTRY glColorSubTableEXT (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *table);
+GLAPI void GLAPIENTRY glColorTableEXT (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
+GLAPI void GLAPIENTRY glGetColorTableEXT (GLenum target, GLenum format, GLenum type, GLvoid *table);
+GLAPI void GLAPIENTRY glGetColorTableParameterfvEXT (GLenum target, GLenum pname, GLfloat *params);
+GLAPI void GLAPIENTRY glGetColorTableParameterivEXT (GLenum target, GLenum pname, GLint *params);
GLAPI void GLAPIENTRY glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
#endif /* GL_GLEXT_PROTOTYPES */
typedef void (GLAPIENTRYP PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
@@ -115,6 +120,11 @@ typedef void (GLAPIENTRYP PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLe
typedef void (GLAPIENTRYP PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
typedef void (GLAPIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
typedef void (GLAPIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (GLAPIENTRYP PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *table);
+typedef void (GLAPIENTRYP PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
+typedef void (GLAPIENTRYP PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
+typedef void (GLAPIENTRYP PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void (GLAPIENTRYP PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
typedef void (GLAPIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
#endif
@@ -583,23 +593,6 @@ typedef void (GLAPIENTRYP PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLf
#endif
-#ifndef GL_EXT_paletted_texture
-#define GL_EXT_paletted_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void GLAPIENTRY glColorSubTableEXT (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *table);
-GLAPI void GLAPIENTRY glColorTableEXT (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
-GLAPI void GLAPIENTRY glGetColorTableEXT (GLenum target, GLenum format, GLenum type, GLvoid *table);
-GLAPI void GLAPIENTRY glGetColorTableParameterfvEXT (GLenum target, GLenum pname, GLfloat *params);
-GLAPI void GLAPIENTRY glGetColorTableParameterivEXT (GLenum target, GLenum pname, GLint *params);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (GLAPIENTRYP PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *table);
-typedef void (GLAPIENTRYP PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
-typedef void (GLAPIENTRYP PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
-typedef void (GLAPIENTRYP PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (GLAPIENTRYP PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
-#endif
-
-
#ifndef GL_WIN_swap_hint
#define GL_WIN_swap_hint 1
#ifdef GL_GLEXT_PROTOTYPES
@@ -609,83 +602,6 @@ typedef void (GLAPIENTRYP PFNGLADDSWAPHINTRECTWINPROC) (GLint x, GLint y, GLsize
#endif
-#ifndef GL_SGIS_multitexture
-#define GL_SGIS_multitexture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void GLAPIENTRY glMultiTexCoord1dSGIS (GLenum target, GLdouble s);
-GLAPI void GLAPIENTRY glMultiTexCoord1dvSGIS (GLenum target, const GLdouble *v);
-GLAPI void GLAPIENTRY glMultiTexCoord1fSGIS (GLenum target, GLfloat s);
-GLAPI void GLAPIENTRY glMultiTexCoord1fvSGIS (GLenum target, const GLfloat *v);
-GLAPI void GLAPIENTRY glMultiTexCoord1iSGIS (GLenum target, GLint s);
-GLAPI void GLAPIENTRY glMultiTexCoord1ivSGIS (GLenum target, const GLint *v);
-GLAPI void GLAPIENTRY glMultiTexCoord1sSGIS (GLenum target, GLshort s);
-GLAPI void GLAPIENTRY glMultiTexCoord1svSGIS (GLenum target, const GLshort *v);
-GLAPI void GLAPIENTRY glMultiTexCoord2dSGIS (GLenum target, GLdouble s, GLdouble t);
-GLAPI void GLAPIENTRY glMultiTexCoord2dvSGIS (GLenum target, const GLdouble *v);
-GLAPI void GLAPIENTRY glMultiTexCoord2fSGIS (GLenum target, GLfloat s, GLfloat t);
-GLAPI void GLAPIENTRY glMultiTexCoord2fvSGIS (GLenum target, const GLfloat *v);
-GLAPI void GLAPIENTRY glMultiTexCoord2iSGIS (GLenum target, GLint s, GLint t);
-GLAPI void GLAPIENTRY glMultiTexCoord2ivSGIS (GLenum target, const GLint *v);
-GLAPI void GLAPIENTRY glMultiTexCoord2sSGIS (GLenum target, GLshort s, GLshort t);
-GLAPI void GLAPIENTRY glMultiTexCoord2svSGIS (GLenum target, const GLshort *v);
-GLAPI void GLAPIENTRY glMultiTexCoord3dSGIS (GLenum target, GLdouble s, GLdouble t, GLdouble r);
-GLAPI void GLAPIENTRY glMultiTexCoord3dvSGIS (GLenum target, const GLdouble *v);
-GLAPI void GLAPIENTRY glMultiTexCoord3fSGIS (GLenum target, GLfloat s, GLfloat t, GLfloat r);
-GLAPI void GLAPIENTRY glMultiTexCoord3fvSGIS (GLenum target, const GLfloat *v);
-GLAPI void GLAPIENTRY glMultiTexCoord3iSGIS (GLenum target, GLint s, GLint t, GLint r);
-GLAPI void GLAPIENTRY glMultiTexCoord3ivSGIS (GLenum target, const GLint *v);
-GLAPI void GLAPIENTRY glMultiTexCoord3sSGIS (GLenum target, GLshort s, GLshort t, GLshort r);
-GLAPI void GLAPIENTRY glMultiTexCoord3svSGIS (GLenum target, const GLshort *v);
-GLAPI void GLAPIENTRY glMultiTexCoord4dSGIS (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
-GLAPI void GLAPIENTRY glMultiTexCoord4dvSGIS (GLenum target, const GLdouble *v);
-GLAPI void GLAPIENTRY glMultiTexCoord4fSGIS (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
-GLAPI void GLAPIENTRY glMultiTexCoord4fvSGIS (GLenum target, const GLfloat *v);
-GLAPI void GLAPIENTRY glMultiTexCoord4iSGIS (GLenum target, GLint s, GLint t, GLint r, GLint q);
-GLAPI void GLAPIENTRY glMultiTexCoord4ivSGIS (GLenum target, const GLint *v);
-GLAPI void GLAPIENTRY glMultiTexCoord4sSGIS (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
-GLAPI void GLAPIENTRY glMultiTexCoord4svSGIS (GLenum target, const GLshort *v);
-GLAPI void GLAPIENTRY glMultiTexCoordPointerSGIS (GLenum target, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-GLAPI void GLAPIENTRY glSelectTextureSGIS (GLenum target);
-GLAPI void GLAPIENTRY glSelectTextureCoordSetSGIS (GLenum target);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD1DSGISPROC) (GLenum target, GLdouble s);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD1DVSGISPROC) (GLenum target, const GLdouble *v);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD1FSGISPROC) (GLenum target, GLfloat s);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD1FVSGISPROC) (GLenum target, const GLfloat *v);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD1ISGISPROC) (GLenum target, GLint s);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD1IVSGISPROC) (GLenum target, const GLint *v);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD1SSGISPROC) (GLenum target, GLshort s);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD1SVSGISPROC) (GLenum target, const GLshort *v);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD2DSGISPROC) (GLenum target, GLdouble s, GLdouble t);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD2DVSGISPROC) (GLenum target, const GLdouble *v);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD2FSGISPROC) (GLenum target, GLfloat s, GLfloat t);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD2FVSGISPROC) (GLenum target, const GLfloat *v);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD2ISGISPROC) (GLenum target, GLint s, GLint t);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD2IVSGISPROC) (GLenum target, const GLint *v);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD2SSGISPROC) (GLenum target, GLshort s, GLshort t);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD2SVSGISPROC) (GLenum target, const GLshort *v);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD3DSGISPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD3DVSGISPROC) (GLenum target, const GLdouble *v);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD3FSGISPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD3FVSGISPROC) (GLenum target, const GLfloat *v);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD3ISGISPROC) (GLenum target, GLint s, GLint t, GLint r);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD3IVSGISPROC) (GLenum target, const GLint *v);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD3SSGISPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD3SVSGISPROC) (GLenum target, const GLshort *v);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD4DSGISPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD4DVSGISPROC) (GLenum target, const GLdouble *v);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD4FSGISPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD4FVSGISPROC) (GLenum target, const GLfloat *v);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD4ISGISPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD4IVSGISPROC) (GLenum target, const GLint *v);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD4SSGISPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORD4SVSGISPROC) (GLenum target, const GLshort *v);
-typedef void (GLAPIENTRYP PFNGLMULTITEXCOORDPOINTERSGISPROC) (GLenum target, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-typedef void (GLAPIENTRYP PFNGLSELECTTEXTURESGISPROC) (GLenum target);
-typedef void (GLAPIENTRYP PFNGLSELECTTEXTURECOORDSETSGISPROC) (GLenum target);
-#endif
-
-
#ifndef GL_EXT_fog_coord
#define GL_EXT_fog_coord 1
#ifdef GL_GLEXT_PROTOTYPES
@@ -1235,6 +1151,385 @@ typedef void (GLAPIENTRYP PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax
#endif
+#ifndef GL_EXT_direct_state_access
+#define GL_EXT_direct_state_access 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void GLAPIENTRY glClientAttribDefaultEXT (GLbitfield mask);
+GLAPI void GLAPIENTRY glPushClientAttribDefaultEXT (GLbitfield mask);
+GLAPI void GLAPIENTRY glMatrixLoadfEXT (GLenum mode, const GLfloat *m);
+GLAPI void GLAPIENTRY glMatrixLoaddEXT (GLenum mode, const GLdouble *m);
+GLAPI void GLAPIENTRY glMatrixMultfEXT (GLenum mode, const GLfloat *m);
+GLAPI void GLAPIENTRY glMatrixMultdEXT (GLenum mode, const GLdouble *m);
+GLAPI void GLAPIENTRY glMatrixLoadIdentityEXT (GLenum mode);
+GLAPI void GLAPIENTRY glMatrixRotatefEXT (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void GLAPIENTRY glMatrixRotatedEXT (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
+GLAPI void GLAPIENTRY glMatrixScalefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void GLAPIENTRY glMatrixScaledEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
+GLAPI void GLAPIENTRY glMatrixTranslatefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void GLAPIENTRY glMatrixTranslatedEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
+GLAPI void GLAPIENTRY glMatrixFrustumEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+GLAPI void GLAPIENTRY glMatrixOrthoEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+GLAPI void GLAPIENTRY glMatrixPopEXT (GLenum mode);
+GLAPI void GLAPIENTRY glMatrixPushEXT (GLenum mode);
+GLAPI void GLAPIENTRY glMatrixLoadTransposefEXT (GLenum mode, const GLfloat *m);
+GLAPI void GLAPIENTRY glMatrixLoadTransposedEXT (GLenum mode, const GLdouble *m);
+GLAPI void GLAPIENTRY glMatrixMultTransposefEXT (GLenum mode, const GLfloat *m);
+GLAPI void GLAPIENTRY glMatrixMultTransposedEXT (GLenum mode, const GLdouble *m);
+GLAPI void GLAPIENTRY glTextureParameterfEXT (GLuint texture, GLenum target, GLenum pname, GLfloat param);
+GLAPI void GLAPIENTRY glTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, const GLfloat *params);
+GLAPI void GLAPIENTRY glTextureParameteriEXT (GLuint texture, GLenum target, GLenum pname, GLint param);
+GLAPI void GLAPIENTRY glTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params);
+GLAPI void GLAPIENTRY glTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void GLAPIENTRY glTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void GLAPIENTRY glTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void GLAPIENTRY glTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void GLAPIENTRY glCopyTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+GLAPI void GLAPIENTRY glCopyTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+GLAPI void GLAPIENTRY glCopyTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+GLAPI void GLAPIENTRY glCopyTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+GLAPI void GLAPIENTRY glGetTextureImageEXT (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
+GLAPI void GLAPIENTRY glGetTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, GLfloat *params);
+GLAPI void GLAPIENTRY glGetTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glGetTextureLevelParameterfvEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);
+GLAPI void GLAPIENTRY glGetTextureLevelParameterivEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void GLAPIENTRY glTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void GLAPIENTRY glCopyTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+GLAPI void GLAPIENTRY glMultiTexParameterfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
+GLAPI void GLAPIENTRY glMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);
+GLAPI void GLAPIENTRY glMultiTexParameteriEXT (GLenum texunit, GLenum target, GLenum pname, GLint param);
+GLAPI void GLAPIENTRY glMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+GLAPI void GLAPIENTRY glMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void GLAPIENTRY glMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void GLAPIENTRY glMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void GLAPIENTRY glMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void GLAPIENTRY glCopyMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+GLAPI void GLAPIENTRY glCopyMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+GLAPI void GLAPIENTRY glCopyMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+GLAPI void GLAPIENTRY glCopyMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+GLAPI void GLAPIENTRY glGetMultiTexImageEXT (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
+GLAPI void GLAPIENTRY glGetMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
+GLAPI void GLAPIENTRY glGetMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glGetMultiTexLevelParameterfvEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);
+GLAPI void GLAPIENTRY glGetMultiTexLevelParameterivEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void GLAPIENTRY glMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void GLAPIENTRY glCopyMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+GLAPI void GLAPIENTRY glBindMultiTextureEXT (GLenum texunit, GLenum target, GLuint texture);
+GLAPI void GLAPIENTRY glEnableClientStateIndexedEXT (GLenum array, GLuint index);
+GLAPI void GLAPIENTRY glDisableClientStateIndexedEXT (GLenum array, GLuint index);
+GLAPI void GLAPIENTRY glMultiTexCoordPointerEXT (GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+GLAPI void GLAPIENTRY glMultiTexEnvfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
+GLAPI void GLAPIENTRY glMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);
+GLAPI void GLAPIENTRY glMultiTexEnviEXT (GLenum texunit, GLenum target, GLenum pname, GLint param);
+GLAPI void GLAPIENTRY glMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+GLAPI void GLAPIENTRY glMultiTexGendEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble param);
+GLAPI void GLAPIENTRY glMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);
+GLAPI void GLAPIENTRY glMultiTexGenfEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat param);
+GLAPI void GLAPIENTRY glMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);
+GLAPI void GLAPIENTRY glMultiTexGeniEXT (GLenum texunit, GLenum coord, GLenum pname, GLint param);
+GLAPI void GLAPIENTRY glMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, const GLint *params);
+GLAPI void GLAPIENTRY glGetMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
+GLAPI void GLAPIENTRY glGetMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glGetMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);
+GLAPI void GLAPIENTRY glGetMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);
+GLAPI void GLAPIENTRY glGetMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glGetFloatIndexedvEXT (GLenum target, GLuint index, GLfloat *data);
+GLAPI void GLAPIENTRY glGetDoubleIndexedvEXT (GLenum target, GLuint index, GLdouble *data);
+GLAPI void GLAPIENTRY glGetPointerIndexedvEXT (GLenum target, GLuint index, GLvoid* *data);
+GLAPI void GLAPIENTRY glCompressedTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);
+GLAPI void GLAPIENTRY glCompressedTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);
+GLAPI void GLAPIENTRY glCompressedTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);
+GLAPI void GLAPIENTRY glCompressedTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);
+GLAPI void GLAPIENTRY glCompressedTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);
+GLAPI void GLAPIENTRY glCompressedTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);
+GLAPI void GLAPIENTRY glGetCompressedTextureImageEXT (GLuint texture, GLenum target, GLint lod, GLvoid *img);
+GLAPI void GLAPIENTRY glCompressedMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);
+GLAPI void GLAPIENTRY glCompressedMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);
+GLAPI void GLAPIENTRY glCompressedMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);
+GLAPI void GLAPIENTRY glCompressedMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);
+GLAPI void GLAPIENTRY glCompressedMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);
+GLAPI void GLAPIENTRY glCompressedMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);
+GLAPI void GLAPIENTRY glGetCompressedMultiTexImageEXT (GLenum texunit, GLenum target, GLint lod, GLvoid *img);
+GLAPI void GLAPIENTRY glNamedProgramStringEXT (GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string);
+GLAPI void GLAPIENTRY glNamedProgramLocalParameter4dEXT (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+GLAPI void GLAPIENTRY glNamedProgramLocalParameter4dvEXT (GLuint program, GLenum target, GLuint index, const GLdouble *params);
+GLAPI void GLAPIENTRY glNamedProgramLocalParameter4fEXT (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+GLAPI void GLAPIENTRY glNamedProgramLocalParameter4fvEXT (GLuint program, GLenum target, GLuint index, const GLfloat *params);
+GLAPI void GLAPIENTRY glGetNamedProgramLocalParameterdvEXT (GLuint program, GLenum target, GLuint index, GLdouble *params);
+GLAPI void GLAPIENTRY glGetNamedProgramLocalParameterfvEXT (GLuint program, GLenum target, GLuint index, GLfloat *params);
+GLAPI void GLAPIENTRY glGetNamedProgramivEXT (GLuint program, GLenum target, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glGetNamedProgramStringEXT (GLuint program, GLenum target, GLenum pname, GLvoid *string);
+GLAPI void GLAPIENTRY glNamedProgramLocalParameters4fvEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params);
+GLAPI void GLAPIENTRY glNamedProgramLocalParameterI4iEXT (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+GLAPI void GLAPIENTRY glNamedProgramLocalParameterI4ivEXT (GLuint program, GLenum target, GLuint index, const GLint *params);
+GLAPI void GLAPIENTRY glNamedProgramLocalParametersI4ivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params);
+GLAPI void GLAPIENTRY glNamedProgramLocalParameterI4uiEXT (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+GLAPI void GLAPIENTRY glNamedProgramLocalParameterI4uivEXT (GLuint program, GLenum target, GLuint index, const GLuint *params);
+GLAPI void GLAPIENTRY glNamedProgramLocalParametersI4uivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);
+GLAPI void GLAPIENTRY glGetNamedProgramLocalParameterIivEXT (GLuint program, GLenum target, GLuint index, GLint *params);
+GLAPI void GLAPIENTRY glGetNamedProgramLocalParameterIuivEXT (GLuint program, GLenum target, GLuint index, GLuint *params);
+GLAPI void GLAPIENTRY glTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params);
+GLAPI void GLAPIENTRY glTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, const GLuint *params);
+GLAPI void GLAPIENTRY glGetTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glGetTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, GLuint *params);
+GLAPI void GLAPIENTRY glMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+GLAPI void GLAPIENTRY glMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, const GLuint *params);
+GLAPI void GLAPIENTRY glGetMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glGetMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, GLuint *params);
+GLAPI void GLAPIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat v0);
+GLAPI void GLAPIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1);
+GLAPI void GLAPIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+GLAPI void GLAPIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+GLAPI void GLAPIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint v0);
+GLAPI void GLAPIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint v0, GLint v1);
+GLAPI void GLAPIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
+GLAPI void GLAPIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+GLAPI void GLAPIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+GLAPI void GLAPIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+GLAPI void GLAPIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+GLAPI void GLAPIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+GLAPI void GLAPIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
+GLAPI void GLAPIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
+GLAPI void GLAPIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
+GLAPI void GLAPIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
+GLAPI void GLAPIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void GLAPIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void GLAPIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void GLAPIENTRY glProgramUniformMatrix2x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void GLAPIENTRY glProgramUniformMatrix3x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void GLAPIENTRY glProgramUniformMatrix2x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void GLAPIENTRY glProgramUniformMatrix4x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void GLAPIENTRY glProgramUniformMatrix3x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void GLAPIENTRY glProgramUniformMatrix4x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void GLAPIENTRY glProgramUniform1uiEXT (GLuint program, GLint location, GLuint v0);
+GLAPI void GLAPIENTRY glProgramUniform2uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1);
+GLAPI void GLAPIENTRY glProgramUniform3uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
+GLAPI void GLAPIENTRY glProgramUniform4uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+GLAPI void GLAPIENTRY glProgramUniform1uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
+GLAPI void GLAPIENTRY glProgramUniform2uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
+GLAPI void GLAPIENTRY glProgramUniform3uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
+GLAPI void GLAPIENTRY glProgramUniform4uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
+GLAPI void GLAPIENTRY glNamedBufferDataEXT (GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage);
+GLAPI void GLAPIENTRY glNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);
+GLAPI GLvoid* GLAPIENTRY glMapNamedBufferEXT (GLuint buffer, GLenum access);
+GLAPI GLboolean GLAPIENTRY glUnmapNamedBufferEXT (GLuint buffer);
+GLAPI void GLAPIENTRY glGetNamedBufferParameterivEXT (GLuint buffer, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glGetNamedBufferPointervEXT (GLuint buffer, GLenum pname, GLvoid* *params);
+GLAPI void GLAPIENTRY glGetNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data);
+GLAPI void GLAPIENTRY glTextureBufferEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);
+GLAPI void GLAPIENTRY glMultiTexBufferEXT (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);
+GLAPI void GLAPIENTRY glNamedRenderbufferStorageEXT (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
+GLAPI void GLAPIENTRY glGetNamedRenderbufferParameterivEXT (GLuint renderbuffer, GLenum pname, GLint *params);
+GLAPI GLenum GLAPIENTRY glCheckNamedFramebufferStatusEXT (GLuint framebuffer, GLenum target);
+GLAPI void GLAPIENTRY glNamedFramebufferTexture1DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+GLAPI void GLAPIENTRY glNamedFramebufferTexture2DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+GLAPI void GLAPIENTRY glNamedFramebufferTexture3DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+GLAPI void GLAPIENTRY glNamedFramebufferRenderbufferEXT (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+GLAPI void GLAPIENTRY glGetNamedFramebufferAttachmentParameterivEXT (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glGenerateTextureMipmapEXT (GLuint texture, GLenum target);
+GLAPI void GLAPIENTRY glGenerateMultiTexMipmapEXT (GLenum texunit, GLenum target);
+GLAPI void GLAPIENTRY glFramebufferDrawBufferEXT (GLuint framebuffer, GLenum mode);
+GLAPI void GLAPIENTRY glFramebufferDrawBuffersEXT (GLuint framebuffer, GLsizei n, const GLenum *bufs);
+GLAPI void GLAPIENTRY glFramebufferReadBufferEXT (GLuint framebuffer, GLenum mode);
+GLAPI void GLAPIENTRY glGetFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glNamedRenderbufferStorageMultisampleEXT (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+GLAPI void GLAPIENTRY glNamedRenderbufferStorageMultisampleCoverageEXT (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
+GLAPI void GLAPIENTRY glNamedFramebufferTextureEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
+GLAPI void GLAPIENTRY glNamedFramebufferTextureLayerEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
+GLAPI void GLAPIENTRY glNamedFramebufferTextureFaceEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);
+GLAPI void GLAPIENTRY glTextureRenderbufferEXT (GLuint texture, GLenum target, GLuint renderbuffer);
+GLAPI void GLAPIENTRY glMultiTexRenderbufferEXT (GLenum texunit, GLenum target, GLuint renderbuffer);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (GLAPIENTRYP PFNGLCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask);
+typedef void (GLAPIENTRYP PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask);
+typedef void (GLAPIENTRYP PFNGLMATRIXLOADFEXTPROC) (GLenum mode, const GLfloat *m);
+typedef void (GLAPIENTRYP PFNGLMATRIXLOADDEXTPROC) (GLenum mode, const GLdouble *m);
+typedef void (GLAPIENTRYP PFNGLMATRIXMULTFEXTPROC) (GLenum mode, const GLfloat *m);
+typedef void (GLAPIENTRYP PFNGLMATRIXMULTDEXTPROC) (GLenum mode, const GLdouble *m);
+typedef void (GLAPIENTRYP PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum mode);
+typedef void (GLAPIENTRYP PFNGLMATRIXROTATEFEXTPROC) (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRYP PFNGLMATRIXROTATEDEXTPROC) (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
+typedef void (GLAPIENTRYP PFNGLMATRIXSCALEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRYP PFNGLMATRIXSCALEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
+typedef void (GLAPIENTRYP PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRYP PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
+typedef void (GLAPIENTRYP PFNGLMATRIXFRUSTUMEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+typedef void (GLAPIENTRYP PFNGLMATRIXORTHOEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+typedef void (GLAPIENTRYP PFNGLMATRIXPOPEXTPROC) (GLenum mode);
+typedef void (GLAPIENTRYP PFNGLMATRIXPUSHEXTPROC) (GLenum mode);
+typedef void (GLAPIENTRYP PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m);
+typedef void (GLAPIENTRYP PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m);
+typedef void (GLAPIENTRYP PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m);
+typedef void (GLAPIENTRYP PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m);
+typedef void (GLAPIENTRYP PFNGLTEXTUREPARAMETERFEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat param);
+typedef void (GLAPIENTRYP PFNGLTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLfloat *params);
+typedef void (GLAPIENTRYP PFNGLTEXTUREPARAMETERIEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint param);
+typedef void (GLAPIENTRYP PFNGLTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint *params);
+typedef void (GLAPIENTRYP PFNGLTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (GLAPIENTRYP PFNGLTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (GLAPIENTRYP PFNGLTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (GLAPIENTRYP PFNGLTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (GLAPIENTRYP PFNGLCOPYTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+typedef void (GLAPIENTRYP PFNGLCOPYTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+typedef void (GLAPIENTRYP PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+typedef void (GLAPIENTRYP PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRYP PFNGLGETTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
+typedef void (GLAPIENTRYP PFNGLGETTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat *params);
+typedef void (GLAPIENTRYP PFNGLGETTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint *params);
+typedef void (GLAPIENTRYP PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);
+typedef void (GLAPIENTRYP PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);
+typedef void (GLAPIENTRYP PFNGLTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (GLAPIENTRYP PFNGLTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (GLAPIENTRYP PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRYP PFNGLMULTITEXPARAMETERFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
+typedef void (GLAPIENTRYP PFNGLMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);
+typedef void (GLAPIENTRYP PFNGLMULTITEXPARAMETERIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param);
+typedef void (GLAPIENTRYP PFNGLMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+typedef void (GLAPIENTRYP PFNGLMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (GLAPIENTRYP PFNGLMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (GLAPIENTRYP PFNGLMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (GLAPIENTRYP PFNGLMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (GLAPIENTRYP PFNGLCOPYMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+typedef void (GLAPIENTRYP PFNGLCOPYMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+typedef void (GLAPIENTRYP PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+typedef void (GLAPIENTRYP PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRYP PFNGLGETMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
+typedef void (GLAPIENTRYP PFNGLGETMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
+typedef void (GLAPIENTRYP PFNGLGETMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+typedef void (GLAPIENTRYP PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);
+typedef void (GLAPIENTRYP PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);
+typedef void (GLAPIENTRYP PFNGLMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (GLAPIENTRYP PFNGLMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (GLAPIENTRYP PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRYP PFNGLBINDMULTITEXTUREEXTPROC) (GLenum texunit, GLenum target, GLuint texture);
+typedef void (GLAPIENTRYP PFNGLENABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index);
+typedef void (GLAPIENTRYP PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index);
+typedef void (GLAPIENTRYP PFNGLMULTITEXCOORDPOINTEREXTPROC) (GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void (GLAPIENTRYP PFNGLMULTITEXENVFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
+typedef void (GLAPIENTRYP PFNGLMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);
+typedef void (GLAPIENTRYP PFNGLMULTITEXENVIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param);
+typedef void (GLAPIENTRYP PFNGLMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+typedef void (GLAPIENTRYP PFNGLMULTITEXGENDEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble param);
+typedef void (GLAPIENTRYP PFNGLMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);
+typedef void (GLAPIENTRYP PFNGLMULTITEXGENFEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat param);
+typedef void (GLAPIENTRYP PFNGLMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);
+typedef void (GLAPIENTRYP PFNGLMULTITEXGENIEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint param);
+typedef void (GLAPIENTRYP PFNGLMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLint *params);
+typedef void (GLAPIENTRYP PFNGLGETMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
+typedef void (GLAPIENTRYP PFNGLGETMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+typedef void (GLAPIENTRYP PFNGLGETMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);
+typedef void (GLAPIENTRYP PFNGLGETMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);
+typedef void (GLAPIENTRYP PFNGLGETMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint *params);
+typedef void (GLAPIENTRYP PFNGLGETFLOATINDEXEDVEXTPROC) (GLenum target, GLuint index, GLfloat *data);
+typedef void (GLAPIENTRYP PFNGLGETDOUBLEINDEXEDVEXTPROC) (GLenum target, GLuint index, GLdouble *data);
+typedef void (GLAPIENTRYP PFNGLGETPOINTERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLvoid* *data);
+typedef void (GLAPIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void (GLAPIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void (GLAPIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void (GLAPIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void (GLAPIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void (GLAPIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void (GLAPIENTRYP PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint lod, GLvoid *img);
+typedef void (GLAPIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void (GLAPIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void (GLAPIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void (GLAPIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void (GLAPIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void (GLAPIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void (GLAPIENTRYP PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint lod, GLvoid *img);
+typedef void (GLAPIENTRYP PFNGLNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string);
+typedef void (GLAPIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (GLAPIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLdouble *params);
+typedef void (GLAPIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (GLAPIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLfloat *params);
+typedef void (GLAPIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble *params);
+typedef void (GLAPIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat *params);
+typedef void (GLAPIENTRYP PFNGLGETNAMEDPROGRAMIVEXTPROC) (GLuint program, GLenum target, GLenum pname, GLint *params);
+typedef void (GLAPIENTRYP PFNGLGETNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum pname, GLvoid *string);
+typedef void (GLAPIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params);
+typedef void (GLAPIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+typedef void (GLAPIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLint *params);
+typedef void (GLAPIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params);
+typedef void (GLAPIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+typedef void (GLAPIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLuint *params);
+typedef void (GLAPIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);
+typedef void (GLAPIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLint *params);
+typedef void (GLAPIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint *params);
+typedef void (GLAPIENTRYP PFNGLTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint *params);
+typedef void (GLAPIENTRYP PFNGLTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLuint *params);
+typedef void (GLAPIENTRYP PFNGLGETTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint *params);
+typedef void (GLAPIENTRYP PFNGLGETTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLuint *params);
+typedef void (GLAPIENTRYP PFNGLMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+typedef void (GLAPIENTRYP PFNGLMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLuint *params);
+typedef void (GLAPIENTRYP PFNGLGETMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+typedef void (GLAPIENTRYP PFNGLGETMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLuint *params);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void (GLAPIENTRYP PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void (GLAPIENTRYP PFNGLNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage);
+typedef void (GLAPIENTRYP PFNGLNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);
+typedef GLvoid* (GLAPIENTRYP PFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, GLenum access);
+typedef GLboolean (GLAPIENTRYP PFNGLUNMAPNAMEDBUFFEREXTPROC) (GLuint buffer);
+typedef void (GLAPIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) (GLuint buffer, GLenum pname, GLint *params);
+typedef void (GLAPIENTRYP PFNGLGETNAMEDBUFFERPOINTERVEXTPROC) (GLuint buffer, GLenum pname, GLvoid* *params);
+typedef void (GLAPIENTRYP PFNGLGETNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data);
+typedef void (GLAPIENTRYP PFNGLTEXTUREBUFFEREXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);
+typedef void (GLAPIENTRYP PFNGLMULTITEXBUFFEREXTPROC) (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);
+typedef void (GLAPIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) (GLuint renderbuffer, GLenum pname, GLint *params);
+typedef GLenum (GLAPIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) (GLuint framebuffer, GLenum target);
+typedef void (GLAPIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (GLAPIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (GLAPIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+typedef void (GLAPIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+typedef void (GLAPIENTRYP PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);
+typedef void (GLAPIENTRYP PFNGLGENERATETEXTUREMIPMAPEXTPROC) (GLuint texture, GLenum target);
+typedef void (GLAPIENTRYP PFNGLGENERATEMULTITEXMIPMAPEXTPROC) (GLenum texunit, GLenum target);
+typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) (GLuint framebuffer, GLenum mode);
+typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) (GLuint framebuffer, GLsizei n, const GLenum *bufs);
+typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERREADBUFFEREXTPROC) (GLuint framebuffer, GLenum mode);
+typedef void (GLAPIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint *params);
+typedef void (GLAPIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
+typedef void (GLAPIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef void (GLAPIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);
+typedef void (GLAPIENTRYP PFNGLTEXTURERENDERBUFFEREXTPROC) (GLuint texture, GLenum target, GLuint renderbuffer);
+typedef void (GLAPIENTRYP PFNGLMULTITEXRENDERBUFFEREXTPROC) (GLenum texunit, GLenum target, GLuint renderbuffer);
+#endif
+
+
#ifndef GL_ARB_vertex_program
#define GL_ARB_vertex_program 1
#ifdef GL_GLEXT_PROTOTYPES
@@ -1406,21 +1701,6 @@ typedef GLboolean (GLAPIENTRYP PFNGLUNMAPBUFFERARBPROC) (GLenum target);
#endif
-#ifndef GL_ARB_vertex_array_set_object
-#define GL_ARB_vertex_array_set_object 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void GLAPIENTRY glBindArraySetARB (GLuint buffer);
-GLAPI void GLAPIENTRY glDeleteArraySetsARB (GLsizei n, const GLuint *buffers);
-GLAPI void GLAPIENTRY glGenArraySetsARB (GLsizei n, GLuint *buffers);
-GLAPI GLboolean GLAPIENTRY glIsArraySetARB (GLuint buffer);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (GLAPIENTRYP PFNGLBINDARRAYSETARBPROC) (GLuint buffer);
-typedef void (GLAPIENTRYP PFNGLDELETEARRAYSETSARBPROC) (GLsizei n, const GLuint *buffers);
-typedef void (GLAPIENTRYP PFNGLGENARRAYSETSARBPROC) (GLsizei n, GLuint *buffers);
-typedef GLboolean (GLAPIENTRYP PFNGLISARRAYSETARBPROC) (GLuint buffer);
-#endif
-
-
#ifndef GL_ARB_occlusion_query
#define GL_ARB_occlusion_query 1
#ifdef GL_GLEXT_PROTOTYPES
@@ -1940,6 +2220,19 @@ typedef void (GLAPIENTRYP PFNGLDRAWTRANSFORMFEEDBACKNVPROC) (GLenum mode, GLuint
#endif
+#ifndef GL_NV_transform_feedback3
+#define GL_NV_transform_feedback3 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void GLAPIENTRY glTransformFeedbackStreamAttribsNV (GLsizei count, const GLint *attribs, GLsizei nbuffers, const GLint *bufstreams, GLenum bufferMode);
+GLAPI void GLAPIENTRY glDrawTransformFeedbackStreamNV (GLenum mode, GLuint id, GLuint stream);
+GLAPI void GLAPIENTRY glVertexDrawStreamNV (GLuint stream);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (GLAPIENTRYP PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC) (GLsizei count, const GLint *attribs, GLsizei nbuffers, const GLint *bufstreams, GLenum bufferMode);
+typedef void (GLAPIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMNVPROC) (GLenum mode, GLuint id, GLuint stream);
+typedef void (GLAPIENTRYP PFNGLVERTEXDRAWSTREAMNVPROC) (GLuint stream);
+#endif
+
+
#ifndef GL_NV_depth_buffer_float
#define GL_NV_depth_buffer_float 1
#ifdef GL_GLEXT_PROTOTYPES
@@ -2147,6 +2440,17 @@ typedef void (GLAPIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsiz
#endif
+#ifndef GL_ARB_draw_instanced
+#define GL_ARB_draw_instanced 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void GLAPIENTRY glDrawArraysInstancedARB (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
+GLAPI void GLAPIENTRY glDrawElementsInstancedARB (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (GLAPIENTRYP PFNGLDRAWARRAYSINSTANCEDARBPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
+typedef void (GLAPIENTRYP PFNGLDRAWELEMENTSINSTANCEDARBPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
+#endif
+
+
#ifndef GL_EXT_texture_buffer_object
#define GL_EXT_texture_buffer_object 1
#ifdef GL_GLEXT_PROTOTYPES
@@ -2156,6 +2460,15 @@ typedef void (GLAPIENTRYP PFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum internal
#endif
+#ifndef GL_ARB_texture_buffer_object
+#define GL_ARB_texture_buffer_object 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void GLAPIENTRY glTexBufferARB (GLenum target, GLenum internalformat, GLuint buffer);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (GLAPIENTRYP PFNGLTEXBUFFERARBPROC) (GLenum target, GLenum internalformat, GLuint buffer);
+#endif
+
+
#ifndef GL_NVX_gpu_sync_buffer
#define GL_NVX_gpu_sync_buffer 1
#ifdef GL_GLEXT_PROTOTYPES
@@ -2183,14 +2496,8 @@ typedef void (GLAPIENTRYP PFNGLGPUSYNCRELEASENVXPROC) (GLvoid* syncData);
#define GL_NV_geometry_program4 1
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void GLAPIENTRY glProgramVertexLimitNV (GLenum target, GLint limit);
-GLAPI void GLAPIENTRY glFramebufferTextureEXT (GLenum target, GLenum attachment, GLuint texture, GLint level);
-GLAPI void GLAPIENTRY glFramebufferTextureLayerEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
-GLAPI void GLAPIENTRY glFramebufferTextureFaceEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
#endif /* GL_GLEXT_PROTOTYPES */
typedef void (GLAPIENTRYP PFNGLPROGRAMVERTEXLIMITNVPROC) (GLenum target, GLint limit);
-typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
-typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
-typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
#endif
@@ -2227,8 +2534,29 @@ typedef void (GLAPIENTRYP PFNGLUNIFORM4UIVEXTPROC) (GLint location, GLsizei coun
#define GL_EXT_geometry_shader4 1
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void GLAPIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
+GLAPI void GLAPIENTRY glFramebufferTextureEXT (GLenum target, GLenum attachment, GLuint texture, GLint level);
+GLAPI void GLAPIENTRY glFramebufferTextureLayerEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+GLAPI void GLAPIENTRY glFramebufferTextureFaceEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
#endif /* GL_GLEXT_PROTOTYPES */
typedef void (GLAPIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
+typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
+typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
+#endif
+
+
+#ifndef GL_ARB_geometry_shader4
+#define GL_ARB_geometry_shader4 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void GLAPIENTRY glProgramParameteriARB (GLuint program, GLenum pname, GLint value);
+GLAPI void GLAPIENTRY glFramebufferTextureARB (GLenum target, GLenum attachment, GLuint texture, GLint level);
+GLAPI void GLAPIENTRY glFramebufferTextureLayerARB (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+GLAPI void GLAPIENTRY glFramebufferTextureFaceARB (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (GLAPIENTRYP PFNGLPROGRAMPARAMETERIARBPROC) (GLuint program, GLenum pname, GLint value);
+typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERTEXTUREARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
+typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
#endif
@@ -2273,6 +2601,25 @@ typedef void (GLAPIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC) (GL
#endif
+#ifndef GL_NV_present_video
+#define GL_NV_present_video 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void GLAPIENTRY glPresentFrameKeyedNV (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);
+GLAPI void GLAPIENTRY glPresentFrameDualFillNV (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);
+GLAPI void GLAPIENTRY glGetVideoivNV (GLuint video_slot, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glGetVideouivNV (GLuint video_slot, GLenum pname, GLuint *params);
+GLAPI void GLAPIENTRY glGetVideoi64vNV (GLuint video_slot, GLenum pname, GLint64EXT *params);
+GLAPI void GLAPIENTRY glGetVideoui64vNV (GLuint video_slot, GLenum pname, GLuint64EXT *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (GLAPIENTRYP PFNGLPRESENTFRAMEKEYEDNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);
+typedef void (GLAPIENTRYP PFNGLPRESENTFRAMEDUALFILLNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);
+typedef void (GLAPIENTRYP PFNGLGETVIDEOIVNVPROC) (GLuint video_slot, GLenum pname, GLint *params);
+typedef void (GLAPIENTRYP PFNGLGETVIDEOUIVNVPROC) (GLuint video_slot, GLenum pname, GLuint *params);
+typedef void (GLAPIENTRYP PFNGLGETVIDEOI64VNVPROC) (GLuint video_slot, GLenum pname, GLint64EXT *params);
+typedef void (GLAPIENTRYP PFNGLGETVIDEOUI64VNVPROC) (GLuint video_slot, GLenum pname, GLuint64EXT *params);
+#endif
+
+
#ifndef GL_NV_draw_buffers3
#define GL_NV_draw_buffers3 1
#ifdef GL_GLEXT_PROTOTYPES
@@ -2287,6 +2634,234 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCINDEXEDNVPROC) (GLuint buf, GLenum src,
typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
#endif
+
+#ifndef GL_NVX_debug_control
+#define GL_NVX_debug_control 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void GLAPIENTRY glDebugControlNVX (void *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (GLAPIENTRYP PFNGLDEBUGCONTROLNVXPROC) (void *params);
+#endif
+
+
+#ifndef GL_NV_explicit_multisample
+#define GL_NV_explicit_multisample 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void GLAPIENTRY glGetMultisamplefvNV (GLenum pname, GLuint index, GLfloat *val);
+GLAPI void GLAPIENTRY glSampleMaskIndexedNV (GLuint index, GLuint mask);
+GLAPI void GLAPIENTRY glTexRenderbufferNV (GLenum target, GLuint renderbuffer);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (GLAPIENTRYP PFNGLGETMULTISAMPLEFVNVPROC) (GLenum pname, GLuint index, GLfloat *val);
+typedef void (GLAPIENTRYP PFNGLSAMPLEMASKINDEXEDNVPROC) (GLuint index, GLuint mask);
+typedef void (GLAPIENTRYP PFNGLTEXRENDERBUFFERNVPROC) (GLenum target, GLuint renderbuffer);
+#endif
+
+
+#ifndef GL_NV_tessellation_shader
+#define GL_NV_tessellation_shader 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void GLAPIENTRY glPatchParameteriNV (GLenum pname, GLint value);
+GLAPI void GLAPIENTRY glPatchParameterfvNV (GLenum pname, const GLfloat *values);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (GLAPIENTRYP PFNGLPATCHPARAMETERINVPROC) (GLenum pname, GLint value);
+typedef void (GLAPIENTRYP PFNGLPATCHPARAMETERFVNVPROC) (GLenum pname, const GLfloat *values);
+#endif
+
+
+#ifndef GL_NV_sample_shading_control
+#define GL_NV_sample_shading_control 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void GLAPIENTRY glMinSampleShadingNV (GLclampf value);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (GLAPIENTRYP PFNGLMINSAMPLESHADINGNVPROC) (GLclampf value);
+#endif
+
+
+#ifndef GL_VERSION_3_0
+#define GL_VERSION_3_0 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void GLAPIENTRY glVertexAttribI1i (GLuint index, GLint x);
+GLAPI void GLAPIENTRY glVertexAttribI2i (GLuint index, GLint x, GLint y);
+GLAPI void GLAPIENTRY glVertexAttribI3i (GLuint index, GLint x, GLint y, GLint z);
+GLAPI void GLAPIENTRY glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w);
+GLAPI void GLAPIENTRY glVertexAttribI1ui (GLuint index, GLuint x);
+GLAPI void GLAPIENTRY glVertexAttribI2ui (GLuint index, GLuint x, GLuint y);
+GLAPI void GLAPIENTRY glVertexAttribI3ui (GLuint index, GLuint x, GLuint y, GLuint z);
+GLAPI void GLAPIENTRY glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+GLAPI void GLAPIENTRY glVertexAttribI1iv (GLuint index, const GLint *v);
+GLAPI void GLAPIENTRY glVertexAttribI2iv (GLuint index, const GLint *v);
+GLAPI void GLAPIENTRY glVertexAttribI3iv (GLuint index, const GLint *v);
+GLAPI void GLAPIENTRY glVertexAttribI4iv (GLuint index, const GLint *v);
+GLAPI void GLAPIENTRY glVertexAttribI1uiv (GLuint index, const GLuint *v);
+GLAPI void GLAPIENTRY glVertexAttribI2uiv (GLuint index, const GLuint *v);
+GLAPI void GLAPIENTRY glVertexAttribI3uiv (GLuint index, const GLuint *v);
+GLAPI void GLAPIENTRY glVertexAttribI4uiv (GLuint index, const GLuint *v);
+GLAPI void GLAPIENTRY glVertexAttribI4bv (GLuint index, const GLbyte *v);
+GLAPI void GLAPIENTRY glVertexAttribI4sv (GLuint index, const GLshort *v);
+GLAPI void GLAPIENTRY glVertexAttribI4ubv (GLuint index, const GLubyte *v);
+GLAPI void GLAPIENTRY glVertexAttribI4usv (GLuint index, const GLushort *v);
+GLAPI void GLAPIENTRY glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+GLAPI void GLAPIENTRY glGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params);
+GLAPI void GLAPIENTRY glGetUniformuiv (GLuint program, GLint location, GLuint *params);
+GLAPI void GLAPIENTRY glBindFragDataLocation (GLuint program, GLuint color, const GLchar *name);
+GLAPI GLint GLAPIENTRY glGetFragDataLocation (GLuint program, const GLchar *name);
+GLAPI void GLAPIENTRY glTexParameterIiv (GLenum target, GLenum pname, const GLint *params);
+GLAPI void GLAPIENTRY glTexParameterIuiv (GLenum target, GLenum pname, const GLuint *params);
+GLAPI void GLAPIENTRY glGetTexParameterIiv (GLenum target, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glGetTexParameterIuiv (GLenum target, GLenum pname, GLuint *params);
+GLAPI void GLAPIENTRY glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+GLAPI void GLAPIENTRY glBindBufferBase (GLenum target, GLuint index, GLuint buffer);
+GLAPI void GLAPIENTRY glGetBooleani_v (GLenum target, GLuint index, GLboolean *data);
+GLAPI void GLAPIENTRY glGetIntegeri_v (GLenum target, GLuint index, GLint *data);
+GLAPI GLboolean GLAPIENTRY glIsEnabledi (GLenum target, GLuint index);
+GLAPI void GLAPIENTRY glColorMaski (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
+GLAPI void GLAPIENTRY glEnablei (GLenum target, GLuint index);
+GLAPI void GLAPIENTRY glDisablei (GLenum target, GLuint index);
+GLAPI const GLubyte * GLAPIENTRY glGetStringi (GLenum name, GLuint index);
+GLAPI void GLAPIENTRY glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+GLAPI GLboolean GLAPIENTRY glIsRenderbuffer (GLuint renderbuffer);
+GLAPI void GLAPIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
+GLAPI void GLAPIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers);
+GLAPI void GLAPIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers);
+GLAPI void GLAPIENTRY glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+GLAPI void GLAPIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params);
+GLAPI GLboolean GLAPIENTRY glIsFramebuffer (GLuint framebuffer);
+GLAPI void GLAPIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
+GLAPI void GLAPIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers);
+GLAPI void GLAPIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers);
+GLAPI GLenum GLAPIENTRY glCheckFramebufferStatus (GLenum target);
+GLAPI void GLAPIENTRY glFramebufferTexture1D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+GLAPI void GLAPIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+GLAPI void GLAPIENTRY glFramebufferTexture3D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+GLAPI void GLAPIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+GLAPI void GLAPIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+GLAPI void GLAPIENTRY glGenerateMipmap (GLenum target);
+GLAPI void GLAPIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+GLAPI void GLAPIENTRY glBindVertexArray (GLuint array);
+GLAPI void GLAPIENTRY glDeleteVertexArrays (GLsizei n, const GLuint *arrays);
+GLAPI void GLAPIENTRY glGenVertexArrays (GLsizei n, GLuint *arrays);
+GLAPI GLboolean GLAPIENTRY glIsVertexArray (GLuint array);
+GLAPI GLvoid* GLAPIENTRY glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
+GLAPI GLvoid GLAPIENTRY glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length);
+GLAPI void GLAPIENTRY glBeginConditionalRender (GLuint id, GLenum mode);
+GLAPI void GLAPIENTRY glEndConditionalRender (void);
+GLAPI void GLAPIENTRY glBeginTransformFeedback (GLenum primitiveMode);
+GLAPI void GLAPIENTRY glEndTransformFeedback (void);
+GLAPI void GLAPIENTRY glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode);
+GLAPI void GLAPIENTRY glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+GLAPI void GLAPIENTRY glUniform1ui (GLint location, GLuint v0);
+GLAPI void GLAPIENTRY glUniform2ui (GLint location, GLuint v0, GLuint v1);
+GLAPI void GLAPIENTRY glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2);
+GLAPI void GLAPIENTRY glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+GLAPI void GLAPIENTRY glUniform1uiv (GLint location, GLsizei count, const GLuint *value);
+GLAPI void GLAPIENTRY glUniform2uiv (GLint location, GLsizei count, const GLuint *value);
+GLAPI void GLAPIENTRY glUniform3uiv (GLint location, GLsizei count, const GLuint *value);
+GLAPI void GLAPIENTRY glUniform4uiv (GLint location, GLsizei count, const GLuint *value);
+GLAPI void GLAPIENTRY glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
+GLAPI void GLAPIENTRY glClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat *value);
+GLAPI void GLAPIENTRY glClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint *value);
+GLAPI void GLAPIENTRY glClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint *value);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI1IPROC) (GLuint index, GLint x);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI2IPROC) (GLuint index, GLint x, GLint y);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI3IPROC) (GLuint index, GLint x, GLint y, GLint z);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI1UIPROC) (GLuint index, GLuint x);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI2UIPROC) (GLuint index, GLuint x, GLuint y);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI3UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI1IVPROC) (GLuint index, const GLint *v);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI2IVPROC) (GLuint index, const GLint *v);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI3IVPROC) (GLuint index, const GLint *v);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint *v);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI1UIVPROC) (GLuint index, const GLuint *v);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI2UIVPROC) (GLuint index, const GLuint *v);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI3UIVPROC) (GLuint index, const GLuint *v);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint *v);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI4BVPROC) (GLuint index, const GLbyte *v);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI4SVPROC) (GLuint index, const GLshort *v);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI4UBVPROC) (GLuint index, const GLubyte *v);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBI4USVPROC) (GLuint index, const GLushort *v);
+typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void (GLAPIENTRYP PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint *params);
+typedef void (GLAPIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint *params);
+typedef void (GLAPIENTRYP PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint *params);
+typedef void (GLAPIENTRYP PFNGLBINDFRAGDATALOCATIONPROC) (GLuint program, GLuint color, const GLchar *name);
+typedef GLint (GLAPIENTRYP PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar *name);
+typedef void (GLAPIENTRYP PFNGLTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void (GLAPIENTRYP PFNGLTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, const GLuint *params);
+typedef void (GLAPIENTRYP PFNGLGETTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (GLAPIENTRYP PFNGLGETTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, GLuint *params);
+typedef void (GLAPIENTRYP PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+typedef void (GLAPIENTRYP PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer);
+typedef void (GLAPIENTRYP PFNGLGETBOOLEANI_VPROC) (GLenum target, GLuint index, GLboolean *data);
+typedef void (GLAPIENTRYP PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint *data);
+typedef GLboolean (GLAPIENTRYP PFNGLISENABLEDIPROC) (GLenum target, GLuint index);
+typedef void (GLAPIENTRYP PFNGLCOLORMASKIPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
+typedef void (GLAPIENTRYP PFNGLENABLEIPROC) (GLenum target, GLuint index);
+typedef void (GLAPIENTRYP PFNGLDISABLEIPROC) (GLenum target, GLuint index);
+typedef const GLubyte * (GLAPIENTRYP PFNGLGETSTRINGIPROC) (GLenum name, GLuint index);
+typedef void (GLAPIENTRYP PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+typedef GLboolean (GLAPIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
+typedef void (GLAPIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
+typedef void (GLAPIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);
+typedef void (GLAPIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);
+typedef void (GLAPIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef GLboolean (GLAPIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
+typedef void (GLAPIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
+typedef void (GLAPIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);
+typedef void (GLAPIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
+typedef GLenum (GLAPIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
+typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+typedef void (GLAPIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
+typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef void (GLAPIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);
+typedef void (GLAPIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRYP PFNGLBINDVERTEXARRAYPROC) (GLuint array);
+typedef void (GLAPIENTRYP PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint *arrays);
+typedef void (GLAPIENTRYP PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays);
+typedef GLboolean (GLAPIENTRYP PFNGLISVERTEXARRAYPROC) (GLuint array);
+typedef GLvoid* (GLAPIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
+typedef GLvoid (GLAPIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
+typedef void (GLAPIENTRYP PFNGLBEGINCONDITIONALRENDERPROC) (GLuint id, GLenum mode);
+typedef void (GLAPIENTRYP PFNGLENDCONDITIONALRENDERPROC) (void);
+typedef void (GLAPIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode);
+typedef void (GLAPIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC) (void);
+typedef void (GLAPIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode);
+typedef void (GLAPIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+typedef void (GLAPIENTRYP PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0);
+typedef void (GLAPIENTRYP PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1);
+typedef void (GLAPIENTRYP PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);
+typedef void (GLAPIENTRYP PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+typedef void (GLAPIENTRYP PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (GLAPIENTRYP PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (GLAPIENTRYP PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (GLAPIENTRYP PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (GLAPIENTRYP PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
+typedef void (GLAPIENTRYP PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat *value);
+typedef void (GLAPIENTRYP PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint *value);
+typedef void (GLAPIENTRYP PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint *value);
+#endif
+
+
+#ifndef GL_NVX_cuda_interop
+#define GL_NVX_cuda_interop 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void GLAPIENTRY glCUDAGetDeviceHandleNVX (void *dataPtr);
+GLAPI void GLAPIENTRY glCUDAMapBufferNVX (void *dataPtr);
+GLAPI void GLAPIENTRY glCUDAUnmapBufferNVX (void *dataPtr);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (GLAPIENTRYP PFNGLCUDAGETDEVICEHANDLENVXPROC) (void *dataPtr);
+typedef void (GLAPIENTRYP PFNGLCUDAMAPBUFFERNVXPROC) (void *dataPtr);
+typedef void (GLAPIENTRYP PFNGLCUDAUNMAPBUFFERNVXPROC) (void *dataPtr);
+#endif
+
/*************************************************************/
/* Version */
@@ -2308,6 +2883,9 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
#ifndef GL_VERSION_2_1
#define GL_VERSION_2_1 1
#endif
+#ifndef GL_VERSION_3_0
+#define GL_VERSION_3_0 1
+#endif
/* Extensions */
#ifndef GL_APPLE_transform_hint
@@ -2322,6 +2900,9 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
#ifndef GL_ARB_draw_buffers
#define GL_ARB_draw_buffers 1
#endif
+#ifndef GL_ARB_draw_instanced
+#define GL_ARB_draw_instanced 1
+#endif
#ifndef GL_ARB_fragment_program
#define GL_ARB_fragment_program 1
#endif
@@ -2331,9 +2912,18 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
#ifndef GL_ARB_fragment_shader
#define GL_ARB_fragment_shader 1
#endif
+#ifndef GL_ARB_framebuffer_object
+#define GL_ARB_framebuffer_object 1
+#endif
+#ifndef GL_ARB_geometry_shader4
+#define GL_ARB_geometry_shader4 1
+#endif
#ifndef GL_ARB_half_float_pixel
#define GL_ARB_half_float_pixel 1
#endif
+#ifndef GL_ARB_half_float_vertex
+#define GL_ARB_half_float_vertex 1
+#endif
#ifndef GL_ARB_imaging
#define GL_ARB_imaging 1
#endif
@@ -2367,6 +2957,9 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
#ifndef GL_ARB_shadow_ambient
#define GL_ARB_shadow_ambient 1
#endif
+#ifndef GL_ARB_texture_buffer_object
+#define GL_ARB_texture_buffer_object 1
+#endif
#ifndef GL_ARB_texture_border_clamp
#define GL_ARB_texture_border_clamp 1
#endif
@@ -2397,11 +2990,14 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
#ifndef GL_ARB_texture_rectangle
#define GL_ARB_texture_rectangle 1
#endif
+#ifndef GL_ARB_texture_rg
+#define GL_ARB_texture_rg 1
+#endif
#ifndef GL_ARB_transpose_matrix
#define GL_ARB_transpose_matrix 1
#endif
-#ifndef GL_ARB_vertex_array_set_object
-#define GL_ARB_vertex_array_set_object 1
+#ifndef GL_ARB_vertex_array_object
+#define GL_ARB_vertex_array_object 1
#endif
#ifndef GL_ARB_vertex_buffer_object
#define GL_ARB_vertex_buffer_object 1
@@ -2469,6 +3065,9 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
#ifndef GL_EXT_depth_bounds_test
#define GL_EXT_depth_bounds_test 1
#endif
+#ifndef GL_EXT_direct_state_access
+#define GL_EXT_direct_state_access 1
+#endif
#ifndef GL_EXT_draw_buffers2
#define GL_EXT_draw_buffers2 1
#endif
@@ -2517,9 +3116,6 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
#ifndef GL_EXT_packed_pixels
#define GL_EXT_packed_pixels 1
#endif
-#ifndef GL_EXT_paletted_texture
-#define GL_EXT_paletted_texture 1
-#endif
#ifndef GL_EXT_pixel_buffer_object
#define GL_EXT_pixel_buffer_object 1
#endif
@@ -2538,9 +3134,6 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
#ifndef GL_EXT_shadow_funcs
#define GL_EXT_shadow_funcs 1
#endif
-#ifndef GL_EXT_shared_texture_palette
-#define GL_EXT_shared_texture_palette 1
-#endif
#ifndef GL_EXT_stencil_two_side
#define GL_EXT_stencil_two_side 1
#endif
@@ -2601,12 +3194,21 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
#ifndef GL_EXT_texture_sRGB
#define GL_EXT_texture_sRGB 1
#endif
+#ifndef GL_EXT_texture_swizzle
+#define GL_EXT_texture_swizzle 1
+#endif
#ifndef GL_EXT_timer_query
#define GL_EXT_timer_query 1
#endif
#ifndef GL_EXT_vertex_array
#define GL_EXT_vertex_array 1
#endif
+#ifndef GL_EXT_vertex_array_bgra
+#define GL_EXT_vertex_array_bgra 1
+#endif
+#ifndef GL_NV_present_video
+#define GL_NV_present_video 1
+#endif
#ifndef GL_EXT_ycbcr_422
#define GL_EXT_ycbcr_422 1
#endif
@@ -2619,6 +3221,9 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
#ifndef GL_IBM_texture_mirrored_repeat
#define GL_IBM_texture_mirrored_repeat 1
#endif
+#ifndef GL_NV_anc_buffer_object
+#define GL_NV_anc_buffer_object 1
+#endif
#ifndef GL_NV_blend_square
#define GL_NV_blend_square 1
#endif
@@ -2640,6 +3245,9 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
#ifndef GL_NV_draw_buffers3
#define GL_NV_draw_buffers3 1
#endif
+#ifndef GL_NV_explicit_multisample
+#define GL_NV_explicit_multisample 1
+#endif
#ifndef GL_NV_extended_combiner_program
#define GL_NV_extended_combiner_program 1
#endif
@@ -2664,6 +3272,9 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
#ifndef GL_NV_fragment_program4_1
#define GL_NV_fragment_program4_1 1
#endif
+#ifndef GL_NV_fragment_program5
+#define GL_NV_fragment_program5 1
+#endif
#ifndef GL_NV_framebuffer_multisample_coverage
#define GL_NV_framebuffer_multisample_coverage 1
#endif
@@ -2673,6 +3284,9 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
#ifndef GL_NV_geometry_program4_1
#define GL_NV_geometry_program4_1 1
#endif
+#ifndef GL_NV_geometry_program5
+#define GL_NV_geometry_program5 1
+#endif
#ifndef GL_NV_geometry_shader4
#define GL_NV_geometry_shader4 1
#endif
@@ -2682,6 +3296,15 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
#ifndef GL_NV_gpu_program4_1
#define GL_NV_gpu_program4_1 1
#endif
+#ifndef GL_NV_gpu_program5
+#define GL_NV_gpu_program5 1
+#endif
+#ifndef GL_NV_gpu_program_fp64
+#define GL_NV_gpu_program_fp64 1
+#endif
+#ifndef GL_NV_gpu_shader4_1
+#define GL_NV_gpu_shader4_1 1
+#endif
#ifndef GL_NV_half_float
#define GL_NV_half_float 1
#endif
@@ -2721,6 +3344,15 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
#ifndef GL_NV_register_combiners2
#define GL_NV_register_combiners2 1
#endif
+#ifndef GL_NV_sample_shading_control
+#define GL_NV_sample_shading_control 1
+#endif
+#ifndef GL_NV_tessellation_program5
+#define GL_NV_tessellation_program5 1
+#endif
+#ifndef GL_NV_tessellation_shader
+#define GL_NV_tessellation_shader 1
+#endif
#ifndef GL_NV_texgen_reflection
#define GL_NV_texgen_reflection 1
#endif
@@ -2754,6 +3386,9 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
#ifndef GL_NV_transform_feedback2
#define GL_NV_transform_feedback2 1
#endif
+#ifndef GL_NV_transform_feedback3
+#define GL_NV_transform_feedback3 1
+#endif
#ifndef GL_NV_vertex_array_range
#define GL_NV_vertex_array_range 1
#endif
@@ -2778,6 +3413,9 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
#ifndef GL_NV_vertex_program4_1
#define GL_NV_vertex_program4_1 1
#endif
+#ifndef GL_NV_vertex_program5
+#define GL_NV_vertex_program5 1
+#endif
#ifndef GL_NVX_conditional_render
#define GL_NVX_conditional_render 1
#endif
@@ -2787,15 +3425,18 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
#ifndef GL_NVX_volatile_texture
#define GL_NVX_volatile_texture 1
#endif
+#ifndef GL_NVX_cuda_interop
+#define GL_NVX_cuda_interop 1
+#endif
+#ifndef GL_NVX_debug_control
+#define GL_NVX_debug_control 1
+#endif
#ifndef GL_S3_s3tc
#define GL_S3_s3tc 1
#endif
#ifndef GL_SGIS_generate_mipmap
#define GL_SGIS_generate_mipmap 1
#endif
-#ifndef GL_SGIS_multitexture
-#define GL_SGIS_multitexture 1
-#endif
#ifndef GL_SGIS_texture_lod
#define GL_SGIS_texture_lod 1
#endif
@@ -2830,1126 +3471,1110 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
/* GL_COLOR_TABLE_LUMINANCE_SIZE_EXT */
/* GL_COLOR_TABLE_INTENSITY_SIZE_EXT */
-/* PixelInternalFormat */
-/* GL_COLOR_INDEX1_EXT */
-/* GL_COLOR_INDEX2_EXT */
-/* GL_COLOR_INDEX4_EXT */
-/* GL_COLOR_INDEX8_EXT */
-/* GL_COLOR_INDEX12_EXT */
-/* GL_COLOR_INDEX16_EXT */
-
/* OpenGL12 */
-#define GL_TEXTURE_BINDING_3D 0x806A
-#define GL_PACK_SKIP_IMAGES 0x806B
-#define GL_PACK_IMAGE_HEIGHT 0x806C
-#define GL_UNPACK_SKIP_IMAGES 0x806D
-#define GL_UNPACK_IMAGE_HEIGHT 0x806E
-#define GL_TEXTURE_3D 0x806F
-#define GL_PROXY_TEXTURE_3D 0x8070
-#define GL_TEXTURE_DEPTH 0x8071
-#define GL_TEXTURE_WRAP_R 0x8072
-#define GL_MAX_3D_TEXTURE_SIZE 0x8073
-#define GL_BGR 0x80E0
-#define GL_BGRA 0x80E1
-#define GL_UNSIGNED_BYTE_3_3_2 0x8032
-#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
-#define GL_UNSIGNED_SHORT_5_6_5 0x8363
-#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
-#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
-#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
-#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
-#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
-#define GL_UNSIGNED_INT_8_8_8_8 0x8035
-#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
-#define GL_UNSIGNED_INT_10_10_10_2 0x8036
-#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
-#define GL_RESCALE_NORMAL 0x803A
-#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
-#define GL_SINGLE_COLOR 0x81F9
-#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
-#define GL_CLAMP_TO_EDGE 0x812F
-#define GL_TEXTURE_MIN_LOD 0x813A
-#define GL_TEXTURE_MAX_LOD 0x813B
-#define GL_TEXTURE_BASE_LEVEL 0x813C
-#define GL_TEXTURE_MAX_LEVEL 0x813D
-#define GL_MAX_ELEMENTS_VERTICES 0x80E8
-#define GL_MAX_ELEMENTS_INDICES 0x80E9
-#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
-#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
+#define GL_TEXTURE_BINDING_3D 0x806A
+#define GL_PACK_SKIP_IMAGES 0x806B
+#define GL_PACK_IMAGE_HEIGHT 0x806C
+#define GL_UNPACK_SKIP_IMAGES 0x806D
+#define GL_UNPACK_IMAGE_HEIGHT 0x806E
+#define GL_TEXTURE_3D 0x806F
+#define GL_PROXY_TEXTURE_3D 0x8070
+#define GL_TEXTURE_DEPTH 0x8071
+#define GL_TEXTURE_WRAP_R 0x8072
+#define GL_MAX_3D_TEXTURE_SIZE 0x8073
+#define GL_BGR 0x80E0
+#define GL_BGRA 0x80E1
+#define GL_UNSIGNED_BYTE_3_3_2 0x8032
+#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
+#define GL_UNSIGNED_SHORT_5_6_5 0x8363
+#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
+#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
+#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
+#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
+#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
+#define GL_UNSIGNED_INT_8_8_8_8 0x8035
+#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
+#define GL_UNSIGNED_INT_10_10_10_2 0x8036
+#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
+#define GL_RESCALE_NORMAL 0x803A
+#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
+#define GL_SINGLE_COLOR 0x81F9
+#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
+#define GL_CLAMP_TO_EDGE 0x812F
+#define GL_TEXTURE_MIN_LOD 0x813A
+#define GL_TEXTURE_MAX_LOD 0x813B
+#define GL_TEXTURE_BASE_LEVEL 0x813C
+#define GL_TEXTURE_MAX_LEVEL 0x813D
+#define GL_MAX_ELEMENTS_VERTICES 0x80E8
+#define GL_MAX_ELEMENTS_INDICES 0x80E9
+#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
+#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
/* OpenGL13 */
-#define GL_ACTIVE_TEXTURE 0x84E0
-#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
-#define GL_MAX_TEXTURE_UNITS 0x84E2
-#define GL_TEXTURE0 0x84C0
-#define GL_TEXTURE1 0x84C1
-#define GL_TEXTURE2 0x84C2
-#define GL_TEXTURE3 0x84C3
-#define GL_TEXTURE4 0x84C4
-#define GL_TEXTURE5 0x84C5
-#define GL_TEXTURE6 0x84C6
-#define GL_TEXTURE7 0x84C7
-#define GL_TEXTURE8 0x84C8
-#define GL_TEXTURE9 0x84C9
-#define GL_TEXTURE10 0x84CA
-#define GL_TEXTURE11 0x84CB
-#define GL_TEXTURE12 0x84CC
-#define GL_TEXTURE13 0x84CD
-#define GL_TEXTURE14 0x84CE
-#define GL_TEXTURE15 0x84CF
-#define GL_TEXTURE16 0x84D0
-#define GL_TEXTURE17 0x84D1
-#define GL_TEXTURE18 0x84D2
-#define GL_TEXTURE19 0x84D3
-#define GL_TEXTURE20 0x84D4
-#define GL_TEXTURE21 0x84D5
-#define GL_TEXTURE22 0x84D6
-#define GL_TEXTURE23 0x84D7
-#define GL_TEXTURE24 0x84D8
-#define GL_TEXTURE25 0x84D9
-#define GL_TEXTURE26 0x84DA
-#define GL_TEXTURE27 0x84DB
-#define GL_TEXTURE28 0x84DC
-#define GL_TEXTURE29 0x84DD
-#define GL_TEXTURE30 0x84DE
-#define GL_TEXTURE31 0x84DF
-#define GL_NORMAL_MAP 0x8511
-#define GL_REFLECTION_MAP 0x8512
-#define GL_TEXTURE_CUBE_MAP 0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
-#define GL_COMBINE 0x8570
-#define GL_COMBINE_RGB 0x8571
-#define GL_COMBINE_ALPHA 0x8572
-#define GL_RGB_SCALE 0x8573
-#define GL_ADD_SIGNED 0x8574
-#define GL_INTERPOLATE 0x8575
-#define GL_CONSTANT 0x8576
-#define GL_PRIMARY_COLOR 0x8577
-#define GL_PREVIOUS 0x8578
-#define GL_SOURCE0_RGB 0x8580
-#define GL_SOURCE1_RGB 0x8581
-#define GL_SOURCE2_RGB 0x8582
-#define GL_SOURCE0_ALPHA 0x8588
-#define GL_SOURCE1_ALPHA 0x8589
-#define GL_SOURCE2_ALPHA 0x858A
-#define GL_OPERAND0_RGB 0x8590
-#define GL_OPERAND1_RGB 0x8591
-#define GL_OPERAND2_RGB 0x8592
-#define GL_OPERAND0_ALPHA 0x8598
-#define GL_OPERAND1_ALPHA 0x8599
-#define GL_OPERAND2_ALPHA 0x859A
-#define GL_SUBTRACT 0x84E7
-#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
-#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
-#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
-#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
-#define GL_COMPRESSED_ALPHA 0x84E9
-#define GL_COMPRESSED_LUMINANCE 0x84EA
-#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
-#define GL_COMPRESSED_INTENSITY 0x84EC
-#define GL_COMPRESSED_RGB 0x84ED
-#define GL_COMPRESSED_RGBA 0x84EE
-#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
-#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
-#define GL_TEXTURE_COMPRESSED 0x86A1
-#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
-#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
-#define GL_DOT3_RGB 0x86AE
-#define GL_DOT3_RGBA 0x86AF
-#define GL_CLAMP_TO_BORDER 0x812D
-#define GL_MULTISAMPLE 0x809D
-#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
-#define GL_SAMPLE_COVERAGE 0x80A0
-#define GL_SAMPLE_BUFFERS 0x80A8
-#define GL_SAMPLES 0x80A9
-#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
-#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
-#define GL_MULTISAMPLE_BIT 0x20000000
+#define GL_ACTIVE_TEXTURE 0x84E0
+#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
+#define GL_MAX_TEXTURE_UNITS 0x84E2
+#define GL_TEXTURE0 0x84C0
+#define GL_TEXTURE1 0x84C1
+#define GL_TEXTURE2 0x84C2
+#define GL_TEXTURE3 0x84C3
+#define GL_TEXTURE4 0x84C4
+#define GL_TEXTURE5 0x84C5
+#define GL_TEXTURE6 0x84C6
+#define GL_TEXTURE7 0x84C7
+#define GL_TEXTURE8 0x84C8
+#define GL_TEXTURE9 0x84C9
+#define GL_TEXTURE10 0x84CA
+#define GL_TEXTURE11 0x84CB
+#define GL_TEXTURE12 0x84CC
+#define GL_TEXTURE13 0x84CD
+#define GL_TEXTURE14 0x84CE
+#define GL_TEXTURE15 0x84CF
+#define GL_TEXTURE16 0x84D0
+#define GL_TEXTURE17 0x84D1
+#define GL_TEXTURE18 0x84D2
+#define GL_TEXTURE19 0x84D3
+#define GL_TEXTURE20 0x84D4
+#define GL_TEXTURE21 0x84D5
+#define GL_TEXTURE22 0x84D6
+#define GL_TEXTURE23 0x84D7
+#define GL_TEXTURE24 0x84D8
+#define GL_TEXTURE25 0x84D9
+#define GL_TEXTURE26 0x84DA
+#define GL_TEXTURE27 0x84DB
+#define GL_TEXTURE28 0x84DC
+#define GL_TEXTURE29 0x84DD
+#define GL_TEXTURE30 0x84DE
+#define GL_TEXTURE31 0x84DF
+#define GL_NORMAL_MAP 0x8511
+#define GL_REFLECTION_MAP 0x8512
+#define GL_TEXTURE_CUBE_MAP 0x8513
+#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
+#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
+#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
+#define GL_COMBINE 0x8570
+#define GL_COMBINE_RGB 0x8571
+#define GL_COMBINE_ALPHA 0x8572
+#define GL_RGB_SCALE 0x8573
+#define GL_ADD_SIGNED 0x8574
+#define GL_INTERPOLATE 0x8575
+#define GL_CONSTANT 0x8576
+#define GL_PRIMARY_COLOR 0x8577
+#define GL_PREVIOUS 0x8578
+#define GL_SOURCE0_RGB 0x8580
+#define GL_SOURCE1_RGB 0x8581
+#define GL_SOURCE2_RGB 0x8582
+#define GL_SOURCE0_ALPHA 0x8588
+#define GL_SOURCE1_ALPHA 0x8589
+#define GL_SOURCE2_ALPHA 0x858A
+#define GL_OPERAND0_RGB 0x8590
+#define GL_OPERAND1_RGB 0x8591
+#define GL_OPERAND2_RGB 0x8592
+#define GL_OPERAND0_ALPHA 0x8598
+#define GL_OPERAND1_ALPHA 0x8599
+#define GL_OPERAND2_ALPHA 0x859A
+#define GL_SUBTRACT 0x84E7
+#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
+#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
+#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
+#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
+#define GL_COMPRESSED_ALPHA 0x84E9
+#define GL_COMPRESSED_LUMINANCE 0x84EA
+#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
+#define GL_COMPRESSED_INTENSITY 0x84EC
+#define GL_COMPRESSED_RGB 0x84ED
+#define GL_COMPRESSED_RGBA 0x84EE
+#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
+#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
+#define GL_TEXTURE_COMPRESSED 0x86A1
+#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
+#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
+#define GL_DOT3_RGB 0x86AE
+#define GL_DOT3_RGBA 0x86AF
+#define GL_CLAMP_TO_BORDER 0x812D
+#define GL_MULTISAMPLE 0x809D
+#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
+#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
+#define GL_SAMPLE_COVERAGE 0x80A0
+#define GL_SAMPLE_BUFFERS 0x80A8
+#define GL_SAMPLES 0x80A9
+#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
+#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
+#define GL_MULTISAMPLE_BIT 0x20000000
/* EXT_bgra */
-#define GL_BGR_EXT 0x80E0
-#define GL_BGRA_EXT 0x80E1
+#define GL_BGR_EXT 0x80E0
+#define GL_BGRA_EXT 0x80E1
/* EXT_blend_color */
-#define GL_CONSTANT_COLOR_EXT 0x8001
-#define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002
-#define GL_CONSTANT_ALPHA_EXT 0x8003
-#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004
-#define GL_BLEND_COLOR_EXT 0x8005
+#define GL_CONSTANT_COLOR_EXT 0x8001
+#define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002
+#define GL_CONSTANT_ALPHA_EXT 0x8003
+#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004
+#define GL_BLEND_COLOR_EXT 0x8005
/* EXT_blend_minmax */
-#define GL_FUNC_ADD_EXT 0x8006
-#define GL_MIN_EXT 0x8007
-#define GL_MAX_EXT 0x8008
-#define GL_BLEND_EQUATION_EXT 0x8009
+#define GL_FUNC_ADD_EXT 0x8006
+#define GL_MIN_EXT 0x8007
+#define GL_MAX_EXT 0x8008
+#define GL_BLEND_EQUATION_EXT 0x8009
/* EXT_color_table */
-#define GL_TABLE_TOO_LARGE_EXT 0x8031
-#define GL_COLOR_TABLE_FORMAT_EXT 0x80D8
-#define GL_COLOR_TABLE_WIDTH_EXT 0x80D9
-#define GL_COLOR_TABLE_RED_SIZE_EXT 0x80DA
-#define GL_COLOR_TABLE_GREEN_SIZE_EXT 0x80DB
-#define GL_COLOR_TABLE_BLUE_SIZE_EXT 0x80DC
-#define GL_COLOR_TABLE_ALPHA_SIZE_EXT 0x80DD
-#define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT 0x80DE
-#define GL_COLOR_TABLE_INTENSITY_SIZE_EXT 0x80DF
-
-/* EXT_paletted_texture */
-#define GL_COLOR_INDEX1_EXT 0x80E2
-#define GL_COLOR_INDEX2_EXT 0x80E3
-#define GL_COLOR_INDEX4_EXT 0x80E4
-#define GL_COLOR_INDEX8_EXT 0x80E5
-#define GL_COLOR_INDEX12_EXT 0x80E6
-#define GL_COLOR_INDEX16_EXT 0x80E7
-#define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED
+#define GL_TABLE_TOO_LARGE_EXT 0x8031
+#define GL_COLOR_TABLE_FORMAT_EXT 0x80D8
+#define GL_COLOR_TABLE_WIDTH_EXT 0x80D9
+#define GL_COLOR_TABLE_RED_SIZE_EXT 0x80DA
+#define GL_COLOR_TABLE_GREEN_SIZE_EXT 0x80DB
+#define GL_COLOR_TABLE_BLUE_SIZE_EXT 0x80DC
+#define GL_COLOR_TABLE_ALPHA_SIZE_EXT 0x80DD
+#define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT 0x80DE
+#define GL_COLOR_TABLE_INTENSITY_SIZE_EXT 0x80DF
/* EXT_texture3D */
-#define GL_PACK_SKIP_IMAGES 0x806B
-#define GL_PACK_SKIP_IMAGES_EXT 0x806B
-#define GL_PACK_IMAGE_HEIGHT 0x806C
-#define GL_PACK_IMAGE_HEIGHT_EXT 0x806C
-#define GL_UNPACK_SKIP_IMAGES 0x806D
-#define GL_UNPACK_SKIP_IMAGES_EXT 0x806D
-#define GL_UNPACK_IMAGE_HEIGHT 0x806E
-#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E
-#define GL_TEXTURE_3D 0x806F
-#define GL_TEXTURE_3D_EXT 0x806F
-#define GL_PROXY_TEXTURE_3D 0x8070
-#define GL_PROXY_TEXTURE_3D_EXT 0x8070
-#define GL_TEXTURE_DEPTH 0x8071
-#define GL_TEXTURE_DEPTH_EXT 0x8071
-#define GL_TEXTURE_WRAP_R 0x8072
-#define GL_TEXTURE_WRAP_R_EXT 0x8072
-#define GL_MAX_3D_TEXTURE_SIZE 0x8073
-#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073
+#define GL_PACK_SKIP_IMAGES 0x806B
+#define GL_PACK_SKIP_IMAGES_EXT 0x806B
+#define GL_PACK_IMAGE_HEIGHT 0x806C
+#define GL_PACK_IMAGE_HEIGHT_EXT 0x806C
+#define GL_UNPACK_SKIP_IMAGES 0x806D
+#define GL_UNPACK_SKIP_IMAGES_EXT 0x806D
+#define GL_UNPACK_IMAGE_HEIGHT 0x806E
+#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E
+#define GL_TEXTURE_3D 0x806F
+#define GL_TEXTURE_3D_EXT 0x806F
+#define GL_PROXY_TEXTURE_3D 0x8070
+#define GL_PROXY_TEXTURE_3D_EXT 0x8070
+#define GL_TEXTURE_DEPTH 0x8071
+#define GL_TEXTURE_DEPTH_EXT 0x8071
+#define GL_TEXTURE_WRAP_R 0x8072
+#define GL_TEXTURE_WRAP_R_EXT 0x8072
+#define GL_MAX_3D_TEXTURE_SIZE 0x8073
+#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073
/* EXT_vertex_array */
-#define GL_VERTEX_ARRAY_EXT 0x8074
-#define GL_NORMAL_ARRAY_EXT 0x8075
-#define GL_COLOR_ARRAY_EXT 0x8076
-#define GL_INDEX_ARRAY_EXT 0x8077
-#define GL_TEXTURE_COORD_ARRAY_EXT 0x8078
-#define GL_EDGE_FLAG_ARRAY_EXT 0x8079
-#define GL_VERTEX_ARRAY_SIZE_EXT 0x807A
-#define GL_VERTEX_ARRAY_TYPE_EXT 0x807B
-#define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C
-#define GL_VERTEX_ARRAY_COUNT_EXT 0x807D
-#define GL_NORMAL_ARRAY_TYPE_EXT 0x807E
-#define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F
-#define GL_NORMAL_ARRAY_COUNT_EXT 0x8080
-#define GL_COLOR_ARRAY_SIZE_EXT 0x8081
-#define GL_COLOR_ARRAY_TYPE_EXT 0x8082
-#define GL_COLOR_ARRAY_STRIDE_EXT 0x8083
-#define GL_COLOR_ARRAY_COUNT_EXT 0x8084
-#define GL_INDEX_ARRAY_TYPE_EXT 0x8085
-#define GL_INDEX_ARRAY_STRIDE_EXT 0x8086
-#define GL_INDEX_ARRAY_COUNT_EXT 0x8087
-#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088
-#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089
-#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A
-#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B
-#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C
-#define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D
-#define GL_VERTEX_ARRAY_POINTER_EXT 0x808E
-#define GL_NORMAL_ARRAY_POINTER_EXT 0x808F
-#define GL_COLOR_ARRAY_POINTER_EXT 0x8090
-#define GL_INDEX_ARRAY_POINTER_EXT 0x8091
-#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092
-#define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093
+#define GL_VERTEX_ARRAY_EXT 0x8074
+#define GL_NORMAL_ARRAY_EXT 0x8075
+#define GL_COLOR_ARRAY_EXT 0x8076
+#define GL_INDEX_ARRAY_EXT 0x8077
+#define GL_TEXTURE_COORD_ARRAY_EXT 0x8078
+#define GL_EDGE_FLAG_ARRAY_EXT 0x8079
+#define GL_VERTEX_ARRAY_SIZE_EXT 0x807A
+#define GL_VERTEX_ARRAY_TYPE_EXT 0x807B
+#define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C
+#define GL_VERTEX_ARRAY_COUNT_EXT 0x807D
+#define GL_NORMAL_ARRAY_TYPE_EXT 0x807E
+#define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F
+#define GL_NORMAL_ARRAY_COUNT_EXT 0x8080
+#define GL_COLOR_ARRAY_SIZE_EXT 0x8081
+#define GL_COLOR_ARRAY_TYPE_EXT 0x8082
+#define GL_COLOR_ARRAY_STRIDE_EXT 0x8083
+#define GL_COLOR_ARRAY_COUNT_EXT 0x8084
+#define GL_INDEX_ARRAY_TYPE_EXT 0x8085
+#define GL_INDEX_ARRAY_STRIDE_EXT 0x8086
+#define GL_INDEX_ARRAY_COUNT_EXT 0x8087
+#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088
+#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089
+#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A
+#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B
+#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C
+#define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D
+#define GL_VERTEX_ARRAY_POINTER_EXT 0x808E
+#define GL_NORMAL_ARRAY_POINTER_EXT 0x808F
+#define GL_COLOR_ARRAY_POINTER_EXT 0x8090
+#define GL_INDEX_ARRAY_POINTER_EXT 0x8091
+#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092
+#define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093
/* ARB_imaging */
-#define GL_CONSTANT_COLOR 0x8001
-#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
-#define GL_CONSTANT_ALPHA 0x8003
-#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
-#define GL_BLEND_COLOR 0x8005
-#define GL_FUNC_ADD 0x8006
-#define GL_MIN 0x8007
-#define GL_MAX 0x8008
-#define GL_BLEND_EQUATION 0x8009
-#define GL_FUNC_SUBTRACT 0x800A
-#define GL_FUNC_REVERSE_SUBTRACT 0x800B
-#define GL_COLOR_MATRIX 0x80B1
-#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
-#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
-#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
-#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
-#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
-#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
-#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
-#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
-#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
-#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
-#define GL_COLOR_TABLE 0x80D0
-#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
-#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
-#define GL_PROXY_COLOR_TABLE 0x80D3
-#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
-#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
-#define GL_COLOR_TABLE_SCALE 0x80D6
-#define GL_COLOR_TABLE_BIAS 0x80D7
-#define GL_COLOR_TABLE_FORMAT 0x80D8
-#define GL_COLOR_TABLE_WIDTH 0x80D9
-#define GL_COLOR_TABLE_RED_SIZE 0x80DA
-#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
-#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
-#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
-#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
-#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
-#define GL_CONVOLUTION_1D 0x8010
-#define GL_CONVOLUTION_2D 0x8011
-#define GL_SEPARABLE_2D 0x8012
-#define GL_CONVOLUTION_BORDER_MODE 0x8013
-#define GL_CONVOLUTION_FILTER_SCALE 0x8014
-#define GL_CONVOLUTION_FILTER_BIAS 0x8015
-#define GL_REDUCE 0x8016
-#define GL_CONVOLUTION_FORMAT 0x8017
-#define GL_CONVOLUTION_WIDTH 0x8018
-#define GL_CONVOLUTION_HEIGHT 0x8019
-#define GL_MAX_CONVOLUTION_WIDTH 0x801A
-#define GL_MAX_CONVOLUTION_HEIGHT 0x801B
-#define GL_POST_CONVOLUTION_RED_SCALE 0x801C
-#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
-#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
-#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
-#define GL_POST_CONVOLUTION_RED_BIAS 0x8020
-#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
-#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
-#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
-#define GL_IGNORE_BORDER 0x8150
-#define GL_CONSTANT_BORDER 0x8151
-#define GL_REPLICATE_BORDER 0x8153
-#define GL_CONVOLUTION_BORDER_COLOR 0x8154
-#define GL_HISTOGRAM 0x8024
-#define GL_PROXY_HISTOGRAM 0x8025
-#define GL_HISTOGRAM_WIDTH 0x8026
-#define GL_HISTOGRAM_FORMAT 0x8027
-#define GL_HISTOGRAM_RED_SIZE 0x8028
-#define GL_HISTOGRAM_GREEN_SIZE 0x8029
-#define GL_HISTOGRAM_BLUE_SIZE 0x802A
-#define GL_HISTOGRAM_ALPHA_SIZE 0x802B
-#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
-#define GL_HISTOGRAM_SINK 0x802D
-#define GL_MINMAX 0x802E
-#define GL_MINMAX_FORMAT 0x802F
-#define GL_MINMAX_SINK 0x8030
+#define GL_CONSTANT_COLOR 0x8001
+#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
+#define GL_CONSTANT_ALPHA 0x8003
+#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
+#define GL_BLEND_COLOR 0x8005
+#define GL_FUNC_ADD 0x8006
+#define GL_MIN 0x8007
+#define GL_MAX 0x8008
+#define GL_BLEND_EQUATION 0x8009
+#define GL_FUNC_SUBTRACT 0x800A
+#define GL_FUNC_REVERSE_SUBTRACT 0x800B
+#define GL_COLOR_MATRIX 0x80B1
+#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
+#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
+#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
+#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
+#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
+#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
+#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
+#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
+#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
+#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
+#define GL_COLOR_TABLE 0x80D0
+#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
+#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
+#define GL_PROXY_COLOR_TABLE 0x80D3
+#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
+#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
+#define GL_COLOR_TABLE_SCALE 0x80D6
+#define GL_COLOR_TABLE_BIAS 0x80D7
+#define GL_COLOR_TABLE_FORMAT 0x80D8
+#define GL_COLOR_TABLE_WIDTH 0x80D9
+#define GL_COLOR_TABLE_RED_SIZE 0x80DA
+#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
+#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
+#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
+#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
+#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
+#define GL_CONVOLUTION_1D 0x8010
+#define GL_CONVOLUTION_2D 0x8011
+#define GL_SEPARABLE_2D 0x8012
+#define GL_CONVOLUTION_BORDER_MODE 0x8013
+#define GL_CONVOLUTION_FILTER_SCALE 0x8014
+#define GL_CONVOLUTION_FILTER_BIAS 0x8015
+#define GL_REDUCE 0x8016
+#define GL_CONVOLUTION_FORMAT 0x8017
+#define GL_CONVOLUTION_WIDTH 0x8018
+#define GL_CONVOLUTION_HEIGHT 0x8019
+#define GL_MAX_CONVOLUTION_WIDTH 0x801A
+#define GL_MAX_CONVOLUTION_HEIGHT 0x801B
+#define GL_POST_CONVOLUTION_RED_SCALE 0x801C
+#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
+#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
+#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
+#define GL_POST_CONVOLUTION_RED_BIAS 0x8020
+#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
+#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
+#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
+#define GL_IGNORE_BORDER 0x8150
+#define GL_CONSTANT_BORDER 0x8151
+#define GL_REPLICATE_BORDER 0x8153
+#define GL_CONVOLUTION_BORDER_COLOR 0x8154
+#define GL_HISTOGRAM 0x8024
+#define GL_PROXY_HISTOGRAM 0x8025
+#define GL_HISTOGRAM_WIDTH 0x8026
+#define GL_HISTOGRAM_FORMAT 0x8027
+#define GL_HISTOGRAM_RED_SIZE 0x8028
+#define GL_HISTOGRAM_GREEN_SIZE 0x8029
+#define GL_HISTOGRAM_BLUE_SIZE 0x802A
+#define GL_HISTOGRAM_ALPHA_SIZE 0x802B
+#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
+#define GL_HISTOGRAM_SINK 0x802D
+#define GL_MINMAX 0x802E
+#define GL_MINMAX_FORMAT 0x802F
+#define GL_MINMAX_SINK 0x8030
/* EXT_clip_volume_hint */
-#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80F0
+#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80F0
/* EXT_point_parameters */
-#define GL_POINT_SIZE_MIN_EXT 0x8126
-#define GL_POINT_SIZE_MAX_EXT 0x8127
-#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128
-#define GL_DISTANCE_ATTENUATION_EXT 0x8129
+#define GL_POINT_SIZE_MIN_EXT 0x8126
+#define GL_POINT_SIZE_MAX_EXT 0x8127
+#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128
+#define GL_DISTANCE_ATTENUATION_EXT 0x8129
/* EXT_compiled_vertex_array */
-#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8
-#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9
-
-/* SGIS_multitexture */
-#define GL_SELECTED_TEXTURE_SGIS 0x835C
-#define GL_MAX_TEXTURES_SGIS 0x835D
-#define GL_TEXTURE0_SGIS 0x835E
-#define GL_TEXTURE1_SGIS 0x835F
-#define GL_TEXTURE2_SGIS 0x8360
-#define GL_TEXTURE3_SGIS 0x8361
+#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8
+#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9
/* ARB_multitexture */
-#define GL_ACTIVE_TEXTURE_ARB 0x84E0
-#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1
-#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2
-#define GL_TEXTURE0_ARB 0x84C0
-#define GL_TEXTURE1_ARB 0x84C1
-#define GL_TEXTURE2_ARB 0x84C2
-#define GL_TEXTURE3_ARB 0x84C3
-#define GL_TEXTURE4_ARB 0x84C4
-#define GL_TEXTURE5_ARB 0x84C5
-#define GL_TEXTURE6_ARB 0x84C6
-#define GL_TEXTURE7_ARB 0x84C7
-#define GL_TEXTURE8_ARB 0x84C8
-#define GL_TEXTURE9_ARB 0x84C9
-#define GL_TEXTURE10_ARB 0x84CA
-#define GL_TEXTURE11_ARB 0x84CB
-#define GL_TEXTURE12_ARB 0x84CC
-#define GL_TEXTURE13_ARB 0x84CD
-#define GL_TEXTURE14_ARB 0x84CE
-#define GL_TEXTURE15_ARB 0x84CF
-#define GL_TEXTURE16_ARB 0x84D0
-#define GL_TEXTURE17_ARB 0x84D1
-#define GL_TEXTURE18_ARB 0x84D2
-#define GL_TEXTURE19_ARB 0x84D3
-#define GL_TEXTURE20_ARB 0x84D4
-#define GL_TEXTURE21_ARB 0x84D5
-#define GL_TEXTURE22_ARB 0x84D6
-#define GL_TEXTURE23_ARB 0x84D7
-#define GL_TEXTURE24_ARB 0x84D8
-#define GL_TEXTURE25_ARB 0x84D9
-#define GL_TEXTURE26_ARB 0x84DA
-#define GL_TEXTURE27_ARB 0x84DB
-#define GL_TEXTURE28_ARB 0x84DC
-#define GL_TEXTURE29_ARB 0x84DD
-#define GL_TEXTURE30_ARB 0x84DE
-#define GL_TEXTURE31_ARB 0x84DF
+#define GL_ACTIVE_TEXTURE_ARB 0x84E0
+#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1
+#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2
+#define GL_TEXTURE0_ARB 0x84C0
+#define GL_TEXTURE1_ARB 0x84C1
+#define GL_TEXTURE2_ARB 0x84C2
+#define GL_TEXTURE3_ARB 0x84C3
+#define GL_TEXTURE4_ARB 0x84C4
+#define GL_TEXTURE5_ARB 0x84C5
+#define GL_TEXTURE6_ARB 0x84C6
+#define GL_TEXTURE7_ARB 0x84C7
+#define GL_TEXTURE8_ARB 0x84C8
+#define GL_TEXTURE9_ARB 0x84C9
+#define GL_TEXTURE10_ARB 0x84CA
+#define GL_TEXTURE11_ARB 0x84CB
+#define GL_TEXTURE12_ARB 0x84CC
+#define GL_TEXTURE13_ARB 0x84CD
+#define GL_TEXTURE14_ARB 0x84CE
+#define GL_TEXTURE15_ARB 0x84CF
+#define GL_TEXTURE16_ARB 0x84D0
+#define GL_TEXTURE17_ARB 0x84D1
+#define GL_TEXTURE18_ARB 0x84D2
+#define GL_TEXTURE19_ARB 0x84D3
+#define GL_TEXTURE20_ARB 0x84D4
+#define GL_TEXTURE21_ARB 0x84D5
+#define GL_TEXTURE22_ARB 0x84D6
+#define GL_TEXTURE23_ARB 0x84D7
+#define GL_TEXTURE24_ARB 0x84D8
+#define GL_TEXTURE25_ARB 0x84D9
+#define GL_TEXTURE26_ARB 0x84DA
+#define GL_TEXTURE27_ARB 0x84DB
+#define GL_TEXTURE28_ARB 0x84DC
+#define GL_TEXTURE29_ARB 0x84DD
+#define GL_TEXTURE30_ARB 0x84DE
+#define GL_TEXTURE31_ARB 0x84DF
/* EXT_fog_coord */
-#define GL_FOG_COORDINATE_SOURCE_EXT 0x8450
-#define GL_FOG_COORDINATE_EXT 0x8451
-#define GL_FRAGMENT_DEPTH_EXT 0x8452
-#define GL_CURRENT_FOG_COORDINATE_EXT 0x8453
-#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454
-#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455
-#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456
-#define GL_FOG_COORDINATE_ARRAY_EXT 0x8457
+#define GL_FOG_COORDINATE_SOURCE_EXT 0x8450
+#define GL_FOG_COORDINATE_EXT 0x8451
+#define GL_FRAGMENT_DEPTH_EXT 0x8452
+#define GL_CURRENT_FOG_COORDINATE_EXT 0x8453
+#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454
+#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455
+#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456
+#define GL_FOG_COORDINATE_ARRAY_EXT 0x8457
/* EXT_secondary_color */
-#define GL_COLOR_SUM_EXT 0x8458
-#define GL_CURRENT_SECONDARY_COLOR_EXT 0x8459
-#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A
-#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B
-#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C
-#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D
-#define GL_SECONDARY_COLOR_ARRAY_EXT 0x845E
+#define GL_COLOR_SUM_EXT 0x8458
+#define GL_CURRENT_SECONDARY_COLOR_EXT 0x8459
+#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A
+#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B
+#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C
+#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D
+#define GL_SECONDARY_COLOR_ARRAY_EXT 0x845E
/* EXT_separate_specular_color */
-#define GL_SINGLE_COLOR_EXT 0x81F9
-#define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA
-#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81F8
+#define GL_SINGLE_COLOR_EXT 0x81F9
+#define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA
+#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81F8
/* EXT_stencil_wrap */
-#define GL_INCR_WRAP_EXT 0x8507
-#define GL_DECR_WRAP_EXT 0x8508
+#define GL_INCR_WRAP_EXT 0x8507
+#define GL_DECR_WRAP_EXT 0x8508
/* NV_texgen_reflection */
-#define GL_NORMAL_MAP_NV 0x8511
-#define GL_REFLECTION_MAP_NV 0x8512
+#define GL_NORMAL_MAP_NV 0x8511
+#define GL_REFLECTION_MAP_NV 0x8512
/* EXT_texture_cube_map */
-#define GL_NORMAL_MAP_EXT 0x8511
-#define GL_REFLECTION_MAP_EXT 0x8512
-#define GL_TEXTURE_CUBE_MAP_EXT 0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP_EXT 0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP_EXT 0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT 0x851C
+#define GL_NORMAL_MAP_EXT 0x8511
+#define GL_REFLECTION_MAP_EXT 0x8512
+#define GL_TEXTURE_CUBE_MAP_EXT 0x8513
+#define GL_TEXTURE_BINDING_CUBE_MAP_EXT 0x8514
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A
+#define GL_PROXY_TEXTURE_CUBE_MAP_EXT 0x851B
+#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT 0x851C
/* ARB_texture_cube_map */
-#define GL_NORMAL_MAP_ARB 0x8511
-#define GL_REFLECTION_MAP_ARB 0x8512
-#define GL_TEXTURE_CUBE_MAP_ARB 0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C
+#define GL_NORMAL_MAP_ARB 0x8511
+#define GL_REFLECTION_MAP_ARB 0x8512
+#define GL_TEXTURE_CUBE_MAP_ARB 0x8513
+#define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
+#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B
+#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C
/* NV_vertex_array_range */
-#define GL_VERTEX_ARRAY_RANGE_NV 0x851D
-#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV 0x851E
-#define GL_VERTEX_ARRAY_RANGE_VALID_NV 0x851F
-#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520
-#define GL_VERTEX_ARRAY_RANGE_POINTER_NV 0x8521
+#define GL_VERTEX_ARRAY_RANGE_NV 0x851D
+#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV 0x851E
+#define GL_VERTEX_ARRAY_RANGE_VALID_NV 0x851F
+#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520
+#define GL_VERTEX_ARRAY_RANGE_POINTER_NV 0x8521
/* NV_vertex_array_range2 */
-#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533
+#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533
/* NV_register_combiners */
-#define GL_REGISTER_COMBINERS_NV 0x8522
-#define GL_COMBINER0_NV 0x8550
-#define GL_COMBINER1_NV 0x8551
-#define GL_COMBINER2_NV 0x8552
-#define GL_COMBINER3_NV 0x8553
-#define GL_COMBINER4_NV 0x8554
-#define GL_COMBINER5_NV 0x8555
-#define GL_COMBINER6_NV 0x8556
-#define GL_COMBINER7_NV 0x8557
-#define GL_VARIABLE_A_NV 0x8523
-#define GL_VARIABLE_B_NV 0x8524
-#define GL_VARIABLE_C_NV 0x8525
-#define GL_VARIABLE_D_NV 0x8526
-#define GL_VARIABLE_E_NV 0x8527
-#define GL_VARIABLE_F_NV 0x8528
-#define GL_VARIABLE_G_NV 0x8529
-#define GL_CONSTANT_COLOR0_NV 0x852A
-#define GL_CONSTANT_COLOR1_NV 0x852B
-#define GL_PRIMARY_COLOR_NV 0x852C
-#define GL_SECONDARY_COLOR_NV 0x852D
-#define GL_SPARE0_NV 0x852E
-#define GL_SPARE1_NV 0x852F
+#define GL_REGISTER_COMBINERS_NV 0x8522
+#define GL_COMBINER0_NV 0x8550
+#define GL_COMBINER1_NV 0x8551
+#define GL_COMBINER2_NV 0x8552
+#define GL_COMBINER3_NV 0x8553
+#define GL_COMBINER4_NV 0x8554
+#define GL_COMBINER5_NV 0x8555
+#define GL_COMBINER6_NV 0x8556
+#define GL_COMBINER7_NV 0x8557
+#define GL_VARIABLE_A_NV 0x8523
+#define GL_VARIABLE_B_NV 0x8524
+#define GL_VARIABLE_C_NV 0x8525
+#define GL_VARIABLE_D_NV 0x8526
+#define GL_VARIABLE_E_NV 0x8527
+#define GL_VARIABLE_F_NV 0x8528
+#define GL_VARIABLE_G_NV 0x8529
+#define GL_CONSTANT_COLOR0_NV 0x852A
+#define GL_CONSTANT_COLOR1_NV 0x852B
+#define GL_PRIMARY_COLOR_NV 0x852C
+#define GL_SECONDARY_COLOR_NV 0x852D
+#define GL_SPARE0_NV 0x852E
+#define GL_SPARE1_NV 0x852F
/* GL_TEXTURE0_ARB */
/* GL_TEXTURE1_ARB */
-#define GL_UNSIGNED_IDENTITY_NV 0x8536
-#define GL_UNSIGNED_INVERT_NV 0x8537
-#define GL_EXPAND_NORMAL_NV 0x8538
-#define GL_EXPAND_NEGATE_NV 0x8539
-#define GL_HALF_BIAS_NORMAL_NV 0x853A
-#define GL_HALF_BIAS_NEGATE_NV 0x853B
-#define GL_SIGNED_IDENTITY_NV 0x853C
-#define GL_SIGNED_NEGATE_NV 0x853D
-#define GL_E_TIMES_F_NV 0x8531
-#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532
-#define GL_SCALE_BY_TWO_NV 0x853E
-#define GL_SCALE_BY_FOUR_NV 0x853F
-#define GL_SCALE_BY_ONE_HALF_NV 0x8540
-#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV 0x8541
-#define GL_DISCARD_NV 0x8530
-#define GL_COMBINER_INPUT_NV 0x8542
-#define GL_COMBINER_MAPPING_NV 0x8543
-#define GL_COMBINER_COMPONENT_USAGE_NV 0x8544
-#define GL_COMBINER_AB_DOT_PRODUCT_NV 0x8545
-#define GL_COMBINER_CD_DOT_PRODUCT_NV 0x8546
-#define GL_COMBINER_MUX_SUM_NV 0x8547
-#define GL_COMBINER_SCALE_NV 0x8548
-#define GL_COMBINER_BIAS_NV 0x8549
-#define GL_COMBINER_AB_OUTPUT_NV 0x854A
-#define GL_COMBINER_CD_OUTPUT_NV 0x854B
-#define GL_COMBINER_SUM_OUTPUT_NV 0x854C
-#define GL_MAX_GENERAL_COMBINERS_NV 0x854D
-#define GL_NUM_GENERAL_COMBINERS_NV 0x854E
-#define GL_COLOR_SUM_CLAMP_NV 0x854F
+#define GL_UNSIGNED_IDENTITY_NV 0x8536
+#define GL_UNSIGNED_INVERT_NV 0x8537
+#define GL_EXPAND_NORMAL_NV 0x8538
+#define GL_EXPAND_NEGATE_NV 0x8539
+#define GL_HALF_BIAS_NORMAL_NV 0x853A
+#define GL_HALF_BIAS_NEGATE_NV 0x853B
+#define GL_SIGNED_IDENTITY_NV 0x853C
+#define GL_SIGNED_NEGATE_NV 0x853D
+#define GL_E_TIMES_F_NV 0x8531
+#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532
+#define GL_SCALE_BY_TWO_NV 0x853E
+#define GL_SCALE_BY_FOUR_NV 0x853F
+#define GL_SCALE_BY_ONE_HALF_NV 0x8540
+#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV 0x8541
+#define GL_DISCARD_NV 0x8530
+#define GL_COMBINER_INPUT_NV 0x8542
+#define GL_COMBINER_MAPPING_NV 0x8543
+#define GL_COMBINER_COMPONENT_USAGE_NV 0x8544
+#define GL_COMBINER_AB_DOT_PRODUCT_NV 0x8545
+#define GL_COMBINER_CD_DOT_PRODUCT_NV 0x8546
+#define GL_COMBINER_MUX_SUM_NV 0x8547
+#define GL_COMBINER_SCALE_NV 0x8548
+#define GL_COMBINER_BIAS_NV 0x8549
+#define GL_COMBINER_AB_OUTPUT_NV 0x854A
+#define GL_COMBINER_CD_OUTPUT_NV 0x854B
+#define GL_COMBINER_SUM_OUTPUT_NV 0x854C
+#define GL_MAX_GENERAL_COMBINERS_NV 0x854D
+#define GL_NUM_GENERAL_COMBINERS_NV 0x854E
+#define GL_COLOR_SUM_CLAMP_NV 0x854F
/* NV_fog_distance */
-#define GL_FOG_DISTANCE_MODE_NV 0x855A
-#define GL_EYE_RADIAL_NV 0x855B
-#define GL_EYE_PLANE_ABSOLUTE_NV 0x855C
+#define GL_FOG_DISTANCE_MODE_NV 0x855A
+#define GL_EYE_RADIAL_NV 0x855B
+#define GL_EYE_PLANE_ABSOLUTE_NV 0x855C
/* NV_fragment_program */
-#define GL_FRAGMENT_PROGRAM_NV 0x8870
-#define GL_MAX_TEXTURE_COORDS_NV 0x8871
-#define GL_MAX_TEXTURE_IMAGE_UNITS_NV 0x8872
-#define GL_FRAGMENT_PROGRAM_BINDING_NV 0x8873
-#define GL_PROGRAM_ERROR_STRING_NV 0x8874
-#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868
+#define GL_FRAGMENT_PROGRAM_NV 0x8870
+#define GL_MAX_TEXTURE_COORDS_NV 0x8871
+#define GL_MAX_TEXTURE_IMAGE_UNITS_NV 0x8872
+#define GL_FRAGMENT_PROGRAM_BINDING_NV 0x8873
+#define GL_PROGRAM_ERROR_STRING_NV 0x8874
+#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868
/* NV_light_max_exponent */
-#define GL_MAX_SHININESS_NV 0x8504
-#define GL_MAX_SPOT_EXPONENT_NV 0x8505
+#define GL_MAX_SHININESS_NV 0x8504
+#define GL_MAX_SPOT_EXPONENT_NV 0x8505
/* ARB_texture_env_combine */
-#define GL_COMBINE_ARB 0x8570
-#define GL_COMBINE_RGB_ARB 0x8571
-#define GL_COMBINE_ALPHA_ARB 0x8572
-#define GL_RGB_SCALE_ARB 0x8573
-#define GL_ADD_SIGNED_ARB 0x8574
-#define GL_INTERPOLATE_ARB 0x8575
-#define GL_CONSTANT_ARB 0x8576
-#define GL_PRIMARY_COLOR_ARB 0x8577
-#define GL_PREVIOUS_ARB 0x8578
-#define GL_SOURCE0_RGB_ARB 0x8580
-#define GL_SOURCE1_RGB_ARB 0x8581
-#define GL_SOURCE2_RGB_ARB 0x8582
-#define GL_SOURCE0_ALPHA_ARB 0x8588
-#define GL_SOURCE1_ALPHA_ARB 0x8589
-#define GL_SOURCE2_ALPHA_ARB 0x858A
-#define GL_OPERAND0_RGB_ARB 0x8590
-#define GL_OPERAND1_RGB_ARB 0x8591
-#define GL_OPERAND2_RGB_ARB 0x8592
-#define GL_OPERAND0_ALPHA_ARB 0x8598
-#define GL_OPERAND1_ALPHA_ARB 0x8599
-#define GL_OPERAND2_ALPHA_ARB 0x859A
-#define GL_SUBTRACT_ARB 0x84E7
+#define GL_COMBINE_ARB 0x8570
+#define GL_COMBINE_RGB_ARB 0x8571
+#define GL_COMBINE_ALPHA_ARB 0x8572
+#define GL_RGB_SCALE_ARB 0x8573
+#define GL_ADD_SIGNED_ARB 0x8574
+#define GL_INTERPOLATE_ARB 0x8575
+#define GL_CONSTANT_ARB 0x8576
+#define GL_PRIMARY_COLOR_ARB 0x8577
+#define GL_PREVIOUS_ARB 0x8578
+#define GL_SOURCE0_RGB_ARB 0x8580
+#define GL_SOURCE1_RGB_ARB 0x8581
+#define GL_SOURCE2_RGB_ARB 0x8582
+#define GL_SOURCE0_ALPHA_ARB 0x8588
+#define GL_SOURCE1_ALPHA_ARB 0x8589
+#define GL_SOURCE2_ALPHA_ARB 0x858A
+#define GL_OPERAND0_RGB_ARB 0x8590
+#define GL_OPERAND1_RGB_ARB 0x8591
+#define GL_OPERAND2_RGB_ARB 0x8592
+#define GL_OPERAND0_ALPHA_ARB 0x8598
+#define GL_OPERAND1_ALPHA_ARB 0x8599
+#define GL_OPERAND2_ALPHA_ARB 0x859A
+#define GL_SUBTRACT_ARB 0x84E7
/* EXT_texture_env_combine */
-#define GL_COMBINE_EXT 0x8570
-#define GL_COMBINE_RGB_EXT 0x8571
-#define GL_COMBINE_ALPHA_EXT 0x8572
-#define GL_RGB_SCALE_EXT 0x8573
-#define GL_ADD_SIGNED_EXT 0x8574
-#define GL_INTERPOLATE_EXT 0x8575
-#define GL_CONSTANT_EXT 0x8576
-#define GL_PRIMARY_COLOR_EXT 0x8577
-#define GL_PREVIOUS_EXT 0x8578
-#define GL_SOURCE0_RGB_EXT 0x8580
-#define GL_SOURCE1_RGB_EXT 0x8581
-#define GL_SOURCE2_RGB_EXT 0x8582
-#define GL_SOURCE0_ALPHA_EXT 0x8588
-#define GL_SOURCE1_ALPHA_EXT 0x8589
-#define GL_SOURCE2_ALPHA_EXT 0x858A
-#define GL_OPERAND0_RGB_EXT 0x8590
-#define GL_OPERAND1_RGB_EXT 0x8591
-#define GL_OPERAND2_RGB_EXT 0x8592
-#define GL_OPERAND0_ALPHA_EXT 0x8598
-#define GL_OPERAND1_ALPHA_EXT 0x8599
-#define GL_OPERAND2_ALPHA_EXT 0x859A
+#define GL_COMBINE_EXT 0x8570
+#define GL_COMBINE_RGB_EXT 0x8571
+#define GL_COMBINE_ALPHA_EXT 0x8572
+#define GL_RGB_SCALE_EXT 0x8573
+#define GL_ADD_SIGNED_EXT 0x8574
+#define GL_INTERPOLATE_EXT 0x8575
+#define GL_CONSTANT_EXT 0x8576
+#define GL_PRIMARY_COLOR_EXT 0x8577
+#define GL_PREVIOUS_EXT 0x8578
+#define GL_SOURCE0_RGB_EXT 0x8580
+#define GL_SOURCE1_RGB_EXT 0x8581
+#define GL_SOURCE2_RGB_EXT 0x8582
+#define GL_SOURCE0_ALPHA_EXT 0x8588
+#define GL_SOURCE1_ALPHA_EXT 0x8589
+#define GL_SOURCE2_ALPHA_EXT 0x858A
+#define GL_OPERAND0_RGB_EXT 0x8590
+#define GL_OPERAND1_RGB_EXT 0x8591
+#define GL_OPERAND2_RGB_EXT 0x8592
+#define GL_OPERAND0_ALPHA_EXT 0x8598
+#define GL_OPERAND1_ALPHA_EXT 0x8599
+#define GL_OPERAND2_ALPHA_EXT 0x859A
/* NV_texture_env_combine4 */
-#define GL_COMBINE4_NV 0x8503
-#define GL_SOURCE3_RGB_NV 0x8583
-#define GL_SOURCE3_ALPHA_NV 0x858B
-#define GL_OPERAND3_RGB_NV 0x8593
-#define GL_OPERAND3_ALPHA_NV 0x859B
+#define GL_COMBINE4_NV 0x8503
+#define GL_SOURCE3_RGB_NV 0x8583
+#define GL_SOURCE3_ALPHA_NV 0x858B
+#define GL_OPERAND3_RGB_NV 0x8593
+#define GL_OPERAND3_ALPHA_NV 0x859B
/* SUN_slice_accum */
-#define GL_SLICE_ACCUM_SUN 0x85CC
+#define GL_SLICE_ACCUM_SUN 0x85CC
/* EXT_texture_filter_anisotropic */
-#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
-#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
+#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
+#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
/* EXT_texture_lod_bias */
-#define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD
-#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500
-#define GL_TEXTURE_LOD_BIAS_EXT 0x8501
+#define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD
+#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500
+#define GL_TEXTURE_LOD_BIAS_EXT 0x8501
/* EXT_texture_edge_clamp */
-#define GL_CLAMP_TO_EDGE_EXT 0x812F
+#define GL_CLAMP_TO_EDGE_EXT 0x812F
/* S3_s3tc */
-#define GL_RGB_S3TC 0x83A0
-#define GL_RGB4_S3TC 0x83A1
-#define GL_RGBA_S3TC 0x83A2
-#define GL_RGBA4_S3TC 0x83A3
-#define GL_RGBA_DXT5_S3TC 0x83A4
-#define GL_RGBA4_DXT5_S3TC 0x83A5
+#define GL_RGB_S3TC 0x83A0
+#define GL_RGB4_S3TC 0x83A1
+#define GL_RGBA_S3TC 0x83A2
+#define GL_RGBA4_S3TC 0x83A3
+#define GL_RGBA_DXT5_S3TC 0x83A4
+#define GL_RGBA4_DXT5_S3TC 0x83A5
/* ARB_transpose_matrix */
-#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3
-#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4
-#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5
-#define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6
+#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3
+#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4
+#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5
+#define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6
/* ARB_texture_compression */
-#define GL_COMPRESSED_ALPHA_ARB 0x84E9
-#define GL_COMPRESSED_LUMINANCE_ARB 0x84EA
-#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB
-#define GL_COMPRESSED_INTENSITY_ARB 0x84EC
-#define GL_COMPRESSED_RGB_ARB 0x84ED
-#define GL_COMPRESSED_RGBA_ARB 0x84EE
-#define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF
-#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0
-#define GL_TEXTURE_COMPRESSED_ARB 0x86A1
-#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
-#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3
+#define GL_COMPRESSED_ALPHA_ARB 0x84E9
+#define GL_COMPRESSED_LUMINANCE_ARB 0x84EA
+#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB
+#define GL_COMPRESSED_INTENSITY_ARB 0x84EC
+#define GL_COMPRESSED_RGB_ARB 0x84ED
+#define GL_COMPRESSED_RGBA_ARB 0x84EE
+#define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF
+#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0
+#define GL_TEXTURE_COMPRESSED_ARB 0x86A1
+#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
+#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3
/* EXT_texture_compression_s3tc */
-#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
-#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
-#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
-#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
+#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
+#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
+#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
+#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
/* EXT_texture_compression_latc */
-#define GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70
-#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71
-#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72
-#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8C73
+#define GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70
+#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71
+#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72
+#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8C73
/* EXT_texture_compression_rgtc */
-#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB
-#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC
-#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD
-#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE
+#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB
+#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC
+#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD
+#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE
/* NV_fence */
-#define GL_ALL_COMPLETED_NV 0x84F2
-#define GL_FENCE_STATUS_NV 0x84F3
-#define GL_FENCE_CONDITION_NV 0x84F4
+#define GL_ALL_COMPLETED_NV 0x84F2
+#define GL_FENCE_STATUS_NV 0x84F3
+#define GL_FENCE_CONDITION_NV 0x84F4
/* NV_mac_get_proc_address */
-#define GL_ALL_EXTENSIONS_NV 0x84FB
-#define GL_MAC_GET_PROC_ADDRESS_NV 0x84FC
+#define GL_ALL_EXTENSIONS_NV 0x84FB
+#define GL_MAC_GET_PROC_ADDRESS_NV 0x84FC
/* NV_vertex_program */
-#define GL_VERTEX_PROGRAM_NV 0x8620
-#define GL_VERTEX_STATE_PROGRAM_NV 0x8621
-#define GL_ATTRIB_ARRAY_SIZE_NV 0x8623
-#define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624
-#define GL_ATTRIB_ARRAY_TYPE_NV 0x8625
-#define GL_CURRENT_ATTRIB_NV 0x8626
-#define GL_PROGRAM_LENGTH_NV 0x8627
-#define GL_PROGRAM_STRING_NV 0x8628
-#define GL_MODELVIEW_PROJECTION_NV 0x8629
-#define GL_IDENTITY_NV 0x862A
-#define GL_INVERSE_NV 0x862B
-#define GL_TRANSPOSE_NV 0x862C
-#define GL_INVERSE_TRANSPOSE_NV 0x862D
-#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E
-#define GL_MAX_TRACK_MATRICES_NV 0x862F
-#define GL_MATRIX0_NV 0x8630
-#define GL_MATRIX1_NV 0x8631
-#define GL_MATRIX2_NV 0x8632
-#define GL_MATRIX3_NV 0x8633
-#define GL_MATRIX4_NV 0x8634
-#define GL_MATRIX5_NV 0x8635
-#define GL_MATRIX6_NV 0x8636
-#define GL_MATRIX7_NV 0x8637
-#define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640
-#define GL_CURRENT_MATRIX_NV 0x8641
-#define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642
-#define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643
-#define GL_PROGRAM_PARAMETER_NV 0x8644
-#define GL_ATTRIB_ARRAY_POINTER_NV 0x8645
-#define GL_PROGRAM_TARGET_NV 0x8646
-#define GL_PROGRAM_RESIDENT_NV 0x8647
-#define GL_TRACK_MATRIX_NV 0x8648
-#define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649
-#define GL_VERTEX_PROGRAM_BINDING_NV 0x864A
-#define GL_PROGRAM_ERROR_POSITION_NV 0x864B
-#define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650
-#define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651
-#define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652
-#define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653
-#define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654
-#define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655
-#define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656
-#define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657
-#define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658
-#define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659
-#define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A
-#define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B
-#define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C
-#define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D
-#define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E
-#define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F
-#define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660
-#define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661
-#define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662
-#define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663
-#define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664
-#define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665
-#define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666
-#define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667
-#define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668
-#define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669
-#define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A
-#define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B
-#define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C
-#define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D
-#define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E
-#define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F
-#define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670
-#define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671
-#define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672
-#define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673
-#define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674
-#define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675
-#define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676
-#define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677
-#define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678
-#define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679
-#define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A
-#define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B
-#define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C
-#define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D
-#define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E
-#define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F
+#define GL_VERTEX_PROGRAM_NV 0x8620
+#define GL_VERTEX_STATE_PROGRAM_NV 0x8621
+#define GL_ATTRIB_ARRAY_SIZE_NV 0x8623
+#define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624
+#define GL_ATTRIB_ARRAY_TYPE_NV 0x8625
+#define GL_CURRENT_ATTRIB_NV 0x8626
+#define GL_PROGRAM_LENGTH_NV 0x8627
+#define GL_PROGRAM_STRING_NV 0x8628
+#define GL_MODELVIEW_PROJECTION_NV 0x8629
+#define GL_IDENTITY_NV 0x862A
+#define GL_INVERSE_NV 0x862B
+#define GL_TRANSPOSE_NV 0x862C
+#define GL_INVERSE_TRANSPOSE_NV 0x862D
+#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E
+#define GL_MAX_TRACK_MATRICES_NV 0x862F
+#define GL_MATRIX0_NV 0x8630
+#define GL_MATRIX1_NV 0x8631
+#define GL_MATRIX2_NV 0x8632
+#define GL_MATRIX3_NV 0x8633
+#define GL_MATRIX4_NV 0x8634
+#define GL_MATRIX5_NV 0x8635
+#define GL_MATRIX6_NV 0x8636
+#define GL_MATRIX7_NV 0x8637
+#define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640
+#define GL_CURRENT_MATRIX_NV 0x8641
+#define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642
+#define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643
+#define GL_PROGRAM_PARAMETER_NV 0x8644
+#define GL_ATTRIB_ARRAY_POINTER_NV 0x8645
+#define GL_PROGRAM_TARGET_NV 0x8646
+#define GL_PROGRAM_RESIDENT_NV 0x8647
+#define GL_TRACK_MATRIX_NV 0x8648
+#define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649
+#define GL_VERTEX_PROGRAM_BINDING_NV 0x864A
+#define GL_PROGRAM_ERROR_POSITION_NV 0x864B
+#define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650
+#define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651
+#define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652
+#define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653
+#define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654
+#define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655
+#define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656
+#define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657
+#define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658
+#define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659
+#define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A
+#define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B
+#define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C
+#define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D
+#define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E
+#define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F
+#define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660
+#define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661
+#define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662
+#define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663
+#define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664
+#define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665
+#define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666
+#define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667
+#define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668
+#define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669
+#define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A
+#define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B
+#define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C
+#define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D
+#define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E
+#define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F
+#define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670
+#define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671
+#define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672
+#define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673
+#define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674
+#define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675
+#define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676
+#define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677
+#define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678
+#define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679
+#define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A
+#define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B
+#define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C
+#define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D
+#define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E
+#define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F
/* NV_texture_shader */
-#define GL_OFFSET_TEXTURE_RECTANGLE_NV 0x864C
-#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D
-#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E
-#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9
-#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA
-#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB
-#define GL_DSDT_MAG_INTENSITY_NV 0x86DC
-#define GL_SHADER_CONSISTENT_NV 0x86DD
-#define GL_TEXTURE_SHADER_NV 0x86DE
-#define GL_SHADER_OPERATION_NV 0x86DF
-#define GL_CULL_MODES_NV 0x86E0
-#define GL_OFFSET_TEXTURE_MATRIX_NV 0x86E1
-#define GL_OFFSET_TEXTURE_SCALE_NV 0x86E2
-#define GL_OFFSET_TEXTURE_BIAS_NV 0x86E3
-#define GL_OFFSET_TEXTURE_2D_MATRIX_NV GL_OFFSET_TEXTURE_MATRIX_NV
-#define GL_OFFSET_TEXTURE_2D_SCALE_NV GL_OFFSET_TEXTURE_SCALE_NV
-#define GL_OFFSET_TEXTURE_2D_BIAS_NV GL_OFFSET_TEXTURE_BIAS_NV
-#define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4
-#define GL_CONST_EYE_NV 0x86E5
-#define GL_PASS_THROUGH_NV 0x86E6
-#define GL_CULL_FRAGMENT_NV 0x86E7
-#define GL_OFFSET_TEXTURE_2D_NV 0x86E8
-#define GL_DEPENDENT_AR_TEXTURE_2D_NV 0x86E9
-#define GL_DEPENDENT_GB_TEXTURE_2D_NV 0x86EA
-#define GL_DOT_PRODUCT_NV 0x86EC
-#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV 0x86ED
-#define GL_DOT_PRODUCT_TEXTURE_2D_NV 0x86EE
-#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0
-#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1
-#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2
-#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3
-#define GL_HILO_NV 0x86F4
-#define GL_DSDT_NV 0x86F5
-#define GL_DSDT_MAG_NV 0x86F6
-#define GL_DSDT_MAG_VIB_NV 0x86F7
-#define GL_HILO16_NV 0x86F8
-#define GL_SIGNED_HILO_NV 0x86F9
-#define GL_SIGNED_HILO16_NV 0x86FA
-#define GL_SIGNED_RGBA_NV 0x86FB
-#define GL_SIGNED_RGBA8_NV 0x86FC
-#define GL_SIGNED_RGB_NV 0x86FE
-#define GL_SIGNED_RGB8_NV 0x86FF
-#define GL_SIGNED_LUMINANCE_NV 0x8701
-#define GL_SIGNED_LUMINANCE8_NV 0x8702
-#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703
-#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704
-#define GL_SIGNED_ALPHA_NV 0x8705
-#define GL_SIGNED_ALPHA8_NV 0x8706
-#define GL_SIGNED_INTENSITY_NV 0x8707
-#define GL_SIGNED_INTENSITY8_NV 0x8708
-#define GL_DSDT8_NV 0x8709
-#define GL_DSDT8_MAG8_NV 0x870A
-#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B
-#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C
-#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D
-#define GL_HI_SCALE_NV 0x870E
-#define GL_LO_SCALE_NV 0x870F
-#define GL_DS_SCALE_NV 0x8710
-#define GL_DT_SCALE_NV 0x8711
-#define GL_MAGNITUDE_SCALE_NV 0x8712
-#define GL_VIBRANCE_SCALE_NV 0x8713
-#define GL_HI_BIAS_NV 0x8714
-#define GL_LO_BIAS_NV 0x8715
-#define GL_DS_BIAS_NV 0x8716
-#define GL_DT_BIAS_NV 0x8717
-#define GL_MAGNITUDE_BIAS_NV 0x8718
-#define GL_VIBRANCE_BIAS_NV 0x8719
-#define GL_TEXTURE_BORDER_VALUES_NV 0x871A
-#define GL_TEXTURE_HI_SIZE_NV 0x871B
-#define GL_TEXTURE_LO_SIZE_NV 0x871C
-#define GL_TEXTURE_DS_SIZE_NV 0x871D
-#define GL_TEXTURE_DT_SIZE_NV 0x871E
-#define GL_TEXTURE_MAG_SIZE_NV 0x871F
+#define GL_OFFSET_TEXTURE_RECTANGLE_NV 0x864C
+#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D
+#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E
+#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9
+#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA
+#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB
+#define GL_DSDT_MAG_INTENSITY_NV 0x86DC
+#define GL_SHADER_CONSISTENT_NV 0x86DD
+#define GL_TEXTURE_SHADER_NV 0x86DE
+#define GL_SHADER_OPERATION_NV 0x86DF
+#define GL_CULL_MODES_NV 0x86E0
+#define GL_OFFSET_TEXTURE_MATRIX_NV 0x86E1
+#define GL_OFFSET_TEXTURE_SCALE_NV 0x86E2
+#define GL_OFFSET_TEXTURE_BIAS_NV 0x86E3
+#define GL_OFFSET_TEXTURE_2D_MATRIX_NV GL_OFFSET_TEXTURE_MATRIX_NV
+#define GL_OFFSET_TEXTURE_2D_SCALE_NV GL_OFFSET_TEXTURE_SCALE_NV
+#define GL_OFFSET_TEXTURE_2D_BIAS_NV GL_OFFSET_TEXTURE_BIAS_NV
+#define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4
+#define GL_CONST_EYE_NV 0x86E5
+#define GL_PASS_THROUGH_NV 0x86E6
+#define GL_CULL_FRAGMENT_NV 0x86E7
+#define GL_OFFSET_TEXTURE_2D_NV 0x86E8
+#define GL_DEPENDENT_AR_TEXTURE_2D_NV 0x86E9
+#define GL_DEPENDENT_GB_TEXTURE_2D_NV 0x86EA
+#define GL_DOT_PRODUCT_NV 0x86EC
+#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV 0x86ED
+#define GL_DOT_PRODUCT_TEXTURE_2D_NV 0x86EE
+#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0
+#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1
+#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2
+#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3
+#define GL_HILO_NV 0x86F4
+#define GL_DSDT_NV 0x86F5
+#define GL_DSDT_MAG_NV 0x86F6
+#define GL_DSDT_MAG_VIB_NV 0x86F7
+#define GL_HILO16_NV 0x86F8
+#define GL_SIGNED_HILO_NV 0x86F9
+#define GL_SIGNED_HILO16_NV 0x86FA
+#define GL_SIGNED_RGBA_NV 0x86FB
+#define GL_SIGNED_RGBA8_NV 0x86FC
+#define GL_SIGNED_RGB_NV 0x86FE
+#define GL_SIGNED_RGB8_NV 0x86FF
+#define GL_SIGNED_LUMINANCE_NV 0x8701
+#define GL_SIGNED_LUMINANCE8_NV 0x8702
+#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703
+#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704
+#define GL_SIGNED_ALPHA_NV 0x8705
+#define GL_SIGNED_ALPHA8_NV 0x8706
+#define GL_SIGNED_INTENSITY_NV 0x8707
+#define GL_SIGNED_INTENSITY8_NV 0x8708
+#define GL_DSDT8_NV 0x8709
+#define GL_DSDT8_MAG8_NV 0x870A
+#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B
+#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C
+#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D
+#define GL_HI_SCALE_NV 0x870E
+#define GL_LO_SCALE_NV 0x870F
+#define GL_DS_SCALE_NV 0x8710
+#define GL_DT_SCALE_NV 0x8711
+#define GL_MAGNITUDE_SCALE_NV 0x8712
+#define GL_VIBRANCE_SCALE_NV 0x8713
+#define GL_HI_BIAS_NV 0x8714
+#define GL_LO_BIAS_NV 0x8715
+#define GL_DS_BIAS_NV 0x8716
+#define GL_DT_BIAS_NV 0x8717
+#define GL_MAGNITUDE_BIAS_NV 0x8718
+#define GL_VIBRANCE_BIAS_NV 0x8719
+#define GL_TEXTURE_BORDER_VALUES_NV 0x871A
+#define GL_TEXTURE_HI_SIZE_NV 0x871B
+#define GL_TEXTURE_LO_SIZE_NV 0x871C
+#define GL_TEXTURE_DS_SIZE_NV 0x871D
+#define GL_TEXTURE_DT_SIZE_NV 0x871E
+#define GL_TEXTURE_MAG_SIZE_NV 0x871F
/* NV_texture_shader2 */
-#define GL_DOT_PRODUCT_TEXTURE_3D_NV 0x86EF
+#define GL_DOT_PRODUCT_TEXTURE_3D_NV 0x86EF
/* NV_texture_shader3 */
-#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850
-#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851
-#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852
-#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853
-#define GL_OFFSET_HILO_TEXTURE_2D_NV 0x8854
-#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855
-#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856
-#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857
-#define GL_DEPENDENT_HILO_TEXTURE_2D_NV 0x8858
-#define GL_DEPENDENT_RGB_TEXTURE_3D_NV 0x8859
-#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A
-#define GL_DOT_PRODUCT_PASS_THROUGH_NV 0x885B
-#define GL_DOT_PRODUCT_TEXTURE_1D_NV 0x885C
-#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D
-#define GL_HILO8_NV 0x885E
-#define GL_SIGNED_HILO8_NV 0x885F
-#define GL_FORCE_BLUE_TO_ONE_NV 0x8860
+#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850
+#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851
+#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852
+#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853
+#define GL_OFFSET_HILO_TEXTURE_2D_NV 0x8854
+#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855
+#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856
+#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857
+#define GL_DEPENDENT_HILO_TEXTURE_2D_NV 0x8858
+#define GL_DEPENDENT_RGB_TEXTURE_3D_NV 0x8859
+#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A
+#define GL_DOT_PRODUCT_PASS_THROUGH_NV 0x885B
+#define GL_DOT_PRODUCT_TEXTURE_1D_NV 0x885C
+#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D
+#define GL_HILO8_NV 0x885E
+#define GL_SIGNED_HILO8_NV 0x885F
+#define GL_FORCE_BLUE_TO_ONE_NV 0x8860
/* NV_register_combiners2 */
-#define GL_PER_STAGE_CONSTANTS_NV 0x8535
+#define GL_PER_STAGE_CONSTANTS_NV 0x8535
/* IBM_texture_mirrored_repeat */
-#define GL_MIRRORED_REPEAT_IBM 0x8370
+#define GL_MIRRORED_REPEAT_IBM 0x8370
/* ARB_texture_env_dot3 */
-#define GL_DOT3_RGB_ARB 0x86AE
-#define GL_DOT3_RGBA_ARB 0x86AF
+#define GL_DOT3_RGB_ARB 0x86AE
+#define GL_DOT3_RGBA_ARB 0x86AF
/* EXT_texture_env_dot3 */
-#define GL_DOT3_RGB_EXT 0x8740
-#define GL_DOT3_RGBA_EXT 0x8741
+#define GL_DOT3_RGB_EXT 0x8740
+#define GL_DOT3_RGBA_EXT 0x8741
/* APPLE_transform_hint */
-#define GL_TRANSFORM_HINT_APPLE 0x85B1
+#define GL_TRANSFORM_HINT_APPLE 0x85B1
/* ARB_texture_border_clamp */
-#define GL_CLAMP_TO_BORDER_ARB 0x812D
+#define GL_CLAMP_TO_BORDER_ARB 0x812D
/* NV_texture_rectangle */
-#define GL_TEXTURE_RECTANGLE_NV 0x84F5
-#define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6
-#define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7
-#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8
+#define GL_TEXTURE_RECTANGLE_NV 0x84F5
+#define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6
+#define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7
+#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8
/* ARB_texture_rectangle */
-#define GL_TEXTURE_RECTANGLE_ARB 0x84F5
-#define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
-#define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7
-#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
+#define GL_TEXTURE_RECTANGLE_ARB 0x84F5
+#define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
+#define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7
+#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
/* ARB_multisample */
-#define GL_MULTISAMPLE_ARB 0x809D
-#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F
-#define GL_SAMPLE_COVERAGE_ARB 0x80A0
-#define GL_SAMPLE_BUFFERS_ARB 0x80A8
-#define GL_SAMPLES_ARB 0x80A9
-#define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA
-#define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB
-#define GL_MULTISAMPLE_BIT_ARB 0x20000000
+#define GL_MULTISAMPLE_ARB 0x809D
+#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E
+#define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F
+#define GL_SAMPLE_COVERAGE_ARB 0x80A0
+#define GL_SAMPLE_BUFFERS_ARB 0x80A8
+#define GL_SAMPLES_ARB 0x80A9
+#define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA
+#define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB
+#define GL_MULTISAMPLE_BIT_ARB 0x20000000
/* NV_multisample_filter_hint */
-#define GL_MULTISAMPLE_FILTER_HINT_NV 0x8534
+#define GL_MULTISAMPLE_FILTER_HINT_NV 0x8534
/* NV_packed_depth_stencil */
-#define GL_DEPTH_STENCIL_NV 0x84F9
-#define GL_UNSIGNED_INT_24_8_NV 0x84FA
+#define GL_DEPTH_STENCIL_NV 0x84F9
+#define GL_UNSIGNED_INT_24_8_NV 0x84FA
/* EXT_packed_depth_stencil */
-#define GL_DEPTH_STENCIL_EXT 0x84F9
-#define GL_DEPTH24_STENCIL8_EXT 0x88F0
-#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1
-#define GL_UNSIGNED_INT_24_8_EXT 0x84FA
+#define GL_DEPTH_STENCIL_EXT 0x84F9
+#define GL_DEPTH24_STENCIL8_EXT 0x88F0
+#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1
+#define GL_UNSIGNED_INT_24_8_EXT 0x84FA
/* EXT_draw_range_elements */
-#define GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8
-#define GL_MAX_ELEMENTS_INDICES_EXT 0x80E9
+#define GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8
+#define GL_MAX_ELEMENTS_INDICES_EXT 0x80E9
/* NV_pixel_data_range */
-#define GL_WRITE_PIXEL_DATA_RANGE_NV 0x8878
-#define GL_READ_PIXEL_DATA_RANGE_NV 0x8879
-#define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV 0x887A
-#define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV 0x887B
-#define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887C
-#define GL_READ_PIXEL_DATA_RANGE_POINTER_NV 0x887D
+#define GL_WRITE_PIXEL_DATA_RANGE_NV 0x8878
+#define GL_READ_PIXEL_DATA_RANGE_NV 0x8879
+#define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV 0x887A
+#define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV 0x887B
+#define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887C
+#define GL_READ_PIXEL_DATA_RANGE_POINTER_NV 0x887D
/* NV_packed_normal */
-#define GL_UNSIGNED_INT_S10_S11_S11_REV_NV 0x886B
+#define GL_UNSIGNED_INT_S10_S11_S11_REV_NV 0x886B
/* NV_half_float */
-#define GL_HALF_FLOAT_NV 0x140B
+#define GL_HALF_FLOAT_NV 0x140B
/* NV_copy_depth_to_color */
-#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E
-#define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886F
+#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E
+#define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886F
/* HP_occlusion_test */
-#define GL_OCCLUSION_TEST_HP 0x8165
-#define GL_OCCLUSION_TEST_RESULT_HP 0x8166
+#define GL_OCCLUSION_TEST_HP 0x8165
+#define GL_OCCLUSION_TEST_RESULT_HP 0x8166
/* NV_occlusion_query */
-#define GL_PIXEL_COUNTER_BITS_NV 0x8864
-#define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865
-#define GL_PIXEL_COUNT_NV 0x8866
-#define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867
+#define GL_PIXEL_COUNTER_BITS_NV 0x8864
+#define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865
+#define GL_PIXEL_COUNT_NV 0x8866
+#define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867
/* ARB_occlusion_query */
-#define GL_QUERY_COUNTER_BITS_ARB 0x8864
-#define GL_CURRENT_QUERY_ARB 0x8865
-#define GL_QUERY_RESULT_ARB 0x8866
-#define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867
-#define GL_SAMPLES_PASSED_ARB 0x8914
+#define GL_QUERY_COUNTER_BITS_ARB 0x8864
+#define GL_CURRENT_QUERY_ARB 0x8865
+#define GL_QUERY_RESULT_ARB 0x8866
+#define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867
+#define GL_SAMPLES_PASSED_ARB 0x8914
/* ARB_point_sprite */
-#define GL_POINT_SPRITE_ARB 0x8861
-#define GL_COORD_REPLACE_ARB 0x8862
+#define GL_POINT_SPRITE_ARB 0x8861
+#define GL_COORD_REPLACE_ARB 0x8862
/* NV_point_sprite */
-#define GL_POINT_SPRITE_NV 0x8861
-#define GL_COORD_REPLACE_NV 0x8862
-#define GL_POINT_SPRITE_R_MODE_NV 0x8863
+#define GL_POINT_SPRITE_NV 0x8861
+#define GL_COORD_REPLACE_NV 0x8862
+#define GL_POINT_SPRITE_R_MODE_NV 0x8863
/* 3DFX_tbuffer */
-#define GL_TBUFFER_WRITE_MASK_3DFX 0x86D8
+#define GL_TBUFFER_WRITE_MASK_3DFX 0x86D8
/* NV_depth_clamp */
-#define GL_DEPTH_CLAMP_NV 0x864F
+#define GL_DEPTH_CLAMP_NV 0x864F
/* NV_float_buffer */
-#define GL_FLOAT_R_NV 0x8880
-#define GL_FLOAT_RG_NV 0x8881
-#define GL_FLOAT_RGB_NV 0x8882
-#define GL_FLOAT_RGBA_NV 0x8883
-#define GL_FLOAT_R16_NV 0x8884
-#define GL_FLOAT_R32_NV 0x8885
-#define GL_FLOAT_RG16_NV 0x8886
-#define GL_FLOAT_RG32_NV 0x8887
-#define GL_FLOAT_RGB16_NV 0x8888
-#define GL_FLOAT_RGB32_NV 0x8889
-#define GL_FLOAT_RGBA16_NV 0x888A
-#define GL_FLOAT_RGBA32_NV 0x888B
-#define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888C
-#define GL_FLOAT_CLEAR_COLOR_VALUE_NV 0x888D
-#define GL_FLOAT_RGBA_MODE_NV 0x888E
+#define GL_FLOAT_R_NV 0x8880
+#define GL_FLOAT_RG_NV 0x8881
+#define GL_FLOAT_RGB_NV 0x8882
+#define GL_FLOAT_RGBA_NV 0x8883
+#define GL_FLOAT_R16_NV 0x8884
+#define GL_FLOAT_R32_NV 0x8885
+#define GL_FLOAT_RG16_NV 0x8886
+#define GL_FLOAT_RG32_NV 0x8887
+#define GL_FLOAT_RGB16_NV 0x8888
+#define GL_FLOAT_RGB32_NV 0x8889
+#define GL_FLOAT_RGBA16_NV 0x888A
+#define GL_FLOAT_RGBA32_NV 0x888B
+#define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888C
+#define GL_FLOAT_CLEAR_COLOR_VALUE_NV 0x888D
+#define GL_FLOAT_RGBA_MODE_NV 0x888E
/* EXT_stencil_two_side */
-#define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910
-#define GL_ACTIVE_STENCIL_FACE_EXT 0x8911
+#define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910
+#define GL_ACTIVE_STENCIL_FACE_EXT 0x8911
/* EXT_blend_func_separate */
-#define GL_BLEND_DST_RGB_EXT 0x80C8
-#define GL_BLEND_SRC_RGB_EXT 0x80C9
-#define GL_BLEND_DST_ALPHA_EXT 0x80CA
-#define GL_BLEND_SRC_ALPHA_EXT 0x80CB
+#define GL_BLEND_DST_RGB_EXT 0x80C8
+#define GL_BLEND_SRC_RGB_EXT 0x80C9
+#define GL_BLEND_DST_ALPHA_EXT 0x80CA
+#define GL_BLEND_SRC_ALPHA_EXT 0x80CB
/* ARB_texture_mirrored_repeat */
-#define GL_MIRRORED_REPEAT_ARB 0x8370
+#define GL_MIRRORED_REPEAT_ARB 0x8370
/* ARB_depth_texture */
-#define GL_DEPTH_COMPONENT16_ARB 0x81A5
-#define GL_DEPTH_COMPONENT24_ARB 0x81A6
-#define GL_DEPTH_COMPONENT32_ARB 0x81A7
-#define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A
-#define GL_DEPTH_TEXTURE_MODE_ARB 0x884B
+#define GL_DEPTH_COMPONENT16_ARB 0x81A5
+#define GL_DEPTH_COMPONENT24_ARB 0x81A6
+#define GL_DEPTH_COMPONENT32_ARB 0x81A7
+#define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A
+#define GL_DEPTH_TEXTURE_MODE_ARB 0x884B
/* ARB_shadow */
-#define GL_TEXTURE_COMPARE_MODE_ARB 0x884C
-#define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D
-#define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E
+#define GL_TEXTURE_COMPARE_MODE_ARB 0x884C
+#define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D
+#define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E
/* ARB_shadow_ambient */
-#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF
+#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF
/* NV_force_software */
-#define GL_FORCE_SOFTWARE_NV 0x6007
+#define GL_FORCE_SOFTWARE_NV 0x6007
/* ARB_point_parameters */
-#define GL_POINT_SIZE_MIN_ARB 0x8126
-#define GL_POINT_SIZE_MAX_ARB 0x8127
-#define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128
-#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129
+#define GL_POINT_SIZE_MIN_ARB 0x8126
+#define GL_POINT_SIZE_MAX_ARB 0x8127
+#define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128
+#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129
/* EXT_depth_bounds_test */
-#define GL_DEPTH_BOUNDS_TEST_EXT 0x8890
-#define GL_DEPTH_BOUNDS_EXT 0x8891
+#define GL_DEPTH_BOUNDS_TEST_EXT 0x8890
+#define GL_DEPTH_BOUNDS_EXT 0x8891
+
+/* EXT_direct_state_access */
+#define GL_PROGRAM_MATRIX_EXT 0x8E2D
+#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT 0x8E2E
+#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F
/* ARB_vertex_program */
-#define GL_VERTEX_PROGRAM_ARB 0x8620
-#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642
-#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643
-#define GL_COLOR_SUM_ARB 0x8458
-#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875
-#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622
-#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623
-#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624
-#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625
-#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A
-#define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626
-#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645
-#define GL_PROGRAM_LENGTH_ARB 0x8627
-#define GL_PROGRAM_FORMAT_ARB 0x8876
-#define GL_PROGRAM_BINDING_ARB 0x8677
-#define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0
-#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1
-#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2
-#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3
-#define GL_PROGRAM_TEMPORARIES_ARB 0x88A4
-#define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5
-#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6
-#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7
-#define GL_PROGRAM_PARAMETERS_ARB 0x88A8
-#define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9
-#define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA
-#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB
-#define GL_PROGRAM_ATTRIBS_ARB 0x88AC
-#define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD
-#define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE
-#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF
-#define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0
-#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1
-#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2
-#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3
-#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4
-#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5
-#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6
-#define GL_PROGRAM_STRING_ARB 0x8628
-#define GL_PROGRAM_ERROR_POSITION_ARB 0x864B
-#define GL_CURRENT_MATRIX_ARB 0x8641
-#define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7
-#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640
-#define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869
-#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F
-#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E
-#define GL_PROGRAM_ERROR_STRING_ARB 0x8874
-#define GL_MATRIX0_ARB 0x88C0
-#define GL_MATRIX1_ARB 0x88C1
-#define GL_MATRIX2_ARB 0x88C2
-#define GL_MATRIX3_ARB 0x88C3
-#define GL_MATRIX4_ARB 0x88C4
-#define GL_MATRIX5_ARB 0x88C5
-#define GL_MATRIX6_ARB 0x88C6
-#define GL_MATRIX7_ARB 0x88C7
-#define GL_MATRIX8_ARB 0x88C8
-#define GL_MATRIX9_ARB 0x88C9
-#define GL_MATRIX10_ARB 0x88CA
-#define GL_MATRIX11_ARB 0x88CB
-#define GL_MATRIX12_ARB 0x88CC
-#define GL_MATRIX13_ARB 0x88CD
-#define GL_MATRIX14_ARB 0x88CE
-#define GL_MATRIX15_ARB 0x88CF
-#define GL_MATRIX16_ARB 0x88D0
-#define GL_MATRIX17_ARB 0x88D1
-#define GL_MATRIX18_ARB 0x88D2
-#define GL_MATRIX19_ARB 0x88D3
-#define GL_MATRIX20_ARB 0x88D4
-#define GL_MATRIX21_ARB 0x88D5
-#define GL_MATRIX22_ARB 0x88D6
-#define GL_MATRIX23_ARB 0x88D7
-#define GL_MATRIX24_ARB 0x88D8
-#define GL_MATRIX25_ARB 0x88D9
-#define GL_MATRIX26_ARB 0x88DA
-#define GL_MATRIX27_ARB 0x88DB
-#define GL_MATRIX28_ARB 0x88DC
-#define GL_MATRIX29_ARB 0x88DD
-#define GL_MATRIX30_ARB 0x88DE
-#define GL_MATRIX31_ARB 0x88DF
+#define GL_VERTEX_PROGRAM_ARB 0x8620
+#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642
+#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643
+#define GL_COLOR_SUM_ARB 0x8458
+#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875
+#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622
+#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623
+#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624
+#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625
+#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A
+#define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626
+#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645
+#define GL_PROGRAM_LENGTH_ARB 0x8627
+#define GL_PROGRAM_FORMAT_ARB 0x8876
+#define GL_PROGRAM_BINDING_ARB 0x8677
+#define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0
+#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1
+#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2
+#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3
+#define GL_PROGRAM_TEMPORARIES_ARB 0x88A4
+#define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5
+#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6
+#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7
+#define GL_PROGRAM_PARAMETERS_ARB 0x88A8
+#define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9
+#define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA
+#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB
+#define GL_PROGRAM_ATTRIBS_ARB 0x88AC
+#define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD
+#define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE
+#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF
+#define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0
+#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1
+#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2
+#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3
+#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4
+#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5
+#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6
+#define GL_PROGRAM_STRING_ARB 0x8628
+#define GL_PROGRAM_ERROR_POSITION_ARB 0x864B
+#define GL_CURRENT_MATRIX_ARB 0x8641
+#define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7
+#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640
+#define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869
+#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F
+#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E
+#define GL_PROGRAM_ERROR_STRING_ARB 0x8874
+#define GL_MATRIX0_ARB 0x88C0
+#define GL_MATRIX1_ARB 0x88C1
+#define GL_MATRIX2_ARB 0x88C2
+#define GL_MATRIX3_ARB 0x88C3
+#define GL_MATRIX4_ARB 0x88C4
+#define GL_MATRIX5_ARB 0x88C5
+#define GL_MATRIX6_ARB 0x88C6
+#define GL_MATRIX7_ARB 0x88C7
+#define GL_MATRIX8_ARB 0x88C8
+#define GL_MATRIX9_ARB 0x88C9
+#define GL_MATRIX10_ARB 0x88CA
+#define GL_MATRIX11_ARB 0x88CB
+#define GL_MATRIX12_ARB 0x88CC
+#define GL_MATRIX13_ARB 0x88CD
+#define GL_MATRIX14_ARB 0x88CE
+#define GL_MATRIX15_ARB 0x88CF
+#define GL_MATRIX16_ARB 0x88D0
+#define GL_MATRIX17_ARB 0x88D1
+#define GL_MATRIX18_ARB 0x88D2
+#define GL_MATRIX19_ARB 0x88D3
+#define GL_MATRIX20_ARB 0x88D4
+#define GL_MATRIX21_ARB 0x88D5
+#define GL_MATRIX22_ARB 0x88D6
+#define GL_MATRIX23_ARB 0x88D7
+#define GL_MATRIX24_ARB 0x88D8
+#define GL_MATRIX25_ARB 0x88D9
+#define GL_MATRIX26_ARB 0x88DA
+#define GL_MATRIX27_ARB 0x88DB
+#define GL_MATRIX28_ARB 0x88DC
+#define GL_MATRIX29_ARB 0x88DD
+#define GL_MATRIX30_ARB 0x88DE
+#define GL_MATRIX31_ARB 0x88DF
/* OpenGL14 */
-#define GL_POINT_SIZE_MIN 0x8126
-#define GL_POINT_SIZE_MAX 0x8127
-#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
-#define GL_POINT_DISTANCE_ATTENUATION 0x8129
-#define GL_FOG_COORDINATE_SOURCE 0x8450
-#define GL_FOG_COORDINATE 0x8451
-#define GL_FRAGMENT_DEPTH 0x8452
-#define GL_CURRENT_FOG_COORDINATE 0x8453
-#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454
-#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455
-#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456
-#define GL_FOG_COORDINATE_ARRAY 0x8457
-#define GL_COLOR_SUM 0x8458
-#define GL_CURRENT_SECONDARY_COLOR 0x8459
-#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A
-#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B
-#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C
-#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D
-#define GL_SECONDARY_COLOR_ARRAY 0x845E
-#define GL_INCR_WRAP 0x8507
-#define GL_DECR_WRAP 0x8508
-#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
-#define GL_TEXTURE_FILTER_CONTROL 0x8500
-#define GL_TEXTURE_LOD_BIAS 0x8501
-#define GL_GENERATE_MIPMAP_SGIS 0x8191
-#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192
-#define GL_BLEND_DST_RGB 0x80C8
-#define GL_BLEND_SRC_RGB 0x80C9
-#define GL_BLEND_DST_ALPHA 0x80CA
-#define GL_BLEND_SRC_ALPHA 0x80CB
-#define GL_MIRRORED_REPEAT 0x8370
-#define GL_DEPTH_COMPONENT16 0x81A5
-#define GL_DEPTH_COMPONENT24 0x81A6
-#define GL_DEPTH_COMPONENT32 0x81A7
-#define GL_TEXTURE_DEPTH_SIZE 0x884A
-#define GL_DEPTH_TEXTURE_MODE 0x884B
-#define GL_TEXTURE_COMPARE_MODE 0x884C
-#define GL_TEXTURE_COMPARE_FUNC 0x884D
-#define GL_COMPARE_R_TO_TEXTURE 0x884E
+#define GL_POINT_SIZE_MIN 0x8126
+#define GL_POINT_SIZE_MAX 0x8127
+#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
+#define GL_POINT_DISTANCE_ATTENUATION 0x8129
+#define GL_FOG_COORDINATE_SOURCE 0x8450
+#define GL_FOG_COORDINATE 0x8451
+#define GL_FRAGMENT_DEPTH 0x8452
+#define GL_CURRENT_FOG_COORDINATE 0x8453
+#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454
+#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455
+#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456
+#define GL_FOG_COORDINATE_ARRAY 0x8457
+#define GL_COLOR_SUM 0x8458
+#define GL_CURRENT_SECONDARY_COLOR 0x8459
+#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A
+#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B
+#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C
+#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D
+#define GL_SECONDARY_COLOR_ARRAY 0x845E
+#define GL_INCR_WRAP 0x8507
+#define GL_DECR_WRAP 0x8508
+#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
+#define GL_TEXTURE_FILTER_CONTROL 0x8500
+#define GL_TEXTURE_LOD_BIAS 0x8501
+#define GL_GENERATE_MIPMAP 0x8191
+#define GL_GENERATE_MIPMAP_HINT 0x8192
+#define GL_BLEND_DST_RGB 0x80C8
+#define GL_BLEND_SRC_RGB 0x80C9
+#define GL_BLEND_DST_ALPHA 0x80CA
+#define GL_BLEND_SRC_ALPHA 0x80CB
+#define GL_MIRRORED_REPEAT 0x8370
+#define GL_DEPTH_COMPONENT16 0x81A5
+#define GL_DEPTH_COMPONENT24 0x81A6
+#define GL_DEPTH_COMPONENT32 0x81A7
+#define GL_TEXTURE_DEPTH_SIZE 0x884A
+#define GL_DEPTH_TEXTURE_MODE 0x884B
+#define GL_TEXTURE_COMPARE_MODE 0x884C
+#define GL_TEXTURE_COMPARE_FUNC 0x884D
+#define GL_COMPARE_R_TO_TEXTURE 0x884E
+
+/* SGIS_generate_mipmap */
+#define GL_GENERATE_MIPMAP_SGIS 0x8191
+#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192
/* NV_primitive_restart */
-#define GL_PRIMITIVE_RESTART_NV 0x8558
-#define GL_PRIMITIVE_RESTART_INDEX_NV 0x8559
+#define GL_PRIMITIVE_RESTART_NV 0x8558
+#define GL_PRIMITIVE_RESTART_INDEX_NV 0x8559
/* SGIS_texture_color_mask */
-#define GL_TEXTURE_COLOR_WRITEMASK_SGIS 0x81EF
+#define GL_TEXTURE_COLOR_WRITEMASK_SGIS 0x81EF
/* NV_texture_expand_normal */
-#define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888F
+#define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888F
/* ARB_fragment_program */
-#define GL_FRAGMENT_PROGRAM_ARB 0x8804
+#define GL_FRAGMENT_PROGRAM_ARB 0x8804
/* GL_PROGRAM_FORMAT_ASCII_ARB */
/* GL_PROGRAM_LENGTH_ARB */
/* GL_PROGRAM_FORMAT_ARB */
@@ -3973,18 +4598,18 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
/* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
/* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
/* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
-#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805
-#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806
-#define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807
-#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808
-#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809
-#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A
-#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B
-#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C
-#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D
-#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E
-#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F
-#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810
+#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805
+#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806
+#define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807
+#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808
+#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809
+#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A
+#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B
+#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C
+#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D
+#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E
+#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F
+#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810
/* GL_PROGRAM_STRING_ARB */
/* GL_PROGRAM_ERROR_POSITION_ARB */
/* GL_CURRENT_MATRIX_ARB */
@@ -3992,8 +4617,8 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
/* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
/* GL_MAX_PROGRAM_MATRICES_ARB */
/* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
-#define GL_MAX_TEXTURE_COORDS_ARB 0x8871
-#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872
+#define GL_MAX_TEXTURE_COORDS_ARB 0x8871
+#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872
/* GL_PROGRAM_ERROR_STRING_ARB */
/* GL_MATRIX0_ARB */
/* GL_MATRIX1_ARB */
@@ -4062,652 +4687,685 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
/* GL_MATRIX31_ARB */
/* ARB_vertex_buffer_object */
-#define GL_ARRAY_BUFFER_ARB 0x8892
-#define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893
-#define GL_ARRAY_BUFFER_BINDING_ARB 0x8894
-#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
-#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896
-#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897
-#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898
-#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899
-#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A
-#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B
-#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C
-#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D
-#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E
-#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F
-#define GL_STREAM_DRAW_ARB 0x88E0
-#define GL_STREAM_READ_ARB 0x88E1
-#define GL_STREAM_COPY_ARB 0x88E2
-#define GL_STATIC_DRAW_ARB 0x88E4
-#define GL_STATIC_READ_ARB 0x88E5
-#define GL_STATIC_COPY_ARB 0x88E6
-#define GL_DYNAMIC_DRAW_ARB 0x88E8
-#define GL_DYNAMIC_READ_ARB 0x88E9
-#define GL_DYNAMIC_COPY_ARB 0x88EA
-#define GL_READ_ONLY_ARB 0x88B8
-#define GL_WRITE_ONLY_ARB 0x88B9
-#define GL_READ_WRITE_ARB 0x88BA
-#define GL_BUFFER_SIZE_ARB 0x8764
-#define GL_BUFFER_USAGE_ARB 0x8765
-#define GL_BUFFER_ACCESS_ARB 0x88BB
-#define GL_BUFFER_MAPPED_ARB 0x88BC
-#define GL_BUFFER_MAP_POINTER_ARB 0x88BD
+#define GL_ARRAY_BUFFER_ARB 0x8892
+#define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893
+#define GL_ARRAY_BUFFER_BINDING_ARB 0x8894
+#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
+#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896
+#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897
+#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898
+#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899
+#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A
+#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B
+#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C
+#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D
+#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E
+#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F
+#define GL_STREAM_DRAW_ARB 0x88E0
+#define GL_STREAM_READ_ARB 0x88E1
+#define GL_STREAM_COPY_ARB 0x88E2
+#define GL_STATIC_DRAW_ARB 0x88E4
+#define GL_STATIC_READ_ARB 0x88E5
+#define GL_STATIC_COPY_ARB 0x88E6
+#define GL_DYNAMIC_DRAW_ARB 0x88E8
+#define GL_DYNAMIC_READ_ARB 0x88E9
+#define GL_DYNAMIC_COPY_ARB 0x88EA
+#define GL_READ_ONLY_ARB 0x88B8
+#define GL_WRITE_ONLY_ARB 0x88B9
+#define GL_READ_WRITE_ARB 0x88BA
+#define GL_BUFFER_SIZE_ARB 0x8764
+#define GL_BUFFER_USAGE_ARB 0x8765
+#define GL_BUFFER_ACCESS_ARB 0x88BB
+#define GL_BUFFER_MAPPED_ARB 0x88BC
+#define GL_BUFFER_MAP_POINTER_ARB 0x88BD
/* EXT_pixel_buffer_object */
-#define GL_PIXEL_PACK_BUFFER_EXT 0x88EB
-#define GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC
-#define GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED
-#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF
+#define GL_PIXEL_PACK_BUFFER_EXT 0x88EB
+#define GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC
+#define GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED
+#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF
/* NV_transform_feedback */
-#define GL_BACK_PRIMARY_COLOR_NV 0x8C77
-#define GL_BACK_SECONDARY_COLOR_NV 0x8C78
-#define GL_TEXTURE_COORD_NV 0x8C79
-#define GL_CLIP_DISTANCE_NV 0x8C7A
-#define GL_VERTEX_ID_NV 0x8C7B
-#define GL_PRIMITIVE_ID_NV 0x8C7C
-#define GL_GENERIC_ATTRIB_NV 0x8C7D
-#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV 0x8C7E
-#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV 0x8C7F
-#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV 0x8C80
-#define GL_ACTIVE_VARYINGS_NV 0x8C81
-#define GL_ACTIVE_VARYING_MAX_LENGTH_NV 0x8C82
-#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV 0x8C83
-#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV 0x8C84
-#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV 0x8C85
-#define GL_TRANSFORM_FEEDBACK_RECORD_NV 0x8C86
-#define GL_PRIMITIVES_GENERATED_NV 0x8C87
-#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV 0x8C88
-#define GL_RASTERIZER_DISCARD_NV 0x8C89
+#define GL_BACK_PRIMARY_COLOR_NV 0x8C77
+#define GL_BACK_SECONDARY_COLOR_NV 0x8C78
+#define GL_TEXTURE_COORD_NV 0x8C79
+#define GL_CLIP_DISTANCE_NV 0x8C7A
+#define GL_VERTEX_ID_NV 0x8C7B
+#define GL_PRIMITIVE_ID_NV 0x8C7C
+#define GL_GENERIC_ATTRIB_NV 0x8C7D
+#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV 0x8C7E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV 0x8C7F
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV 0x8C80
+#define GL_ACTIVE_VARYINGS_NV 0x8C81
+#define GL_ACTIVE_VARYING_MAX_LENGTH_NV 0x8C82
+#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV 0x8C83
+#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV 0x8C84
+#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV 0x8C85
+#define GL_TRANSFORM_FEEDBACK_RECORD_NV 0x8C86
+#define GL_PRIMITIVES_GENERATED_NV 0x8C87
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV 0x8C88
+#define GL_RASTERIZER_DISCARD_NV 0x8C89
#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV 0x8C8A
-#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV 0x8C8B
-#define GL_INTERLEAVED_ATTRIBS_NV 0x8C8C
-#define GL_SEPARATE_ATTRIBS_NV 0x8C8D
-#define GL_TRANSFORM_FEEDBACK_BUFFER_NV 0x8C8E
-#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV 0x8C8F
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV 0x8C8B
+#define GL_INTERLEAVED_ATTRIBS_NV 0x8C8C
+#define GL_SEPARATE_ATTRIBS_NV 0x8C8D
+#define GL_TRANSFORM_FEEDBACK_BUFFER_NV 0x8C8E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV 0x8C8F
+#define GL_LAYER_NV 0x8DAA
/* NV_transform_feedback2 */
-#define GL_TRANSFORM_FEEDBACK_NV 0x8E22
-#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV 0x8E23
-#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV 0x8E24
-#define GL_TRANSFORM_FEEDBACK_BINDING_NV 0x8E25
+#define GL_TRANSFORM_FEEDBACK_NV 0x8E22
+#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV 0x8E23
+#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV 0x8E24
+#define GL_TRANSFORM_FEEDBACK_BINDING_NV 0x8E25
+
+/* NV_transform_feedback3 */
+#define GL_PRIMITIVES_GENERATED0_NV 0x8E60
+#define GL_PRIMITIVES_GENERATED1_NV 0x8E61
+#define GL_PRIMITIVES_GENERATED2_NV 0x8E62
+#define GL_PRIMITIVES_GENERATED3_NV 0x8E63
+#define GL_PRIMITIVES_GENERATED4_NV 0x8E64
+#define GL_PRIMITIVES_GENERATED5_NV 0x8E65
+#define GL_PRIMITIVES_GENERATED6_NV 0x8E66
+#define GL_PRIMITIVES_GENERATED7_NV 0x8E67
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN0_NV 0x8E68
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN1_NV 0x8E69
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN2_NV 0x8E6A
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN3_NV 0x8E6B
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN4_NV 0x8E6C
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN5_NV 0x8E6D
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN6_NV 0x8E6E
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN7_NV 0x8E6F
+#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS_NV 0x8E70
+#define GL_MAX_VERTEX_STREAMS_NV 0x8E71
+#define GL_NEXT_BUFFER_NV -2
+#define GL_SKIP_COMPONENTS4_NV -3
+#define GL_SKIP_COMPONENTS3_NV -4
+#define GL_SKIP_COMPONENTS2_NV -5
+#define GL_SKIP_COMPONENTS1_NV -6
/* IBM_rasterpos_clip */
-#define GL_RASTER_POSITION_UNCLIPPED_IBM 0x19262
+#define GL_RASTER_POSITION_UNCLIPPED_IBM 0x19262
/* ATI_texture_mirror_once */
-#define GL_MIRROR_CLAMP_ATI 0x8742
-#define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743
+#define GL_MIRROR_CLAMP_ATI 0x8742
+#define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743
/* ATI_texture_env_combine3 */
-#define GL_MODULATE_ADD_ATI 0x8744
-#define GL_MODULATE_SIGNED_ADD_ATI 0x8745
-#define GL_MODULATE_SUBTRACT_ATI 0x8746
+#define GL_MODULATE_ADD_ATI 0x8744
+#define GL_MODULATE_SIGNED_ADD_ATI 0x8745
+#define GL_MODULATE_SUBTRACT_ATI 0x8746
/* ATI_texture_float */
-#define GL_RGBA_FLOAT32_ATI 0x8814
-#define GL_RGB_FLOAT32_ATI 0x8815
-#define GL_ALPHA_FLOAT32_ATI 0x8816
-#define GL_INTENSITY_FLOAT32_ATI 0x8817
-#define GL_LUMINANCE_FLOAT32_ATI 0x8818
-#define GL_LUMINANCE_ALPHA_FLOAT32_ATI 0x8819
-#define GL_RGBA_FLOAT16_ATI 0x881A
-#define GL_RGB_FLOAT16_ATI 0x881B
-#define GL_ALPHA_FLOAT16_ATI 0x881C
-#define GL_INTENSITY_FLOAT16_ATI 0x881D
-#define GL_LUMINANCE_FLOAT16_ATI 0x881E
-#define GL_LUMINANCE_ALPHA_FLOAT16_ATI 0x881F
+#define GL_RGBA_FLOAT32_ATI 0x8814
+#define GL_RGB_FLOAT32_ATI 0x8815
+#define GL_ALPHA_FLOAT32_ATI 0x8816
+#define GL_INTENSITY_FLOAT32_ATI 0x8817
+#define GL_LUMINANCE_FLOAT32_ATI 0x8818
+#define GL_LUMINANCE_ALPHA_FLOAT32_ATI 0x8819
+#define GL_RGBA_FLOAT16_ATI 0x881A
+#define GL_RGB_FLOAT16_ATI 0x881B
+#define GL_ALPHA_FLOAT16_ATI 0x881C
+#define GL_INTENSITY_FLOAT16_ATI 0x881D
+#define GL_LUMINANCE_FLOAT16_ATI 0x881E
+#define GL_LUMINANCE_ALPHA_FLOAT16_ATI 0x881F
/* ATI_pixel_format_float */
-#define GL_RGBA_FLOAT_MODE_ATI 0x8820
-#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835
+#define GL_RGBA_FLOAT_MODE_ATI 0x8820
+#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835
/* ATI_draw_buffers */
-#define GL_MAX_DRAW_BUFFERS_ATI 0x8824
-#define GL_DRAW_BUFFER0_ATI 0x8825
-#define GL_DRAW_BUFFER1_ATI 0x8826
-#define GL_DRAW_BUFFER2_ATI 0x8827
-#define GL_DRAW_BUFFER3_ATI 0x8828
-#define GL_DRAW_BUFFER4_ATI 0x8829
-#define GL_DRAW_BUFFER5_ATI 0x882A
-#define GL_DRAW_BUFFER6_ATI 0x882B
-#define GL_DRAW_BUFFER7_ATI 0x882C
-#define GL_DRAW_BUFFER8_ATI 0x882D
-#define GL_DRAW_BUFFER9_ATI 0x882E
-#define GL_DRAW_BUFFER10_ATI 0x882F
-#define GL_DRAW_BUFFER11_ATI 0x8830
-#define GL_DRAW_BUFFER12_ATI 0x8831
-#define GL_DRAW_BUFFER13_ATI 0x8832
-#define GL_DRAW_BUFFER14_ATI 0x8833
-#define GL_DRAW_BUFFER15_ATI 0x8834
+#define GL_MAX_DRAW_BUFFERS_ATI 0x8824
+#define GL_DRAW_BUFFER0_ATI 0x8825
+#define GL_DRAW_BUFFER1_ATI 0x8826
+#define GL_DRAW_BUFFER2_ATI 0x8827
+#define GL_DRAW_BUFFER3_ATI 0x8828
+#define GL_DRAW_BUFFER4_ATI 0x8829
+#define GL_DRAW_BUFFER5_ATI 0x882A
+#define GL_DRAW_BUFFER6_ATI 0x882B
+#define GL_DRAW_BUFFER7_ATI 0x882C
+#define GL_DRAW_BUFFER8_ATI 0x882D
+#define GL_DRAW_BUFFER9_ATI 0x882E
+#define GL_DRAW_BUFFER10_ATI 0x882F
+#define GL_DRAW_BUFFER11_ATI 0x8830
+#define GL_DRAW_BUFFER12_ATI 0x8831
+#define GL_DRAW_BUFFER13_ATI 0x8832
+#define GL_DRAW_BUFFER14_ATI 0x8833
+#define GL_DRAW_BUFFER15_ATI 0x8834
/* ARB_draw_buffers */
-#define GL_MAX_DRAW_BUFFERS_ARB 0x8824
-#define GL_DRAW_BUFFER0_ARB 0x8825
-#define GL_DRAW_BUFFER1_ARB 0x8826
-#define GL_DRAW_BUFFER2_ARB 0x8827
-#define GL_DRAW_BUFFER3_ARB 0x8828
-#define GL_DRAW_BUFFER4_ARB 0x8829
-#define GL_DRAW_BUFFER5_ARB 0x882A
-#define GL_DRAW_BUFFER6_ARB 0x882B
-#define GL_DRAW_BUFFER7_ARB 0x882C
-#define GL_DRAW_BUFFER8_ARB 0x882D
-#define GL_DRAW_BUFFER9_ARB 0x882E
-#define GL_DRAW_BUFFER10_ARB 0x882F
-#define GL_DRAW_BUFFER11_ARB 0x8830
-#define GL_DRAW_BUFFER12_ARB 0x8831
-#define GL_DRAW_BUFFER13_ARB 0x8832
-#define GL_DRAW_BUFFER14_ARB 0x8833
-#define GL_DRAW_BUFFER15_ARB 0x8834
+#define GL_MAX_DRAW_BUFFERS_ARB 0x8824
+#define GL_DRAW_BUFFER0_ARB 0x8825
+#define GL_DRAW_BUFFER1_ARB 0x8826
+#define GL_DRAW_BUFFER2_ARB 0x8827
+#define GL_DRAW_BUFFER3_ARB 0x8828
+#define GL_DRAW_BUFFER4_ARB 0x8829
+#define GL_DRAW_BUFFER5_ARB 0x882A
+#define GL_DRAW_BUFFER6_ARB 0x882B
+#define GL_DRAW_BUFFER7_ARB 0x882C
+#define GL_DRAW_BUFFER8_ARB 0x882D
+#define GL_DRAW_BUFFER9_ARB 0x882E
+#define GL_DRAW_BUFFER10_ARB 0x882F
+#define GL_DRAW_BUFFER11_ARB 0x8830
+#define GL_DRAW_BUFFER12_ARB 0x8831
+#define GL_DRAW_BUFFER13_ARB 0x8832
+#define GL_DRAW_BUFFER14_ARB 0x8833
+#define GL_DRAW_BUFFER15_ARB 0x8834
/* NV_depth_buffer_float */
-#define GL_DEPTH_COMPONENT32F_NV 0x8DAB
-#define GL_DEPTH32F_STENCIL8_NV 0x8DAC
-#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD
-#define GL_DEPTH_BUFFER_FLOAT_MODE_NV 0x8DAF
+#define GL_DEPTH_COMPONENT32F_NV 0x8DAB
+#define GL_DEPTH32F_STENCIL8_NV 0x8DAC
+#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD
+#define GL_DEPTH_BUFFER_FLOAT_MODE_NV 0x8DAF
/* EXT_texture_mirror_clamp */
-#define GL_MIRROR_CLAMP_EXT 0x8742
-#define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743
-#define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912
+#define GL_MIRROR_CLAMP_EXT 0x8742
+#define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743
+#define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912
/* EXT_blend_equation_separate */
-#define GL_BLEND_EQUATION_RGB_EXT 0x8009
-#define GL_BLEND_EQUATION_ALPHA_EXT 0x883D
+#define GL_BLEND_EQUATION_RGB_EXT 0x8009
+#define GL_BLEND_EQUATION_ALPHA_EXT 0x883D
/* ARB_shader_objects */
-#define GL_PROGRAM_OBJECT_ARB 0x8B40
-#define GL_SHADER_OBJECT_ARB 0x8B48
-#define GL_OBJECT_TYPE_ARB 0x8B4E
-#define GL_OBJECT_SUBTYPE_ARB 0x8B4F
-#define GL_OBJECT_DELETE_STATUS_ARB 0x8B80
-#define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81
-#define GL_OBJECT_LINK_STATUS_ARB 0x8B82
-#define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83
-#define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84
-#define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85
-#define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86
-#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87
-#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88
-#define GL_FLOAT_VEC2_ARB 0x8B50
-#define GL_FLOAT_VEC3_ARB 0x8B51
-#define GL_FLOAT_VEC4_ARB 0x8B52
-#define GL_INT_VEC2_ARB 0x8B53
-#define GL_INT_VEC3_ARB 0x8B54
-#define GL_INT_VEC4_ARB 0x8B55
-#define GL_BOOL_ARB 0x8B56
-#define GL_BOOL_VEC2_ARB 0x8B57
-#define GL_BOOL_VEC3_ARB 0x8B58
-#define GL_BOOL_VEC4_ARB 0x8B59
-#define GL_FLOAT_MAT2_ARB 0x8B5A
-#define GL_FLOAT_MAT3_ARB 0x8B5B
-#define GL_FLOAT_MAT4_ARB 0x8B5C
-#define GL_SAMPLER_1D_ARB 0x8B5D
-#define GL_SAMPLER_2D_ARB 0x8B5E
-#define GL_SAMPLER_3D_ARB 0x8B5F
-#define GL_SAMPLER_CUBE_ARB 0x8B60
-#define GL_SAMPLER_1D_SHADOW_ARB 0x8B61
-#define GL_SAMPLER_2D_SHADOW_ARB 0x8B62
-#define GL_SAMPLER_2D_RECT_ARB 0x8B63
-#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64
+#define GL_PROGRAM_OBJECT_ARB 0x8B40
+#define GL_SHADER_OBJECT_ARB 0x8B48
+#define GL_OBJECT_TYPE_ARB 0x8B4E
+#define GL_OBJECT_SUBTYPE_ARB 0x8B4F
+#define GL_OBJECT_DELETE_STATUS_ARB 0x8B80
+#define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81
+#define GL_OBJECT_LINK_STATUS_ARB 0x8B82
+#define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83
+#define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84
+#define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85
+#define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86
+#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87
+#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88
+#define GL_FLOAT_VEC2_ARB 0x8B50
+#define GL_FLOAT_VEC3_ARB 0x8B51
+#define GL_FLOAT_VEC4_ARB 0x8B52
+#define GL_INT_VEC2_ARB 0x8B53
+#define GL_INT_VEC3_ARB 0x8B54
+#define GL_INT_VEC4_ARB 0x8B55
+#define GL_BOOL_ARB 0x8B56
+#define GL_BOOL_VEC2_ARB 0x8B57
+#define GL_BOOL_VEC3_ARB 0x8B58
+#define GL_BOOL_VEC4_ARB 0x8B59
+#define GL_FLOAT_MAT2_ARB 0x8B5A
+#define GL_FLOAT_MAT3_ARB 0x8B5B
+#define GL_FLOAT_MAT4_ARB 0x8B5C
+#define GL_SAMPLER_1D_ARB 0x8B5D
+#define GL_SAMPLER_2D_ARB 0x8B5E
+#define GL_SAMPLER_3D_ARB 0x8B5F
+#define GL_SAMPLER_CUBE_ARB 0x8B60
+#define GL_SAMPLER_1D_SHADOW_ARB 0x8B61
+#define GL_SAMPLER_2D_SHADOW_ARB 0x8B62
+#define GL_SAMPLER_2D_RECT_ARB 0x8B63
+#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64
/* ARB_shading_language_100 */
-#define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C
+#define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C
/* ARB_vertex_shader */
-#define GL_VERTEX_SHADER_ARB 0x8B31
-#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A
-#define GL_MAX_VARYING_FLOATS_ARB 0x8B4B
-#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
-#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D
-#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89
-#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A
+#define GL_VERTEX_SHADER_ARB 0x8B31
+#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A
+#define GL_MAX_VARYING_FLOATS_ARB 0x8B4B
+#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
+#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D
+#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89
+#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A
/* ARB_fragment_shader */
-#define GL_FRAGMENT_SHADER_ARB 0x8B30
-#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49
-#define GL_DERIVATIVE_ACCURACY_HINT_ARB 0x8B8B
+#define GL_FRAGMENT_SHADER_ARB 0x8B30
+#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49
+#define GL_DERIVATIVE_ACCURACY_HINT_ARB 0x8B8B
/* EXT_Cg_shader */
-#define GL_CG_VERTEX_SHADER_EXT 0x890E
-#define GL_CG_FRAGMENT_SHADER_EXT 0x890F
+#define GL_CG_VERTEX_SHADER_EXT 0x890E
+#define GL_CG_FRAGMENT_SHADER_EXT 0x890F
/* OpenGL15 */
-#define GL_FOG_COORD_SRC 0x8450
-#define GL_FOG_COORD 0x8451
-#define GL_CURRENT_FOG_COORD 0x8453
-#define GL_FOG_COORD_ARRAY_TYPE 0x8454
-#define GL_FOG_COORD_ARRAY_STRIDE 0x8455
-#define GL_FOG_COORD_ARRAY_POINTER 0x8456
-#define GL_FOG_COORD_ARRAY 0x8457
-#define GL_SRC0_RGB 0x8580
-#define GL_SRC1_RGB 0x8581
-#define GL_SRC2_RGB 0x8582
-#define GL_SRC0_ALPHA 0x8588
-#define GL_SRC1_ALPHA 0x8589
-#define GL_SRC2_ALPHA 0x858A
-#define GL_QUERY_COUNTER_BITS 0x8864
-#define GL_CURRENT_QUERY 0x8865
-#define GL_QUERY_RESULT 0x8866
-#define GL_QUERY_RESULT_AVAILABLE 0x8867
-#define GL_SAMPLES_PASSED 0x8914
-#define GL_ARRAY_BUFFER 0x8892
-#define GL_ELEMENT_ARRAY_BUFFER 0x8893
-#define GL_ARRAY_BUFFER_BINDING 0x8894
-#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
-#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896
-#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897
-#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898
-#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899
-#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
-#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B
-#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C
-#define GL_FOG_COORD_ARRAY_BUFFER_BINDING 0x889D
-#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
-#define GL_STREAM_DRAW 0x88E0
-#define GL_STREAM_READ 0x88E1
-#define GL_STREAM_COPY 0x88E2
-#define GL_STATIC_DRAW 0x88E4
-#define GL_STATIC_READ 0x88E5
-#define GL_STATIC_COPY 0x88E6
-#define GL_DYNAMIC_DRAW 0x88E8
-#define GL_DYNAMIC_READ 0x88E9
-#define GL_DYNAMIC_COPY 0x88EA
-#define GL_READ_ONLY 0x88B8
-#define GL_WRITE_ONLY 0x88B9
-#define GL_READ_WRITE 0x88BA
-#define GL_BUFFER_SIZE 0x8764
-#define GL_BUFFER_USAGE 0x8765
-#define GL_BUFFER_ACCESS 0x88BB
-#define GL_BUFFER_MAPPED 0x88BC
-#define GL_BUFFER_MAP_POINTER 0x88BD
+#define GL_FOG_COORD_SRC 0x8450
+#define GL_FOG_COORD 0x8451
+#define GL_CURRENT_FOG_COORD 0x8453
+#define GL_FOG_COORD_ARRAY_TYPE 0x8454
+#define GL_FOG_COORD_ARRAY_STRIDE 0x8455
+#define GL_FOG_COORD_ARRAY_POINTER 0x8456
+#define GL_FOG_COORD_ARRAY 0x8457
+#define GL_SRC0_RGB 0x8580
+#define GL_SRC1_RGB 0x8581
+#define GL_SRC2_RGB 0x8582
+#define GL_SRC0_ALPHA 0x8588
+#define GL_SRC1_ALPHA 0x8589
+#define GL_SRC2_ALPHA 0x858A
+#define GL_QUERY_COUNTER_BITS 0x8864
+#define GL_CURRENT_QUERY 0x8865
+#define GL_QUERY_RESULT 0x8866
+#define GL_QUERY_RESULT_AVAILABLE 0x8867
+#define GL_SAMPLES_PASSED 0x8914
+#define GL_ARRAY_BUFFER 0x8892
+#define GL_ELEMENT_ARRAY_BUFFER 0x8893
+#define GL_ARRAY_BUFFER_BINDING 0x8894
+#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
+#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896
+#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897
+#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898
+#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899
+#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
+#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B
+#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C
+#define GL_FOG_COORD_ARRAY_BUFFER_BINDING 0x889D
+#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
+#define GL_STREAM_DRAW 0x88E0
+#define GL_STREAM_READ 0x88E1
+#define GL_STREAM_COPY 0x88E2
+#define GL_STATIC_DRAW 0x88E4
+#define GL_STATIC_READ 0x88E5
+#define GL_STATIC_COPY 0x88E6
+#define GL_DYNAMIC_DRAW 0x88E8
+#define GL_DYNAMIC_READ 0x88E9
+#define GL_DYNAMIC_COPY 0x88EA
+#define GL_READ_ONLY 0x88B8
+#define GL_WRITE_ONLY 0x88B9
+#define GL_READ_WRITE 0x88BA
+#define GL_BUFFER_SIZE 0x8764
+#define GL_BUFFER_USAGE 0x8765
+#define GL_BUFFER_ACCESS 0x88BB
+#define GL_BUFFER_MAPPED 0x88BC
+#define GL_BUFFER_MAP_POINTER 0x88BD
/* OpenGL20 */
-#define GL_CURRENT_PROGRAM 0x8B8D
-#define GL_SHADER_TYPE 0x8B4F
-#define GL_DELETE_STATUS 0x8B80
-#define GL_COMPILE_STATUS 0x8B81
-#define GL_LINK_STATUS 0x8B82
-#define GL_VALIDATE_STATUS 0x8B83
-#define GL_INFO_LOG_LENGTH 0x8B84
-#define GL_ATTACHED_SHADERS 0x8B85
-#define GL_ACTIVE_UNIFORMS 0x8B86
-#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
-#define GL_SHADER_SOURCE_LENGTH 0x8B88
-#define GL_FLOAT_VEC2 0x8B50
-#define GL_FLOAT_VEC3 0x8B51
-#define GL_FLOAT_VEC4 0x8B52
-#define GL_INT_VEC2 0x8B53
-#define GL_INT_VEC3 0x8B54
-#define GL_INT_VEC4 0x8B55
-#define GL_BOOL 0x8B56
-#define GL_BOOL_VEC2 0x8B57
-#define GL_BOOL_VEC3 0x8B58
-#define GL_BOOL_VEC4 0x8B59
-#define GL_FLOAT_MAT2 0x8B5A
-#define GL_FLOAT_MAT3 0x8B5B
-#define GL_FLOAT_MAT4 0x8B5C
-#define GL_SAMPLER_1D 0x8B5D
-#define GL_SAMPLER_2D 0x8B5E
-#define GL_SAMPLER_3D 0x8B5F
-#define GL_SAMPLER_CUBE 0x8B60
-#define GL_SAMPLER_1D_SHADOW 0x8B61
-#define GL_SAMPLER_2D_SHADOW 0x8B62
-#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
-#define GL_VERTEX_SHADER 0x8B31
-#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
-#define GL_MAX_VARYING_FLOATS 0x8B4B
-#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
-#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
-#define GL_ACTIVE_ATTRIBUTES 0x8B89
-#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
-#define GL_FRAGMENT_SHADER 0x8B30
-#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
-#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
-#define GL_MAX_VERTEX_ATTRIBS 0x8869
-#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
-#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
-#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
-#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
-#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
-#define GL_CURRENT_VERTEX_ATTRIB 0x8626
-#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
-#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
-#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643
-#define GL_MAX_TEXTURE_COORDS 0x8871
-#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
-#define GL_MAX_DRAW_BUFFERS 0x8824
-#define GL_DRAW_BUFFER0 0x8825
-#define GL_DRAW_BUFFER1 0x8826
-#define GL_DRAW_BUFFER2 0x8827
-#define GL_DRAW_BUFFER3 0x8828
-#define GL_DRAW_BUFFER4 0x8829
-#define GL_DRAW_BUFFER5 0x882A
-#define GL_DRAW_BUFFER6 0x882B
-#define GL_DRAW_BUFFER7 0x882C
-#define GL_DRAW_BUFFER8 0x882D
-#define GL_DRAW_BUFFER9 0x882E
-#define GL_DRAW_BUFFER10 0x882F
-#define GL_DRAW_BUFFER11 0x8830
-#define GL_DRAW_BUFFER12 0x8831
-#define GL_DRAW_BUFFER13 0x8832
-#define GL_DRAW_BUFFER14 0x8833
-#define GL_DRAW_BUFFER15 0x8834
-#define GL_POINT_SPRITE 0x8861
-#define GL_COORD_REPLACE 0x8862
-#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
-#define GL_LOWER_LEFT 0x8CA1
-#define GL_UPPER_LEFT 0x8CA2
-#define GL_STENCIL_BACK_FUNC 0x8800
-#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
-#define GL_STENCIL_BACK_REF 0x8CA3
-#define GL_STENCIL_BACK_FAIL 0x8801
-#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
-#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
-#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
+#define GL_CURRENT_PROGRAM 0x8B8D
+#define GL_SHADER_TYPE 0x8B4F
+#define GL_DELETE_STATUS 0x8B80
+#define GL_COMPILE_STATUS 0x8B81
+#define GL_LINK_STATUS 0x8B82
+#define GL_VALIDATE_STATUS 0x8B83
+#define GL_INFO_LOG_LENGTH 0x8B84
+#define GL_ATTACHED_SHADERS 0x8B85
+#define GL_ACTIVE_UNIFORMS 0x8B86
+#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
+#define GL_SHADER_SOURCE_LENGTH 0x8B88
+#define GL_FLOAT_VEC2 0x8B50
+#define GL_FLOAT_VEC3 0x8B51
+#define GL_FLOAT_VEC4 0x8B52
+#define GL_INT_VEC2 0x8B53
+#define GL_INT_VEC3 0x8B54
+#define GL_INT_VEC4 0x8B55
+#define GL_BOOL 0x8B56
+#define GL_BOOL_VEC2 0x8B57
+#define GL_BOOL_VEC3 0x8B58
+#define GL_BOOL_VEC4 0x8B59
+#define GL_FLOAT_MAT2 0x8B5A
+#define GL_FLOAT_MAT3 0x8B5B
+#define GL_FLOAT_MAT4 0x8B5C
+#define GL_SAMPLER_1D 0x8B5D
+#define GL_SAMPLER_2D 0x8B5E
+#define GL_SAMPLER_3D 0x8B5F
+#define GL_SAMPLER_CUBE 0x8B60
+#define GL_SAMPLER_1D_SHADOW 0x8B61
+#define GL_SAMPLER_2D_SHADOW 0x8B62
+#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
+#define GL_VERTEX_SHADER 0x8B31
+#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
+#define GL_MAX_VARYING_FLOATS 0x8B4B
+#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
+#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
+#define GL_ACTIVE_ATTRIBUTES 0x8B89
+#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
+#define GL_FRAGMENT_SHADER 0x8B30
+#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
+#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
+#define GL_MAX_VERTEX_ATTRIBS 0x8869
+#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
+#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
+#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
+#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
+#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
+#define GL_CURRENT_VERTEX_ATTRIB 0x8626
+#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
+#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
+#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643
+#define GL_MAX_TEXTURE_COORDS 0x8871
+#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
+#define GL_MAX_DRAW_BUFFERS 0x8824
+#define GL_DRAW_BUFFER0 0x8825
+#define GL_DRAW_BUFFER1 0x8826
+#define GL_DRAW_BUFFER2 0x8827
+#define GL_DRAW_BUFFER3 0x8828
+#define GL_DRAW_BUFFER4 0x8829
+#define GL_DRAW_BUFFER5 0x882A
+#define GL_DRAW_BUFFER6 0x882B
+#define GL_DRAW_BUFFER7 0x882C
+#define GL_DRAW_BUFFER8 0x882D
+#define GL_DRAW_BUFFER9 0x882E
+#define GL_DRAW_BUFFER10 0x882F
+#define GL_DRAW_BUFFER11 0x8830
+#define GL_DRAW_BUFFER12 0x8831
+#define GL_DRAW_BUFFER13 0x8832
+#define GL_DRAW_BUFFER14 0x8833
+#define GL_DRAW_BUFFER15 0x8834
+#define GL_POINT_SPRITE 0x8861
+#define GL_COORD_REPLACE 0x8862
+#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
+#define GL_LOWER_LEFT 0x8CA1
+#define GL_UPPER_LEFT 0x8CA2
+#define GL_STENCIL_BACK_FUNC 0x8800
+#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
+#define GL_STENCIL_BACK_REF 0x8CA3
+#define GL_STENCIL_BACK_FAIL 0x8801
+#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
+#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
+#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
/* NV_vertex_program2_option */
-#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4
-#define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5
+#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4
+#define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5
/* NV_fragment_program2 */
/* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
/* GL_MAX_PROGRAM_CALL_DEPTH_NV */
-#define GL_MAX_PROGRAM_IF_DEPTH_NV 0x88F6
-#define GL_MAX_PROGRAM_LOOP_DEPTH_NV 0x88F7
-#define GL_MAX_PROGRAM_LOOP_COUNT_NV 0x88F8
+#define GL_MAX_PROGRAM_IF_DEPTH_NV 0x88F6
+#define GL_MAX_PROGRAM_LOOP_DEPTH_NV 0x88F7
+#define GL_MAX_PROGRAM_LOOP_COUNT_NV 0x88F8
/* EXT_framebuffer_object */
-#define GL_FRAMEBUFFER_EXT 0x8D40
-#define GL_RENDERBUFFER_EXT 0x8D41
-#define GL_STENCIL_INDEX_EXT 0x8D45
-#define GL_STENCIL_INDEX1_EXT 0x8D46
-#define GL_STENCIL_INDEX4_EXT 0x8D47
-#define GL_STENCIL_INDEX8_EXT 0x8D48
-#define GL_STENCIL_INDEX16_EXT 0x8D49
-#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42
-#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43
-#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44
-#define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50
-#define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51
-#define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52
-#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53
-#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54
-#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55
-#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0
-#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2
+#define GL_FRAMEBUFFER_EXT 0x8D40
+#define GL_RENDERBUFFER_EXT 0x8D41
+#define GL_STENCIL_INDEX_EXT 0x8D45
+#define GL_STENCIL_INDEX1_EXT 0x8D46
+#define GL_STENCIL_INDEX4_EXT 0x8D47
+#define GL_STENCIL_INDEX8_EXT 0x8D48
+#define GL_STENCIL_INDEX16_EXT 0x8D49
+#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42
+#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43
+#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44
+#define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50
+#define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51
+#define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52
+#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53
+#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54
+#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4
-#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
-#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
-#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
-#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
-#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
-#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
-#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
-#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
-#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
-#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
-#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
-#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
-#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
-#define GL_COLOR_ATTACHMENT13_EXT 0x8CED
-#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
-#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
-#define GL_DEPTH_ATTACHMENT_EXT 0x8D00
-#define GL_STENCIL_ATTACHMENT_EXT 0x8D20
-#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5
-#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6
-#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7
-#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9
-#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA
-#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB
-#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC
-#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD
-#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6
-#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7
-#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
-#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8
-#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4
+#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
+#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
+#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
+#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
+#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
+#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
+#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
+#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
+#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
+#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
+#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
+#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
+#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
+#define GL_COLOR_ATTACHMENT13_EXT 0x8CED
+#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
+#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
+#define GL_DEPTH_ATTACHMENT_EXT 0x8D00
+#define GL_STENCIL_ATTACHMENT_EXT 0x8D20
+#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5
+#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6
+#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7
+#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9
+#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA
+#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB
+#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC
+#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD
+#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6
+#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7
+#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
+#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8
+#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506
/* ARB_texture_float */
-#define GL_TEXTURE_RED_TYPE_ARB 0x8C10
-#define GL_TEXTURE_GREEN_TYPE_ARB 0x8C11
-#define GL_TEXTURE_BLUE_TYPE_ARB 0x8C12
-#define GL_TEXTURE_ALPHA_TYPE_ARB 0x8C13
-#define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8C14
-#define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8C15
-#define GL_TEXTURE_DEPTH_TYPE_ARB 0x8C16
-#define GL_UNSIGNED_NORMALIZED_ARB 0x8C17
-#define GL_RGBA32F_ARB 0x8814
-#define GL_RGB32F_ARB 0x8815
-#define GL_ALPHA32F_ARB 0x8816
-#define GL_INTENSITY32F_ARB 0x8817
-#define GL_LUMINANCE32F_ARB 0x8818
-#define GL_LUMINANCE_ALPHA32F_ARB 0x8819
-#define GL_RGBA16F_ARB 0x881A
-#define GL_RGB16F_ARB 0x881B
-#define GL_ALPHA16F_ARB 0x881C
-#define GL_INTENSITY16F_ARB 0x881D
-#define GL_LUMINANCE16F_ARB 0x881E
-#define GL_LUMINANCE_ALPHA16F_ARB 0x881F
+#define GL_TEXTURE_RED_TYPE_ARB 0x8C10
+#define GL_TEXTURE_GREEN_TYPE_ARB 0x8C11
+#define GL_TEXTURE_BLUE_TYPE_ARB 0x8C12
+#define GL_TEXTURE_ALPHA_TYPE_ARB 0x8C13
+#define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8C14
+#define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8C15
+#define GL_TEXTURE_DEPTH_TYPE_ARB 0x8C16
+#define GL_UNSIGNED_NORMALIZED_ARB 0x8C17
+#define GL_RGBA32F_ARB 0x8814
+#define GL_RGB32F_ARB 0x8815
+#define GL_ALPHA32F_ARB 0x8816
+#define GL_INTENSITY32F_ARB 0x8817
+#define GL_LUMINANCE32F_ARB 0x8818
+#define GL_LUMINANCE_ALPHA32F_ARB 0x8819
+#define GL_RGBA16F_ARB 0x881A
+#define GL_RGB16F_ARB 0x881B
+#define GL_ALPHA16F_ARB 0x881C
+#define GL_INTENSITY16F_ARB 0x881D
+#define GL_LUMINANCE16F_ARB 0x881E
+#define GL_LUMINANCE_ALPHA16F_ARB 0x881F
/* ARB_half_float_pixel */
-#define GL_HALF_FLOAT_ARB 0x140B
+#define GL_HALF_FLOAT_ARB 0x140B
/* ARB_color_buffer_float */
-#define GL_RGBA_FLOAT_MODE_ARB 0x8820
-#define GL_CLAMP_VERTEX_COLOR_ARB 0x891A
-#define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B
-#define GL_CLAMP_READ_COLOR_ARB 0x891C
-#define GL_FIXED_ONLY_ARB 0x891D
+#define GL_RGBA_FLOAT_MODE_ARB 0x8820
+#define GL_CLAMP_VERTEX_COLOR_ARB 0x891A
+#define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B
+#define GL_CLAMP_READ_COLOR_ARB 0x891C
+#define GL_FIXED_ONLY_ARB 0x891D
/* EXT_ycbcr_422 */
-#define GL_CBYCRY_422_EXT 0x8C20
-#define GL_YCBYCR_422_EXT 0x8C21
-#define GL_TRANSFORM_YUV_TO_RGB_WITH_BT_601_EXT 0x8C22
-#define GL_TRANSFORM_YUV_TO_RGB_WITH_BT_709_EXT 0x8C23
-#define GL_TRANSFORM_RGB_TO_YUV_WITH_BT_601_EXT 0x8C24
-#define GL_TRANSFORM_RGB_TO_YUV_WITH_BT_709_EXT 0x8C25
+#define GL_CBYCRY_422_EXT 0x8C20
+#define GL_YCBYCR_422_EXT 0x8C21
+#define GL_TRANSFORM_YUV_TO_RGB_WITH_BT_601_EXT 0x8C22
+#define GL_TRANSFORM_YUV_TO_RGB_WITH_BT_709_EXT 0x8C23
+#define GL_TRANSFORM_RGB_TO_YUV_WITH_BT_601_EXT 0x8C24
+#define GL_TRANSFORM_RGB_TO_YUV_WITH_BT_709_EXT 0x8C25
/* ARB_pixel_buffer_object */
-#define GL_PIXEL_PACK_BUFFER_ARB 0x88EB
-#define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC
-#define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED
-#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF
+#define GL_PIXEL_PACK_BUFFER_ARB 0x88EB
+#define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC
+#define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED
+#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF
/* EXT_timer_query */
-#define GL_TIME_ELAPSED_EXT 0x88BF
+#define GL_TIME_ELAPSED_EXT 0x88BF
/* NV_geometry_program4 */
-#define GL_GEOMETRY_PROGRAM_NV 0x8C26
-#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV 0x8C27
-#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28
-#define GL_GEOMETRY_VERTICES_OUT_EXT 0x8DDA
-#define GL_GEOMETRY_INPUT_TYPE_EXT 0x8DDB
-#define GL_GEOMETRY_OUTPUT_TYPE_EXT 0x8DDC
-#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29
-#define GL_LINES_ADJACENCY_EXT 0xA
-#define GL_LINE_STRIP_ADJACENCY_EXT 0xB
-#define GL_TRIANGLES_ADJACENCY_EXT 0xC
-#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0xD
-#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7
-#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8
-#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT 0x8DA9
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
-#define GL_PROGRAM_POINT_SIZE_EXT 0x8642
+#define GL_GEOMETRY_PROGRAM_NV 0x8C26
+#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV 0x8C27
+#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28
+#define GL_GEOMETRY_VERTICES_OUT_EXT 0x8DDA
+#define GL_GEOMETRY_INPUT_TYPE_EXT 0x8DDB
+#define GL_GEOMETRY_OUTPUT_TYPE_EXT 0x8DDC
+#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29
+#define GL_LINES_ADJACENCY_EXT 0xA
+#define GL_LINE_STRIP_ADJACENCY_EXT 0xB
+#define GL_TRIANGLES_ADJACENCY_EXT 0xC
+#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0xD
+#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT 0x8DA9
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
+#define GL_PROGRAM_POINT_SIZE_EXT 0x8642
/* NV_vertex_program4 */
-#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV 0x88FD
+#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV 0x88FD
/* EXT_texture_sRGB */
-#define GL_SRGB_EXT 0x8C40
-#define GL_SRGB8_EXT 0x8C41
-#define GL_SRGB_ALPHA_EXT 0x8C42
-#define GL_SRGB8_ALPHA8_EXT 0x8C43
-#define GL_SLUMINANCE_ALPHA_EXT 0x8C44
-#define GL_SLUMINANCE8_ALPHA8_EXT 0x8C45
-#define GL_SLUMINANCE_EXT 0x8C46
-#define GL_SLUMINANCE8_EXT 0x8C47
-#define GL_COMPRESSED_SRGB_EXT 0x8C48
-#define GL_COMPRESSED_SRGB_ALPHA_EXT 0x8C49
-#define GL_COMPRESSED_SLUMINANCE_EXT 0x8C4A
-#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B
-#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C
-#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D
-#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E
-#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F
+#define GL_SRGB_EXT 0x8C40
+#define GL_SRGB8_EXT 0x8C41
+#define GL_SRGB_ALPHA_EXT 0x8C42
+#define GL_SRGB8_ALPHA8_EXT 0x8C43
+#define GL_SLUMINANCE_ALPHA_EXT 0x8C44
+#define GL_SLUMINANCE8_ALPHA8_EXT 0x8C45
+#define GL_SLUMINANCE_EXT 0x8C46
+#define GL_SLUMINANCE8_EXT 0x8C47
+#define GL_COMPRESSED_SRGB_EXT 0x8C48
+#define GL_COMPRESSED_SRGB_ALPHA_EXT 0x8C49
+#define GL_COMPRESSED_SLUMINANCE_EXT 0x8C4A
+#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B
+#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C
+#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D
+#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E
+#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F
/* EXT_texture_shared_exponent */
-#define GL_RGB9_E5_EXT 0x8C3D
-#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E
-#define GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F
+#define GL_RGB9_E5_EXT 0x8C3D
+#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E
+#define GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F
/* EXT_packed_float */
-#define GL_R11F_G11F_B10F_EXT 0x8C3A
-#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B
-#define GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C
+#define GL_R11F_G11F_B10F_EXT 0x8C3A
+#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B
+#define GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C
/* EXT_texture_array */
-#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18
-#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
-#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A
-#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B
-#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
-#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
-#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
-#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E
+#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18
+#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
+#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A
+#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B
+#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
+#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
+#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
+#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E
/* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */
/* NV_gpu_program4 */
-#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV 0x8904
-#define GL_MAX_PROGRAM_TEXEL_OFFSET_NV 0x8905
-#define GL_PROGRAM_ATTRIB_COMPONENTS_NV 0x8906
-#define GL_PROGRAM_RESULT_COMPONENTS_NV 0x8907
-#define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV 0x8908
-#define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV 0x8909
-#define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV 0x8DA5
-#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV 0x8DA6
+#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV 0x8904
+#define GL_MAX_PROGRAM_TEXEL_OFFSET_NV 0x8905
+#define GL_PROGRAM_ATTRIB_COMPONENTS_NV 0x8906
+#define GL_PROGRAM_RESULT_COMPONENTS_NV 0x8907
+#define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV 0x8908
+#define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV 0x8909
+#define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV 0x8DA5
+#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV 0x8DA6
/* EXT_texture_integer */
-#define GL_RGBA32UI_EXT 0x8D70
-#define GL_RGB32UI_EXT 0x8D71
-#define GL_ALPHA32UI_EXT 0x8D72
-#define GL_INTENSITY32UI_EXT 0x8D73
-#define GL_LUMINANCE32UI_EXT 0x8D74
-#define GL_LUMINANCE_ALPHA32UI_EXT 0x8D75
-#define GL_RGBA16UI_EXT 0x8D76
-#define GL_RGB16UI_EXT 0x8D77
-#define GL_ALPHA16UI_EXT 0x8D78
-#define GL_INTENSITY16UI_EXT 0x8D79
-#define GL_LUMINANCE16UI_EXT 0x8D7A
-#define GL_LUMINANCE_ALPHA16UI_EXT 0x8D7B
-#define GL_RGBA8UI_EXT 0x8D7C
-#define GL_RGB8UI_EXT 0x8D7D
-#define GL_ALPHA8UI_EXT 0x8D7E
-#define GL_INTENSITY8UI_EXT 0x8D7F
-#define GL_LUMINANCE8UI_EXT 0x8D80
-#define GL_LUMINANCE_ALPHA8UI_EXT 0x8D81
-#define GL_RGBA32I_EXT 0x8D82
-#define GL_RGB32I_EXT 0x8D83
-#define GL_ALPHA32I_EXT 0x8D84
-#define GL_INTENSITY32I_EXT 0x8D85
-#define GL_LUMINANCE32I_EXT 0x8D86
-#define GL_LUMINANCE_ALPHA32I_EXT 0x8D87
-#define GL_RGBA16I_EXT 0x8D88
-#define GL_RGB16I_EXT 0x8D89
-#define GL_ALPHA16I_EXT 0x8D8A
-#define GL_INTENSITY16I_EXT 0x8D8B
-#define GL_LUMINANCE16I_EXT 0x8D8C
-#define GL_LUMINANCE_ALPHA16I_EXT 0x8D8D
-#define GL_RGBA8I_EXT 0x8D8E
-#define GL_RGB8I_EXT 0x8D8F
-#define GL_ALPHA8I_EXT 0x8D90
-#define GL_INTENSITY8I_EXT 0x8D91
-#define GL_LUMINANCE8I_EXT 0x8D92
-#define GL_LUMINANCE_ALPHA8I_EXT 0x8D93
-#define GL_RED_INTEGER_EXT 0x8D94
-#define GL_GREEN_INTEGER_EXT 0x8D95
-#define GL_BLUE_INTEGER_EXT 0x8D96
-#define GL_ALPHA_INTEGER_EXT 0x8D97
-#define GL_RGB_INTEGER_EXT 0x8D98
-#define GL_RGBA_INTEGER_EXT 0x8D99
-#define GL_BGR_INTEGER_EXT 0x8D9A
-#define GL_BGRA_INTEGER_EXT 0x8D9B
-#define GL_LUMINANCE_INTEGER_EXT 0x8D9C
-#define GL_LUMINANCE_ALPHA_INTEGER_EXT 0x8D9D
-#define GL_RGBA_INTEGER_MODE_EXT 0x8D9E
+#define GL_RGBA32UI_EXT 0x8D70
+#define GL_RGB32UI_EXT 0x8D71
+#define GL_ALPHA32UI_EXT 0x8D72
+#define GL_INTENSITY32UI_EXT 0x8D73
+#define GL_LUMINANCE32UI_EXT 0x8D74
+#define GL_LUMINANCE_ALPHA32UI_EXT 0x8D75
+#define GL_RGBA16UI_EXT 0x8D76
+#define GL_RGB16UI_EXT 0x8D77
+#define GL_ALPHA16UI_EXT 0x8D78
+#define GL_INTENSITY16UI_EXT 0x8D79
+#define GL_LUMINANCE16UI_EXT 0x8D7A
+#define GL_LUMINANCE_ALPHA16UI_EXT 0x8D7B
+#define GL_RGBA8UI_EXT 0x8D7C
+#define GL_RGB8UI_EXT 0x8D7D
+#define GL_ALPHA8UI_EXT 0x8D7E
+#define GL_INTENSITY8UI_EXT 0x8D7F
+#define GL_LUMINANCE8UI_EXT 0x8D80
+#define GL_LUMINANCE_ALPHA8UI_EXT 0x8D81
+#define GL_RGBA32I_EXT 0x8D82
+#define GL_RGB32I_EXT 0x8D83
+#define GL_ALPHA32I_EXT 0x8D84
+#define GL_INTENSITY32I_EXT 0x8D85
+#define GL_LUMINANCE32I_EXT 0x8D86
+#define GL_LUMINANCE_ALPHA32I_EXT 0x8D87
+#define GL_RGBA16I_EXT 0x8D88
+#define GL_RGB16I_EXT 0x8D89
+#define GL_ALPHA16I_EXT 0x8D8A
+#define GL_INTENSITY16I_EXT 0x8D8B
+#define GL_LUMINANCE16I_EXT 0x8D8C
+#define GL_LUMINANCE_ALPHA16I_EXT 0x8D8D
+#define GL_RGBA8I_EXT 0x8D8E
+#define GL_RGB8I_EXT 0x8D8F
+#define GL_ALPHA8I_EXT 0x8D90
+#define GL_INTENSITY8I_EXT 0x8D91
+#define GL_LUMINANCE8I_EXT 0x8D92
+#define GL_LUMINANCE_ALPHA8I_EXT 0x8D93
+#define GL_RED_INTEGER_EXT 0x8D94
+#define GL_GREEN_INTEGER_EXT 0x8D95
+#define GL_BLUE_INTEGER_EXT 0x8D96
+#define GL_ALPHA_INTEGER_EXT 0x8D97
+#define GL_RGB_INTEGER_EXT 0x8D98
+#define GL_RGBA_INTEGER_EXT 0x8D99
+#define GL_BGR_INTEGER_EXT 0x8D9A
+#define GL_BGRA_INTEGER_EXT 0x8D9B
+#define GL_LUMINANCE_INTEGER_EXT 0x8D9C
+#define GL_LUMINANCE_ALPHA_INTEGER_EXT 0x8D9D
+#define GL_RGBA_INTEGER_MODE_EXT 0x8D9E
/* NV_parameter_buffer_object */
-#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8DA0
-#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV 0x8DA1
-#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV 0x8DA2
-#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV 0x8DA3
-#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV 0x8DA4
+#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8DA0
+#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV 0x8DA1
+#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV 0x8DA2
+#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV 0x8DA3
+#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV 0x8DA4
/* EXT_framebuffer_blit */
-#define GL_READ_FRAMEBUFFER_EXT 0x8CA8
-#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9
-#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CA6
-#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA
+#define GL_READ_FRAMEBUFFER_EXT 0x8CA8
+#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9
+#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CA6
+#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA
/* BlitFramebufferBufferMask */
/* BlitFramebufferFilter */
/* EXT_framebuffer_multisample */
-#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
-#define GL_MAX_SAMPLES_EXT 0x8D57
-#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
+#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
+#define GL_MAX_SAMPLES_EXT 0x8D57
+#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
/* EXT_texture_buffer_object */
-#define GL_TEXTURE_BUFFER_EXT 0x8C2A
-#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B
-#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C
-#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D
-#define GL_TEXTURE_BUFFER_FORMAT_EXT 0x8C2E
+#define GL_TEXTURE_BUFFER_EXT 0x8C2A
+#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B
+#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C
+#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D
+#define GL_TEXTURE_BUFFER_FORMAT_EXT 0x8C2E
+
+/* ARB_texture_buffer_object */
+#define GL_TEXTURE_BUFFER_ARB 0x8C2A
+#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B
+#define GL_TEXTURE_BINDING_BUFFER_ARB 0x8C2C
+#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D
+#define GL_TEXTURE_BUFFER_FORMAT_ARB 0x8C2E
/* EXT_gpu_shader4 */
-#define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0
-#define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1
-#define GL_SAMPLER_BUFFER_EXT 0x8DC2
-#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT 0x8DC3
-#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4
-#define GL_SAMPLER_CUBE_SHADOW_EXT 0x8DC5
-#define GL_UNSIGNED_INT_VEC2_EXT 0x8DC6
-#define GL_UNSIGNED_INT_VEC3_EXT 0x8DC7
-#define GL_UNSIGNED_INT_VEC4_EXT 0x8DC8
-#define GL_INT_SAMPLER_1D_EXT 0x8DC9
-#define GL_INT_SAMPLER_2D_EXT 0x8DCA
-#define GL_INT_SAMPLER_3D_EXT 0x8DCB
-#define GL_INT_SAMPLER_CUBE_EXT 0x8DCC
-#define GL_INT_SAMPLER_2D_RECT_EXT 0x8DCD
-#define GL_INT_SAMPLER_1D_ARRAY_EXT 0x8DCE
-#define GL_INT_SAMPLER_2D_ARRAY_EXT 0x8DCF
-#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0
-#define GL_UNSIGNED_INT_SAMPLER_1D_EXT 0x8DD1
-#define GL_UNSIGNED_INT_SAMPLER_2D_EXT 0x8DD2
-#define GL_UNSIGNED_INT_SAMPLER_3D_EXT 0x8DD3
-#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT 0x8DD4
-#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT 0x8DD5
-#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8DD6
-#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8DD7
-#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8
+#define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0
+#define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1
+#define GL_SAMPLER_BUFFER_EXT 0x8DC2
+#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT 0x8DC3
+#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4
+#define GL_SAMPLER_CUBE_SHADOW_EXT 0x8DC5
+#define GL_UNSIGNED_INT_VEC2_EXT 0x8DC6
+#define GL_UNSIGNED_INT_VEC3_EXT 0x8DC7
+#define GL_UNSIGNED_INT_VEC4_EXT 0x8DC8
+#define GL_INT_SAMPLER_1D_EXT 0x8DC9
+#define GL_INT_SAMPLER_2D_EXT 0x8DCA
+#define GL_INT_SAMPLER_3D_EXT 0x8DCB
+#define GL_INT_SAMPLER_CUBE_EXT 0x8DCC
+#define GL_INT_SAMPLER_2D_RECT_EXT 0x8DCD
+#define GL_INT_SAMPLER_1D_ARRAY_EXT 0x8DCE
+#define GL_INT_SAMPLER_2D_ARRAY_EXT 0x8DCF
+#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0
+#define GL_UNSIGNED_INT_SAMPLER_1D_EXT 0x8DD1
+#define GL_UNSIGNED_INT_SAMPLER_2D_EXT 0x8DD2
+#define GL_UNSIGNED_INT_SAMPLER_3D_EXT 0x8DD3
+#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT 0x8DD4
+#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT 0x8DD5
+#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8DD6
+#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8DD7
+#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8
/* EXT_geometry_shader4 */
-#define GL_GEOMETRY_SHADER_EXT 0x8DD9
+#define GL_GEOMETRY_SHADER_EXT 0x8DD9
/* GL_GEOMETRY_VERTICES_OUT_EXT */
/* GL_GEOMETRY_INPUT_TYPE_EXT */
/* GL_GEOMETRY_OUTPUT_TYPE_EXT */
/* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT */
-#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD
-#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE
-#define GL_MAX_VARYING_COMPONENTS_EXT 0x8B4B
-#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF
-#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0
-#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1
+#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD
+#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE
+#define GL_MAX_VARYING_COMPONENTS_EXT 0x8B4B
+#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF
+#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0
+#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1
/* GL_LINES_ADJACENCY_EXT */
/* GL_LINE_STRIP_ADJACENCY_EXT */
/* GL_TRIANGLES_ADJACENCY_EXT */
@@ -4718,69 +5376,413 @@ typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDNVPROC) (GLuint buf, GLen
/* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */
/* GL_PROGRAM_POINT_SIZE_EXT */
+/* ARB_geometry_shader4 */
+#define GL_GEOMETRY_SHADER_ARB 0x8DD9
+#define GL_GEOMETRY_VERTICES_OUT_ARB 0x8DDA
+#define GL_GEOMETRY_INPUT_TYPE_ARB 0x8DDB
+#define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8DDC
+#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29
+#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD
+#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE
+#define GL_MAX_VARYING_COMPONENTS_ARB 0x8B4B
+#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF
+#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0
+#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1
+#define GL_LINES_ADJACENCY_ARB 0xA
+#define GL_LINE_STRIP_ADJACENCY_ARB 0xB
+#define GL_TRIANGLES_ADJACENCY_ARB 0xC
+#define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0xD
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9
+#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_ARB 0x8CD4
+#define GL_PROGRAM_POINT_SIZE_ARB 0x8642
+
/* EXT_bindable_uniform */
-#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2
-#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3
-#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4
-#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT 0x8DED
-#define GL_UNIFORM_BUFFER_EXT 0x8DEE
-#define GL_UNIFORM_BUFFER_BINDING_EXT 0x8DEF
+#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2
+#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3
+#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4
+#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT 0x8DED
+#define GL_UNIFORM_BUFFER_EXT 0x8DEE
+#define GL_UNIFORM_BUFFER_BINDING_EXT 0x8DEF
/* OpenGL21 */
-#define GL_PIXEL_PACK_BUFFER 0x88EB
-#define GL_PIXEL_UNPACK_BUFFER 0x88EC
-#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
-#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
-#define GL_SRGB 0x8C40
-#define GL_SRGB8 0x8C41
-#define GL_SRGB_ALPHA 0x8C42
-#define GL_SRGB8_ALPHA8 0x8C43
-#define GL_SLUMINANCE_ALPHA 0x8C44
-#define GL_SLUMINANCE8_ALPHA8 0x8C45
-#define GL_SLUMINANCE 0x8C46
-#define GL_SLUMINANCE8 0x8C47
-#define GL_COMPRESSED_SRGB 0x8C48
-#define GL_COMPRESSED_SRGB_ALPHA 0x8C49
-#define GL_COMPRESSED_SLUMINANCE 0x8C4A
-#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B
-#define GL_FLOAT_MAT2x3 0x8B65
-#define GL_FLOAT_MAT2x4 0x8B66
-#define GL_FLOAT_MAT3x2 0x8B67
-#define GL_FLOAT_MAT3x4 0x8B68
-#define GL_FLOAT_MAT4x2 0x8B69
-#define GL_FLOAT_MAT4x3 0x8B6A
-#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F
+#define GL_PIXEL_PACK_BUFFER 0x88EB
+#define GL_PIXEL_UNPACK_BUFFER 0x88EC
+#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
+#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
+#define GL_SRGB 0x8C40
+#define GL_SRGB8 0x8C41
+#define GL_SRGB_ALPHA 0x8C42
+#define GL_SRGB8_ALPHA8 0x8C43
+#define GL_SLUMINANCE_ALPHA 0x8C44
+#define GL_SLUMINANCE8_ALPHA8 0x8C45
+#define GL_SLUMINANCE 0x8C46
+#define GL_SLUMINANCE8 0x8C47
+#define GL_COMPRESSED_SRGB 0x8C48
+#define GL_COMPRESSED_SRGB_ALPHA 0x8C49
+#define GL_COMPRESSED_SLUMINANCE 0x8C4A
+#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B
+#define GL_FLOAT_MAT2x3 0x8B65
+#define GL_FLOAT_MAT2x4 0x8B66
+#define GL_FLOAT_MAT3x2 0x8B67
+#define GL_FLOAT_MAT3x4 0x8B68
+#define GL_FLOAT_MAT4x2 0x8B69
+#define GL_FLOAT_MAT4x3 0x8B6A
+#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F
/* EXT_framebuffer_sRGB */
-#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
-#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA
+#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
+#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA
/* NV_conditional_render */
-#define GL_QUERY_WAIT_NV 0x8E13
-#define GL_QUERY_NO_WAIT_NV 0x8E14
-#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15
-#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16
+#define GL_QUERY_WAIT_NV 0x8E13
+#define GL_QUERY_NO_WAIT_NV 0x8E14
+#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15
+#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16
/* NVX_volatile_texture */
-#define GL_TEXTURE_IMMUTABLE_NVX 0x8DEB
-#define GL_TEXTURE_VOLATILE_NVX 0x8DEC
+#define GL_TEXTURE_IMMUTABLE_NVX 0x8DEB
+#define GL_TEXTURE_VOLATILE_NVX 0x8DEC
/* NV_framebuffer_multisample_coverage */
-#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB
-#define GL_RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10
-#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11
-#define GL_MULTISAMPLE_COVERAGE_MODES_NV 0x8E12
+#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB
+#define GL_RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10
+#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11
+#define GL_MULTISAMPLE_COVERAGE_MODES_NV 0x8E12
/* NV_texture_cube_map_array */
-#define GL_TEXTURE_CUBE_MAP_ARRAY_NV 0x8E17
-#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_NV 0x8E18
-#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_NV 0x8E19
-#define GL_SAMPLER_CUBE_MAP_ARRAY_NV 0x8E1A
-#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_NV 0x8E1B
+#define GL_TEXTURE_CUBE_MAP_ARRAY_NV 0x8E17
+#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_NV 0x8E18
+#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_NV 0x8E19
+
+/* NV_gpu_shader4_1 */
+#define GL_SAMPLER_CUBE_ARRAY_NV 0x8E1A
+#define GL_SAMPLER_CUBE_ARRAY_SHADOW_NV 0x8E1B
+#define GL_INT_SAMPLER_CUBE_ARRAY_NV 0x8E1C
+#define GL_UNSIGNED_INT_SAMPLER_CUBE_ARRAY_NV 0x8E1D
+
+/* NV_present_video */
+#define GL_FRAME_NV 0x8E26
+#define GL_FIELDS_NV 0x8E27
+#define GL_CURRENT_TIME_NV 0x8E28
+#define GL_NUM_FILL_STREAMS_NV 0x8E29
+#define GL_PRESENT_TIME_NV 0x8E2A
+#define GL_PRESENT_DURATION_NV 0x8E2B
/* NV_multisample_coverage */
-#define GL_COVERAGE_SAMPLES_NV 0x80A9
-#define GL_COLOR_SAMPLES_NV 0x8E20
+#define GL_COVERAGE_SAMPLES_NV 0x80A9
+#define GL_COLOR_SAMPLES_NV 0x8E20
+
+/* NV_explicit_multisample */
+#define GL_SAMPLE_POSITION_NV 0x8E50
+#define GL_SAMPLE_MASK_NV 0x8E51
+#define GL_SAMPLE_MASK_VALUE_NV 0x8E52
+#define GL_TEXTURE_BINDING_RENDERBUFFER_NV 0x8E53
+#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV 0x8E54
+#define GL_TEXTURE_RENDERBUFFER_NV 0x8E55
+#define GL_SAMPLER_RENDERBUFFER_NV 0x8E56
+#define GL_INT_SAMPLER_RENDERBUFFER_NV 0x8E57
+#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV 0x8E58
+#define GL_MAX_SAMPLE_MASK_WORDS_NV 0x8E59
+
+/* NV_gpu_program5 */
+#define GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV 0x8E5A
+#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5B
+#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5C
+#define GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV 0x8E5D
+#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5E
+#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5F
+
+/* NV_tessellation_program5 */
+#define GL_TESS_CONTROL_PROGRAM_NV 0x891E
+#define GL_TESS_EVALUATION_PROGRAM_NV 0x891F
+#define GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV 0x8C74
+#define GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV 0x8C75
+
+/* NV_tessellation_shader */
+#define GL_PATCHES_NV 0xE
+#define GL_PATCH_VERTICES_NV 0x8E72
+#define GL_PATCH_DEFAULT_INNER_LEVEL_NV 0x8E73
+#define GL_PATCH_DEFAULT_OUTER_LEVEL_NV 0x8E74
+#define GL_TESS_CONTROL_OUTPUT_VERTICES_NV 0x8E75
+#define GL_TESS_GEN_MODE_NV 0x8E76
+#define GL_TESS_GEN_SPACING_NV 0x8E77
+#define GL_TESS_GEN_VERTEX_ORDER_NV 0x8E78
+#define GL_TESS_GEN_POINT_MODE_NV 0x8E79
+#define GL_ISOLINES_NV 0x8E7A
+#define GL_FRACTIONAL_ODD_NV 0x8E7B
+#define GL_FRACTIONAL_EVEN_NV 0x8E7C
+#define GL_MAX_PATCH_VERTICES_NV 0x8E7D
+#define GL_MAX_TESS_GEN_LEVEL_NV 0x8E7E
+#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_NV 0x8E7F
+#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_NV 0x8E80
+#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_NV 0x8E81
+#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_NV 0x8E82
+#define GL_MAX_TESS_CONTROL_VARYING_COMPONENTS_NV 0x8E83
+#define GL_MAX_TESS_CONTROL_PATCH_COMPONENTS_NV 0x8E84
+#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_NV 0x8E85
+#define GL_MAX_TESS_EVALUATION_VARYING_COMPONENTS_NV 0x8E86
+#define GL_TESS_EVALUATION_SHADER_NV 0x8E87
+#define GL_TESS_CONTROL_POINT_SHADER_NV 0x8E88
+#define GL_TESS_CONTROL_PARALLEL_PATCH_SHADER_NV 0x8E89
+#define GL_TESS_CONTROL_FINAL_PATCH_SHADER_NV 0x8E8A
+
+/* NV_anc_buffer_object */
+#define GL_ANC_FIELD1_HORZ_BUFFER_NV 0x8E30
+#define GL_ANC_FIELD1_VERT_PRE_BUFFER_NV 0x8E31
+#define GL_ANC_FIELD1_VERT_POST_BUFFER_NV 0x8E32
+#define GL_ANC_FIELD2_HORZ_BUFFER_NV 0x8E33
+#define GL_ANC_FIELD2_VERT_PRE_BUFFER_NV 0x8E34
+#define GL_ANC_FIELD2_VERT_POST_BUFFER_NV 0x8E35
+#define GL_ANC_FIELD1_HORZ_BUFFER_BINDING_NV 0x8E36
+#define GL_ANC_FIELD1_VERT_PRE_BUFFER_BINDING_NV 0x8E37
+#define GL_ANC_FIELD1_VERT_POST_BUFFER_BINDING_NV 0x8E38
+#define GL_ANC_FIELD2_HORZ_BUFFER_BINDING_NV 0x8E39
+#define GL_ANC_FIELD2_VERT_PRE_BUFFER_BINDING_NV 0x8E3A
+#define GL_ANC_FIELD2_VERT_POST_BUFFER_BINDING_NV 0x8E3B
+#define GL_ANC_FIELD1_HORZ_BUFFER_DIM_NV 0x8E3C
+#define GL_ANC_FIELD1_VERT_PRE_BUFFER_DIM_NV 0x8E3D
+#define GL_ANC_FIELD1_VERT_POST_BUFFER_DIM_NV 0x8E3E
+#define GL_ANC_FIELD2_HORZ_BUFFER_DIM_NV 0x8E3F
+#define GL_ANC_FIELD2_VERT_PRE_BUFFER_DIM_NV 0x8E40
+#define GL_ANC_FIELD2_VERT_POST_BUFFER_DIM_NV 0x8E41
+
+/* APPLE_ycbcr_422 */
+#define GL_YCBCR_422_APPLE 0x85B9
+#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
+#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
+
+/* NV_sample_shading_control */
+#define GL_MIN_SAMPLE_SHADING_NV 0x8C36
+#define GL_MIN_SAMPLE_SHADING_VALUE_NV 0x8C37
+
+/* OpenGL30 */
+#define GL_MAP_READ_BIT 0x0001
+#define GL_MAP_WRITE_BIT 0x0002
+#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
+#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
+#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
+#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
+#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x0001
+#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
+#define GL_MAX_CLIP_DISTANCES GL_MAX_CLIP_PLANES
+#define GL_HALF_FLOAT 0x140B
+#define GL_CLIP_DISTANCE0 GL_CLIP_PLANE0
+#define GL_CLIP_DISTANCE1 GL_CLIP_PLANE1
+#define GL_CLIP_DISTANCE2 GL_CLIP_PLANE2
+#define GL_CLIP_DISTANCE3 GL_CLIP_PLANE3
+#define GL_CLIP_DISTANCE4 GL_CLIP_PLANE4
+#define GL_CLIP_DISTANCE5 GL_CLIP_PLANE5
+#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
+#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
+#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
+#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
+#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
+#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
+#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
+#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
+#define GL_FRAMEBUFFER_DEFAULT 0x8218
+#define GL_FRAMEBUFFER_UNDEFINED 0x8219
+#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
+#define GL_MAJOR_VERSION 0x821B
+#define GL_MINOR_VERSION 0x821C
+#define GL_NUM_EXTENSIONS 0x821D
+#define GL_CONTEXT_FLAGS 0x821E
+#define GL_INDEX 0x8222
+#define GL_DEPTH_BUFFER 0x8223
+#define GL_STENCIL_BUFFER 0x8224
+#define GL_COMPRESSED_RED 0x8225
+#define GL_COMPRESSED_RG 0x8226
+#define GL_RG 0x8227
+#define GL_RG_INTEGER 0x8228
+#define GL_R8 0x8229
+#define GL_R16 0x822A
+#define GL_RG8 0x822B
+#define GL_RG16 0x822C
+#define GL_R16F 0x822D
+#define GL_R32F 0x822E
+#define GL_RG16F 0x822F
+#define GL_RG32F 0x8230
+#define GL_R8I 0x8231
+#define GL_R8UI 0x8232
+#define GL_R16I 0x8233
+#define GL_R16UI 0x8234
+#define GL_R32I 0x8235
+#define GL_R32UI 0x8236
+#define GL_RG8I 0x8237
+#define GL_RG8UI 0x8238
+#define GL_RG16I 0x8239
+#define GL_RG16UI 0x823A
+#define GL_RG32I 0x823B
+#define GL_RG32UI 0x823C
+#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
+#define GL_DEPTH_STENCIL 0x84F9
+#define GL_UNSIGNED_INT_24_8 0x84FA
+#define GL_VERTEX_ARRAY_BINDING 0x85B5
+#define GL_RGBA32F 0x8814
+#define GL_RGB32F 0x8815
+#define GL_RGBA16F 0x881A
+#define GL_RGB16F 0x881B
+#define GL_COMPARE_REF_TO_TEXTURE GL_ARB_COMPARE_R_TO_TEXTURE
+#define GL_DEPTH24_STENCIL8 0x88F0
+#define GL_TEXTURE_STENCIL_SIZE 0x88F1
+#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
+#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
+#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
+#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
+#define GL_CLAMP_VERTEX_COLOR 0x891A
+#define GL_CLAMP_FRAGMENT_COLOR 0x891B
+#define GL_CLAMP_READ_COLOR 0x891C
+#define GL_FIXED_ONLY 0x891D
+#define GL_MAX_VARYING_COMPONENTS GL_MAX_VARYING_FLOATS
+#define GL_TEXTURE_RED_TYPE 0x8C10
+#define GL_TEXTURE_GREEN_TYPE 0x8C11
+#define GL_TEXTURE_BLUE_TYPE 0x8C12
+#define GL_TEXTURE_ALPHA_TYPE 0x8C13
+#define GL_TEXTURE_LUMINANCE_TYPE 0x8C14
+#define GL_TEXTURE_INTENSITY_TYPE 0x8C15
+#define GL_TEXTURE_DEPTH_TYPE 0x8C16
+#define GL_UNSIGNED_NORMALIZED 0x8C17
+#define GL_TEXTURE_1D_ARRAY 0x8C18
+#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19
+#define GL_TEXTURE_2D_ARRAY 0x8C1A
+#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B
+#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C
+#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
+#define GL_R11F_G11F_B10F 0x8C3A
+#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
+#define GL_RGB9_E5 0x8C3D
+#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
+#define GL_TEXTURE_SHARED_SIZE 0x8C3F
+#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
+#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
+#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
+#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
+#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
+#define GL_PRIMITIVES_GENERATED 0x8C87
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
+#define GL_RASTERIZER_DISCARD 0x8C89
+#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
+#define GL_INTERLEAVED_ATTRIBS 0x8C8C
+#define GL_SEPARATE_ATTRIBS 0x8C8D
+#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
+#define GL_FRAMEBUFFER_BINDING 0x8CA6
+#define GL_DRAW_FRAMEBUFFER_BINDING GL_FRAMEBUFFER_BINDING
+#define GL_RENDERBUFFER_BINDING 0x8CA7
+#define GL_READ_FRAMEBUFFER 0x8CA8
+#define GL_DRAW_FRAMEBUFFER 0x8CA9
+#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
+#define GL_RENDERBUFFER_SAMPLES 0x8CAB
+#define GL_DEPTH_COMPONENT32F 0x8CAC
+#define GL_DEPTH32F_STENCIL8 0x8CAD
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
+#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
+#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
+#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
+#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB
+#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC
+#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
+#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
+#define GL_COLOR_ATTACHMENT0 0x8CE0
+#define GL_COLOR_ATTACHMENT1 0x8CE1
+#define GL_COLOR_ATTACHMENT2 0x8CE2
+#define GL_COLOR_ATTACHMENT3 0x8CE3
+#define GL_COLOR_ATTACHMENT4 0x8CE4
+#define GL_COLOR_ATTACHMENT5 0x8CE5
+#define GL_COLOR_ATTACHMENT6 0x8CE6
+#define GL_COLOR_ATTACHMENT7 0x8CE7
+#define GL_COLOR_ATTACHMENT8 0x8CE8
+#define GL_COLOR_ATTACHMENT9 0x8CE9
+#define GL_COLOR_ATTACHMENT10 0x8CEA
+#define GL_COLOR_ATTACHMENT11 0x8CEB
+#define GL_COLOR_ATTACHMENT12 0x8CEC
+#define GL_COLOR_ATTACHMENT13 0x8CED
+#define GL_COLOR_ATTACHMENT14 0x8CEE
+#define GL_COLOR_ATTACHMENT15 0x8CEF
+#define GL_DEPTH_ATTACHMENT 0x8D00
+#define GL_STENCIL_ATTACHMENT 0x8D20
+#define GL_FRAMEBUFFER 0x8D40
+#define GL_RENDERBUFFER 0x8D41
+#define GL_RENDERBUFFER_WIDTH 0x8D42
+#define GL_RENDERBUFFER_HEIGHT 0x8D43
+#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
+#define GL_STENCIL_INDEX1 0x8D46
+#define GL_STENCIL_INDEX4 0x8D47
+#define GL_STENCIL_INDEX8 0x8D48
+#define GL_STENCIL_INDEX16 0x8D49
+#define GL_RENDERBUFFER_RED_SIZE 0x8D50
+#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
+#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
+#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
+#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
+#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
+#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
+#define GL_MAX_SAMPLES 0x8D57
+#define GL_RGBA32UI 0x8D70
+#define GL_RGB32UI 0x8D71
+#define GL_RGBA16UI 0x8D76
+#define GL_RGB16UI 0x8D77
+#define GL_RGBA8UI 0x8D7C
+#define GL_RGB8UI 0x8D7D
+#define GL_RGBA32I 0x8D82
+#define GL_RGB32I 0x8D83
+#define GL_RGBA16I 0x8D88
+#define GL_RGB16I 0x8D89
+#define GL_RGBA8I 0x8D8E
+#define GL_RGB8I 0x8D8F
+#define GL_RED_INTEGER 0x8D94
+#define GL_GREEN_INTEGER 0x8D95
+#define GL_BLUE_INTEGER 0x8D96
+#define GL_ALPHA_INTEGER 0x8D97
+#define GL_RGB_INTEGER 0x8D98
+#define GL_RGBA_INTEGER 0x8D99
+#define GL_BGR_INTEGER 0x8D9A
+#define GL_BGRA_INTEGER 0x8D9B
+#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
+#define GL_FRAMEBUFFER_SRGB 0x8DB9
+#define GL_COMPRESSED_RED_RGTC1 0x8DBB
+#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC
+#define GL_COMPRESSED_RG_RGTC2 0x8DBD
+#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE
+#define GL_SAMPLER_1D_ARRAY 0x8DC0
+#define GL_SAMPLER_2D_ARRAY 0x8DC1
+#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3
+#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
+#define GL_SAMPLER_CUBE_SHADOW 0x8DC5
+#define GL_UNSIGNED_INT_VEC2 0x8DC6
+#define GL_UNSIGNED_INT_VEC3 0x8DC7
+#define GL_UNSIGNED_INT_VEC4 0x8DC8
+#define GL_INT_SAMPLER_1D 0x8DC9
+#define GL_INT_SAMPLER_2D 0x8DCA
+#define GL_INT_SAMPLER_3D 0x8DCB
+#define GL_INT_SAMPLER_CUBE 0x8DCC
+#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE
+#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
+#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1
+#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
+#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
+#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
+#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6
+#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
+#define GL_QUERY_WAIT 0x8E13
+#define GL_QUERY_NO_WAIT 0x8E14
+#define GL_QUERY_BY_REGION_WAIT 0x8E15
+#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16
+
+/* EXT_texture_swizzle */
+#define GL_TEXTURE_SWIZZLE_R_EXT 0x8E42
+#define GL_TEXTURE_SWIZZLE_G_EXT 0x8E43
+#define GL_TEXTURE_SWIZZLE_B_EXT 0x8E44
+#define GL_TEXTURE_SWIZZLE_A_EXT 0x8E45
+#define GL_TEXTURE_SWIZZLE_RGBA_EXT 0x8E46
/*************************************************************/
diff --git a/doc/glx.h b/doc/glx.h
index 4703873..36e1fe0 100755
--- a/doc/glx.h
+++ b/doc/glx.h
@@ -24,7 +24,7 @@
#include
#include
#include
-#include
+#include "glxtokens.h"
#ifdef __cplusplus
extern "C" {
@@ -320,6 +320,15 @@ extern void glXBindTexImageEXT(Display *dpy, GLXDrawable drawable, int buffer,
const int *attrib_list);
extern void glXReleaseTexImageEXT(Display *dpy, GLXDrawable drawable, int buffer);
+/*
+ * NV_present_video
+ */
+extern int glXBindVideoDeviceNV(Display *dpy, unsigned int video_slot,
+ unsigned int video_device,
+ const int *attrib_list);
+
+extern unsigned int *glXEnumerateVideoDevicesNV(Display *dpy, int screen,
+ int *nElements);
/*
* SGIX_video_resize
*/
@@ -338,6 +347,14 @@ extern int glXQueryChannelDeltasSGIX(Display *display, int screen, int channel,
extern int glXChannelRectSyncSGIX(Display *display, int screen, int channel,
GLenum synctype);
+/*
+ * ARB_create_context
+ */
+extern GLXContext glXCreateContextAttribsARB(Display *dpy, GLXFBConfig config,
+ GLXContext share_list,
+ Bool direct,
+ const int *attrib_list);
+
/**********************************************************************/
/*** Should these go here, or in another header? */
diff --git a/doc/glxtokens.h b/doc/glxtokens.h
index 09eb7be..53ea663 100755
--- a/doc/glxtokens.h
+++ b/doc/glxtokens.h
@@ -36,7 +36,8 @@
#define GLX_NV_float_buffer 1
#define GLX_ARB_fbconfig_float 1
#define GLX_ARB_get_proc_address 1
-#define GLX_ARB_multisample 1
+#define GLX_ARB_multisample 1
+#define GLX_NV_multisample_coverage 1
/*
* Names for attributes to glXGetConfig.
@@ -62,6 +63,10 @@
#define GLX_SAMPLE_BUFFERS_ARB 100000 /* number of multisample buffers */
#define GLX_SAMPLES_ARB 100001 /* number of multisample samples */
+/* NV_multisample_coverage */
+#define GLX_COVERAGE_SAMPLES_NV GLX_SAMPLES_ARB /* number of coverage samples */
+#define GLX_COLOR_SAMPLES_NV 0x20B3 /* # of multisample color samples */
+
/*
* FBConfig-specific attributes
*/
@@ -266,9 +271,12 @@
#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
/* glXSendPbufferToVideoNV iBufferType values (NV_video_out) */
-#define GLX_VIDEO_OUT_FRAME_NV 0x20C8
-#define GLX_VIDEO_OUT_FIELD_1_NV 0x20C9
-#define GLX_VIDEO_OUT_FIELD_2_NV 0x20CA
+#define GLX_VIDEO_OUT_FRAME_NV 0x20C8
+#define GLX_VIDEO_OUT_FIELD_1_NV 0x20C9
+#define GLX_VIDEO_OUT_FIELD_2_NV 0x20CA
+#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB
+#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC
+
/*
* GLX_EXT_texture_from_drawable
@@ -327,4 +335,22 @@
*/
#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2
+/*
+ * GL_NV_present_video
+ */
+#define GLX_NUM_VIDEO_SLOTS_NV 0x20F0
+
+/*
+ * GLX_ARB_create_context
+ */
+
+/* Values for attrib_list */
+#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
+#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
+#define GLX_CONTEXT_FLAGS_ARB 0x2094
+
+/* Bits for GLX_CONTEXT_FLAGS_ARB mask */
+#define GLX_CONTEXT_DEBUG_BIT_ARB 0x00000001
+#define GLX_CONTEXT_PREVIEW_BIT_ARB 0x00000002
+
#endif /* !__glxtokens_h__ */
diff --git a/doc/html/appendix-b.html b/doc/html/appendix-b.html
index 6a669d3..468265b 100644
--- a/doc/html/appendix-b.html
+++ b/doc/html/appendix-b.html
@@ -63,63 +63,95 @@ following components.
libGL.so
-
/usr/X11R6/lib
+
/usr/lib/xorg
libGL.so.1
-
/usr/X11R6/lib
+
/usr/lib/xorg
libnvidia-tls.so
-
/usr/X11R6/lib
+
/usr/lib/xorg
libnvidia-tls.so.1
-
/usr/X11R6/lib
+
/usr/lib/xorg
libnvidia-cfg.so
-
/usr/X11R6/lib
+
/usr/lib/xorg
libnvidia-cfg.so.1
-
/usr/X11R6/lib
+
/usr/lib/xorg
libGLcore.so
-
/usr/X11R6/lib
+
/usr/lib/xorg
libGLcore.so.1
-
/usr/X11R6/lib
+
/usr/lib/xorg
nvidia_drv.so
-
/usr/X11R6/lib/modules/drivers
+
/usr/lib/xorg/modules/drivers
+
+
+
libnvidia-wfb.so (optional)
+
/usr/lib/xorg/modules
+
+
+
libwfb.so
+
/usr/lib/xorg/modules/drivers
libglx.so
-
/usr/X11R6/lib/modules/extensions
+
/usr/lib/xorg/modules/extensions
libglx.so.1
-
/usr/X11R6/lib/modules/extensions
+
/usr/lib/xorg/modules/extensions
+
+
+
libvdpau.so
+
/usr/lib/xorg
+
+
+
libvdpau.so.1
+
/usr/lib/xorg
+
+
+
libvdpau_trace.so
+
/usr/lib/xorg
+
+
+
libvdpau_trace.so.1
+
/usr/lib/xorg
+
+
+
libvdpau_nvidia.so
+
/usr/lib/xorg
+
+
+
libvdpau_nvidia.so.1
+
/usr/lib/xorg
nvidia-xconfig
-
/usr/X11R6/bin
+
/usr/bin
nvidia-xconfig.1
-
/usr/X11R6/man/man1
+
/usr/man/man1
nvidia-settings
-
/usr/X11R6/bin
+
/usr/bin
nvidia-settings.1
-
/usr/X11R6/man/man1
+
/usr/man/man1
nvidia0
@@ -142,15 +174,27 @@ following components.
/dev
-
libGL.so.169.07
+
libGL.so.180.29
+
/compat/linux/usr/lib
+
+
+
libnvidia-tls.so.180.29
+
/compat/linux/usr/lib
+
+
+
libGLcore.so.180.29
+
/compat/linux/usr/lib
+
+
+
libvdpau.so.180.29
/compat/linux/usr/lib
-
libnvidia-tls.so.169.07
+
libvdpau_trace.so.180.29
/compat/linux/usr/lib
-
libGLcore.so.169.07
+
libvdpau_nvidia.so.180.29
/compat/linux/usr/lib
diff --git a/doc/html/appendix-c.html b/doc/html/appendix-c.html
index 23c65ac..a547bd2 100644
--- a/doc/html/appendix-c.html
+++ b/doc/html/appendix-c.html
@@ -81,7 +81,7 @@ hw.nvidia and are accessible with the sysctl(8) command.
vbios
-
the device's VBIOS revision
+
the device's Video BIOS revision
type
@@ -98,7 +98,7 @@ hw.nvidia and are accessible with the sysctl(8) command.
These OIDs provide information about the AGP capabilities of the
installed AGP graphics card and host-bridge respectively. These
values are most likely to be correct after system boot and before
-the X server is started (and the AGP subsystem intialized).
+the X server is started (and the AGP subsystem initialized).
@@ -117,7 +117,7 @@ the X server is started (and the AGP subsystem intialized).
fw
-
if the device suppoprts AGP fast-writes
+
if the device supports AGP fast-writes
sba
diff --git a/doc/html/appendix-d.html b/doc/html/appendix-d.html
index a55d14d..8452144 100644
--- a/doc/html/appendix-d.html
+++ b/doc/html/appendix-d.html
@@ -61,7 +61,7 @@ name of the OID followed by '=' and the new value, e.g.:
% sysctl hw.nvidia.registry.EnableVia4x=1
-
It is possible to automate setting these paramaters by adding
+
It is possible to automate setting these parameters by adding
them to the /etc/sysctl.conf file.
See man 5
sysctl.conf for details.
@@ -75,8 +75,8 @@ sysctl.conf for details.
We normally detect memory type on TNT cards by scanning the
embedded BIOS. Unfortunately, we've seen some cases where a TNT
-card has been flashed with the wrong bios. For example, an SDRAM
-based TNT has been flashed with an SGRAM bios, and therefore claims
+card has been flashed with the wrong BIOS. For example, an SDRAM
+based TNT has been flashed with an SGRAM BIOS, and therefore claims
to be an SGRAM TNT. We've therefore provided an override here. Make
sure to set the value toe the type of memory used on your card.
@@ -241,9 +241,9 @@ how to enable it.
EnableAGPSBA
-
For stability reasons, the driver will not Side Band Addressing
-even if both the host chipset and the AGP card support it. You may
-override this behaviour with the following registry key.
+
For stability reasons, the driver will not use Side Band
+Addressing even if both the host chipset and the AGP card support
+it. You may override this behavior with the following registry key.
This is completely
unsupported!
diff --git a/doc/html/appendix-e.html b/doc/html/appendix-e.html
index 8a40033..0b0e810 100644
--- a/doc/html/appendix-e.html
+++ b/doc/html/appendix-e.html
@@ -48,7 +48,7 @@ FreeBSD x86 Graphics Driver download page. Please go to http://www.nvidia.com/object/unix.html, follow the
Archive link under the FreeBSD x86 heading, follow the link for the
-169.07 driver, and then go to the Supported Products List.
+180.29 driver, and then go to the Supported Products List.
NVIDIA GeForce GPUs
@@ -151,7 +151,7 @@ Archive link under the FreeBSD x86 heading, follow the link for the
0x00C9
-
GeForce 6800
+
Unknown GPU
0x00F0
@@ -183,18 +183,6 @@ Archive link under the FreeBSD x86 heading, follow the link for the
0x00F9
-
GeForce PCX 5750
-
0x00FA
-
-
-
GeForce PCX 5900
-
0x00FB
-
-
-
GeForce PCX 5300
-
0x00FC
-
-
GeForce 6600 GT
0x0140
@@ -415,6 +403,10 @@ Archive link under the FreeBSD x86 heading, follow the link for the
0x02E1
+
GeForce 7300 GT
+
0x02E2
+
+
GeForce 7900 GS
0x02E3
@@ -423,122 +415,6 @@ Archive link under the FreeBSD x86 heading, follow the link for the
0x02E4
-
GeForce FX 5800 Ultra
-
0x0301
-
-
-
GeForce FX 5800
-
0x0302
-
-
-
GeForce FX 5600 Ultra
-
0x0311
-
-
-
GeForce FX 5600
-
0x0312
-
-
-
GeForce FX 5600XT
-
0x0314
-
-
-
GeForce FX Go5600
-
0x031A
-
-
-
GeForce FX Go5650
-
0x031B
-
-
-
GeForce FX 5200
-
0x0320
-
-
-
GeForce FX 5200 Ultra
-
0x0321
-
-
-
GeForce FX 5200
-
0x0322
-
-
-
GeForce FX 5200LE
-
0x0323
-
-
-
GeForce FX Go5200
-
0x0324
-
-
-
GeForce FX Go5250
-
0x0325
-
-
-
GeForce FX 5500
-
0x0326
-
-
-
GeForce FX 5100
-
0x0327
-
-
-
GeForce FX Go5200 32M/64M
-
0x0328
-
-
-
GeForce FX Go53xx
-
0x032C
-
-
-
GeForce FX Go5100
-
0x032D
-
-
-
GeForce FX 5900 Ultra
-
0x0330
-
-
-
GeForce FX 5900
-
0x0331
-
-
-
GeForce FX 5900XT
-
0x0332
-
-
-
GeForce FX 5950 Ultra
-
0x0333
-
-
-
GeForce FX 5900ZT
-
0x0334
-
-
-
GeForce FX 5700 Ultra
-
0x0341
-
-
-
GeForce FX 5700
-
0x0342
-
-
-
GeForce FX 5700LE
-
0x0343
-
-
-
GeForce FX 5700VE
-
0x0344
-
-
-
GeForce FX Go5700
-
0x0347
-
-
-
GeForce FX Go5700
-
0x0348
-
-
GeForce 7650 GS
0x0390
@@ -563,6 +439,10 @@ Archive link under the FreeBSD x86 heading, follow the link for the
0x0395
+
GeForce Go 7700
+
0x0397
+
+
GeForce Go 7600
0x0398
@@ -592,17 +472,33 @@ Archive link under the FreeBSD x86 heading, follow the link for the
GeForce 8600 GT
+
0x0401
+
+
+
GeForce 8600 GT
0x0402
+
GeForce 8600GS
+
0x0403
+
+
GeForce 8400 GS
0x0404
+
GeForce 9500M GS
+
0x0405
+
+
GeForce 8600M GT
0x0407
+
GeForce 9650M GS
+
0x0408
+
+
GeForce 8700M GT
0x0409
@@ -623,6 +519,10 @@ Archive link under the FreeBSD x86 heading, follow the link for the
0x0423
+
GeForce 8400 GS
+
0x0424
+
+
GeForce 8600M GS
0x0425
@@ -639,6 +539,14 @@ Archive link under the FreeBSD x86 heading, follow the link for the
0x0428
+
GeForce 9400 GT
+
0x042C
+
+
+
GeForce 9300M G
+
0x042E
+
+
GeForce 7150M / nForce 630M
0x0531
@@ -659,191 +567,355 @@ Archive link under the FreeBSD x86 heading, follow the link for the
0x053E
-
GeForce 8800 GTS 512
-
0x0600
+
GeForce GTX 295
+
0x05E0
-
GeForce 8800M GTS
-
0x0609
+
GeForce GTX 280
+
0x05E1
-
GeForce 8800M GTX
-
0x060C
+
GeForce GTX 260
+
0x05E2
-
GeForce 8800 GT
-
0x0611
+
GeForce GTX 285
+
0x05E3
-
-
-
-
NVIDIA Quadro GPUs
-
-
-
-
-
-
-
NVIDIA GPU product
-
Device PCI ID
+
GeForce 8800 GTS 512
+
0x0600
-
-
-
Quadro FX 4000
-
0x004E
+
GeForce 9800 GT
+
0x0601
-
Quadro FX 4500
-
0x009D
+
GeForce 8800 GT
+
0x0602
-
Quadro FX Go1400
-
0x00CC
+
GeForce 9800 GX2
+
0x0604
-
Quadro FX 3450/4000 SDI
-
0x00CD
+
GeForce 9800 GT
+
0x0605
-
Quadro FX 1400
-
0x00CE
+
GeForce 8800 GS
+
0x0606
-
Quadro FX 4400/Quadro FX 3400
-
0x00F8
+
GeForce 9800M GTX
+
0x0608
-
Quadro FX 330
-
0x00FC
+
GeForce 8800M GTS
+
0x0609
-
Quadro NVS 280 PCI-E/Quadro FX 330
-
0x00FD
+
GeForce 9800M GT
+
0x060B
-
Quadro FX 1300
-
0x00FE
+
GeForce 8800M GTX
+
0x060C
-
Quadro NVS 440
-
0x014A
+
GeForce 8800 GS
+
0x060D
-
Quadro FX 540M
-
0x014C
+
GeForce 9600 GSO
+
0x0610
-
Quadro FX 550
-
0x014D
+
GeForce 8800 GT
+
0x0611
-
Quadro FX 540
-
0x014E
+
GeForce 9800 GTX/9800 GTX+
+
0x0612
-
Quadro NVS 285
-
0x0165
+
GeForce 9800 GTX+
+
0x0613
-
Quadro FX 5600
-
0x019D
+
GeForce 9800 GT
+
0x0614
-
Quadro FX 4600
-
0x019E
+
GeForce 9800M GTX
+
0x0617
-
Quadro NVS 110M
-
0x01D7
+
GeForce 9600 GT
+
0x0622
-
Quadro NVS 110M
-
0x01DA
+
GeForce 9600 GS
+
0x0623
-
Quadro NVS 120M
-
0x01DB
+
GeForce 9800M GTS
+
0x0628
-
Quadro FX 350M
-
0x01DC
+
GeForce 9700M GTS
+
0x062A
-
Quadro FX 350
-
0x01DE
+
GeForce 9800M GS
+
0x062B
-
Quadro NVS 210S / NVIDIA GeForce 6150LE
-
0x0245
+
GeForce 9800M GTS
+
0x062C
-
Quadro FX 2500M
-
0x029A
+
GeForce 9500 GT
+
0x0640
-
Quadro FX 1500M
-
0x029B
+
GeForce 9500 GT
+
0x0643
-
Quadro FX 5500
-
0x029C
+
GeForce 9600M GT
+
0x0647
-
Quadro FX 3500
-
0x029D
+
GeForce 9600M GS
+
0x0648
-
Quadro FX 1500
-
0x029E
+
GeForce 9600M GT
+
0x0649
-
Quadro FX 4500 X2
-
0x029F
+
GeForce 9700M GT
+
0x064A
-
Quadro FX 2000
-
0x0308
+
GeForce 9500M G
+
0x064B
-
Quadro FX 1000
-
0x0309
+
GeForce 9650M GT
+
0x064C
-
Quadro FX Go700
-
0x031C
+
GeForce 9650 S
+
0x0656
-
Quadro NVS 55/280 PCI
-
0x032A
+
GeForce 9300 GE
+
0x06E0
-
Quadro FX 500/FX 600
-
0x032B
+
GeForce 9300 GS
+
0x06E1
-
Quadro FX 3000
-
0x0338
+
GeForce 8400 GS
+
0x06E4
-
Quadro FX 700
-
0x033F
+
GeForce 9300M GS
+
0x06E5
-
Quadro FX Go1000
-
0x034C
+
GeForce 9200M GS
+
0x06E8
-
Quadro FX 1100
-
0x034E
+
GeForce 9300M GS
+
0x06E9
-
Quadro FX 560
-
0x039E
+
GeForce 7150 / NVIDIA nForce 630i
+
0x07E0
-
Quadro FX 370
+
GeForce 7100 / NVIDIA nForce 630i
+
0x07E1
+
+
+
GeForce 7050 / NVIDIA nForce 610i
+
0x07E3
+
+
+
GeForce 9100M G
+
0x0844
+
+
+
GeForce 8200M G
+
0x0845
+
+
+
GeForce 9100
+
0x0847
+
+
+
GeForce 8300
+
0x0848
+
+
+
GeForce 8200
+
0x0849
+
+
+
nForce 730a
+
0x084A
+
+
+
GeForce 8200
+
0x084B
+
+
+
nForce 780a SLI
+
0x084C
+
+
+
nForce 750a SLI
+
0x084D
+
+
+
GeForce 8100 / nForce 720a
+
0x084F
+
+
+
GeForce 9400M G
+
0x0862
+
+
+
GeForce 9400M
+
0x0863
+
+
+
+
+
NVIDIA Quadro GPUs
+
+
+
+
+
+
+
+
NVIDIA GPU product
+
Device PCI ID
+
+
+
+
+
Quadro FX 4000
+
0x004E
+
+
+
Quadro FX 4500
+
0x009D
+
+
+
Quadro FX Go1400
+
0x00CC
+
+
+
Quadro FX 3450/4000 SDI
+
0x00CD
+
+
+
Quadro FX 1400
+
0x00CE
+
+
+
Quadro FX 4400/Quadro FX 3400
+
0x00F8
+
+
+
Quadro NVS 440
+
0x014A
+
+
+
Quadro FX 540M
+
0x014C
+
+
+
Quadro FX 550
+
0x014D
+
+
+
Quadro FX 540
+
0x014E
+
+
+
Quadro NVS 285
+
0x0165
+
+
+
Quadro FX 5600
+
0x019D
+
+
+
Quadro FX 4600
+
0x019E
+
+
+
Quadro NVS 110M
+
0x01D7
+
+
+
Quadro NVS 110M
+
0x01DA
+
+
+
Quadro NVS 120M
+
0x01DB
+
+
+
Quadro FX 350M
+
0x01DC
+
+
+
Quadro FX 350
+
0x01DE
+
+
+
Quadro NVS 210S / NVIDIA GeForce 6150LE
+
0x0245
+
+
+
Quadro FX 2500M
+
0x029A
+
+
+
Quadro FX 1500M
+
0x029B
+
+
+
Quadro FX 5500
+
0x029C
+
+
+
Quadro FX 3500
+
0x029D
+
+
+
Quadro FX 1500
+
0x029E
+
+
+
Quadro FX 4500 X2
+
0x029F
+
+
+
Quadro FX 560
+
0x039E
+
+
+
Quadro FX 370
0x040A
@@ -887,15 +959,259 @@ Archive link under the FreeBSD x86 heading, follow the link for the
0x042F
+
Quadro CX
+
0x05F9
+
+
+
Quadro FX 5800
+
0x05FD
+
+
+
Quadro FX 4800
+
0x05FE
+
+
Quadro FX 3700
0x061A
+
+
Quadro FX 3600M
+
0x061C
+
+
+
Quadro FX 2700M
+
0x063A
+
+
+
Quadro FX 770M
+
0x065C
+
+
+
Quadro NVS 150M
+
0x06EA
+
+
+
Quadro NVS 160M
+
0x06EB
+
+
+
Quadro NVS 420
+
0x06F8
+
+
+
Quadro FX 370 LP
+
0x06F9
+
+
+
Quadro NVS 450
+
0x06FA
+
+
+
Quadro NVS 295
+
0x06FD
+
+
+
Quadro FX 470
+
0x087A
+
+
+
Quadro FX 470M
+
0x087F
+
Below are the legacy GPUs that are no longer supported in the
unified driver. These GPUs will continue to be maintained through
the special legacy NVIDIA GPU driver releases.
+
The 173.14.xx driver supports the following set of GPUs:
+
+
+
+
+
+
+
+
NVIDIA GPU product
+
Device PCI ID
+
+
+
+
+
GeForce PCX 5750
+
0x00FA
+
+
+
GeForce PCX 5900
+
0x00FB
+
+
+
Quadro FX 330/GeForce PCX 5300
+
0x00FC
+
+
+
Quadro FX 330/Quadro NVS 280 PCI-E
+
0x00FD
+
+
+
Quadro FX 1300
+
0x00FE
+
+
+
GeForce FX 5800 Ultra
+
0x0301
+
+
+
GeForce FX 5800
+
0x0302
+
+
+
Quadro FX 2000
+
0x0308
+
+
+
Quadro FX 1000
+
0x0309
+
+
+
GeForce FX 5600 Ultra
+
0x0311
+
+
+
GeForce FX 5600
+
0x0312
+
+
+
GeForce FX 5600XT
+
0x0314
+
+
+
GeForce FX Go5600
+
0x031A
+
+
+
GeForce FX Go5650
+
0x031B
+
+
+
Quadro FX Go700
+
0x031C
+
+
+
GeForce FX 5200
+
0x0320
+
+
+
GeForce FX 5200 Ultra
+
0x0321
+
+
+
GeForce FX 5200
+
0x0322
+
+
+
GeForce FX 5200LE
+
0x0323
+
+
+
GeForce FX Go5200
+
0x0324
+
+
+
GeForce FX Go5250
+
0x0325
+
+
+
GeForce FX 5500
+
0x0326
+
+
+
GeForce FX 5100
+
0x0327
+
+
+
GeForce FX Go5200 32M/64M
+
0x0328
+
+
+
Quadro NVS 55/280 PCI
+
0x032A
+
+
+
Quadro FX 500/FX 600
+
0x032B
+
+
+
GeForce FX Go53xx
+
0x032C
+
+
+
GeForce FX Go5100
+
0x032D
+
+
+
GeForce FX 5900 Ultra
+
0x0330
+
+
+
GeForce FX 5900
+
0x0331
+
+
+
GeForce FX 5900XT
+
0x0332
+
+
+
GeForce FX 5950 Ultra
+
0x0333
+
+
+
GeForce FX 5900ZT
+
0x0334
+
+
+
Quadro FX 3000
+
0x0338
+
+
+
Quadro FX 700
+
0x033F
+
+
+
GeForce FX 5700 Ultra
+
0x0341
+
+
+
GeForce FX 5700
+
0x0342
+
+
+
GeForce FX 5700LE
+
0x0343
+
+
+
GeForce FX 5700VE
+
0x0344
+
+
+
GeForce FX Go5700
+
0x0347
+
+
+
GeForce FX Go5700
+
0x0348
+
+
+
Quadro FX Go1000
+
0x034C
+
+
+
Quadro FX 1100
+
0x034E
+
+
+
+
The 96.43.xx driver supports the following set of GPUs:
diff --git a/doc/html/appendix-f.html b/doc/html/appendix-f.html
index 4588272..097f0dc 100644
--- a/doc/html/appendix-f.html
+++ b/doc/html/appendix-f.html
@@ -164,13 +164,11 @@ causes the server to advertise the SERVER_OVERLAY_VISUALS root
window property and GLX will report single- and double-buffered,
Z-buffered 16-bit overlay visuals. The transparency key is pixel
0x0000 (hex). There is no gamma correction support in the overlay
-plane. This feature requires XFree86 version 4.1.0 or newer, or the
-X.Org X server. When TwinView is enabled, or the X screen is either
-wider than 2046 pixels or taller than 2047, the overlay may be
-emulated with a substantial performance penalty. RGB workstation
-overlays are not supported when the Composite extension is enabled.
-Dynamic TwinView is disabled when Overlays are enabled. Default:
-off.
+plane. This feature requires XFree86 version 4.2.0 or newer, or the
+X.Org X server. When the X screen is either wider than 2046 pixels
+or taller than 2047, the overlay may be emulated with a substantial
+performance penalty. RGB workstation overlays are not supported
+when the Composite extension is enabled.
UBB must be enabled when overlays are enabled (this is the
default behavior).
@@ -229,8 +227,8 @@ unset or set it to 0. Default: off.
Enables the use of a threshold within the X server to perform
the updates to the emulated overlay or CI overlay. The emulated or
-CI overlay updates can be defered but this threshold will limit the
-number of defered OpenGL updates allowed before the overlay is
+CI overlay updates can be deferred but this threshold will limit
+the number of deferred OpenGL updates allowed before the overlay is
updated. This option can be used to trade off performance and
animation quality. Default: on.
@@ -288,6 +286,15 @@ DDC/CI NV-CONTROL attributes in NVCtrlLib.h in the nvidia-settings source code. Default: off
(DDC/CI is disabled).
+
Note that support for DDC/CI within the NVIDIA X driver's
+NV-CONTROL extension is deprecated, and will be removed in a future
+release. Other mechanisms for DDC/CI, such as the kernel i2c
+subsystem on Linux, are preferred over NV-CONTROL's DDC/CI
+support.
+
If you would prefer that the NVIDIA X driver's NV-CONTROL X
+extension not remove DDC/CI support, please make your concerns
+known my emailing <linux-bugs@nvidia.com>.
Option "SWCursor"
@@ -350,8 +357,8 @@ enabled. This value must be in the range [0, 32]. Default: 2.
connected to your graphics card. This may be useful, for example,
if you use a KVM (keyboard, video, mouse) switch and you are
switched away when X is started. In such a situation, the NVIDIA
-kernel module cannot detect what display devices are connected, and
-the NVIDIA X driver assumes you have a single CRT.
+kernel module cannot detect which display devices are connected,
+and the NVIDIA X driver assumes you have a single CRT.
Valid values for this option are "CRT" (cathode ray tube), "DFP"
(digital flat panel), or "TV" (television); if using TwinView, this
option may be a comma-separated list of display devices; e.g.:
@@ -369,25 +376,44 @@ connected display devices).
The "UseDisplayDevice" X configuration option is a list of one
+or more display devices, which limits the display devices the
+NVIDIA X driver will consider for an X screen. The display device
+names used in the option may be either specific (with a numeric
+suffix; e.g., "DFP-1") or general (without a numeric suffix; e.g.,
+"DFP").
When assigning display devices to X screens, the NVIDIA X driver
-by default assigns display devices in the order they are found
-(looking first at CRTs, then at DFPs, and finally at TVs). This
-option can be used to override this assignment. For example, if
-both a CRT and a DFP are connected, you could specify:
-
- Option "UseDisplayDevice" "DFP"
-
-
to make the X screen use the DFP, even though it would have used
-a CRT by default.
+walks through the list of all (not already assigned) display
+devices detected as connected. When the "UseDisplayDevice" X
+configuration option is specified, the X driver will only consider
+connected display devices which are also included in the
+"UseDisplayDevice" list. This can be thought of as a "mask" against
+the connected (and not already assigned) display devices.
Note the subtle difference between this option and the
"ConnectedMonitor" option: the "ConnectedMonitor" option overrides
-what display devices are actually detected, while the
+which display devices are actually detected, while the
"UseDisplayDevice" option controls which of the detected display
devices will be used on this X screen.
+
Of the list of display devices considered for this X screen
+(either all connected display devices, or a subset limited by the
+"UseDisplayDevice" option), the NVIDIA X driver first looks at
+CRTs, then at DFPs, and finally at TVs. For example, if both a CRT
+and a DFP are connected, by default the X driver would assign the
+CRT to this X screen. However, by specifying:
+
+ Option "UseDisplayDevice" "DFP"
+
+
the X screen would use the DFP instead. Or, if CRT-0, DFP-0, and
+DFP-1 are connected and TwinView is enabled, the X driver would
+assign CRT-0 and DFP-0 to the X screen. However, by specifying:
+
+ Option "UseDisplayDevice" "CRT-0, DFP-1"
+
+
the X screen would use CRT-0 and DFP-1 instead.
Additionally, the special value "none" can be specified for the
"UseDisplayDevice" option. When this value is given, any
programming of the display hardware is disabled. The NVIDIA driver
-will not perform any mode validation or modesetting for this X
+will not perform any mode validation or mode setting for this X
screen. This is intended for use in conjunction with CUDA or in
remote graphics solutions such as VNC or Hewlett Packard's Remote
Graphics Software (RGS). This functionality is only available on
@@ -400,13 +426,6 @@ Quadro and Tesla GPUs.
OpenGL SyncToVBlank will have no effect.
-
You must also explicitly specify the Virtual screen size for
-your X screen (see the xorg.conf(5x) or XF86Config(5x) manpages for
-the 'Virtual' option, or the nvidia-xconfig(1) manpage for the
-'--virtual' commandline option); the Virtual screen size must be at
-least 304x200, and the width must be a multiple of 8.
-
-
None of Stereo, Overlay, CIOverlay, or SLI are allowed when
"UseDisplayDevice" is set to "none".
@@ -543,6 +562,9 @@ display device is positioned within the X screen. Some window
mangers get confused by this information, so this option is
provided to disable this behavior. Default: false (TwinView
Xinerama information is provided).
+
Due to bugs in some older software, TwinView Xinerama
+information is not provided by default on X.Org 7.1 and older when
+the X server is started with only one display device connected.
Default: "CRT, DFP, TV"
-
Option
-"TwinViewXineramaInfoOverride" "string"
+
Option "TwinViewXineramaInfoOverride"
+"string"
This option overrides the values reported by NVIDIA's TwinView
Xinerama implementation. This disregards the actual display devices
used by the X screen and any order specified in
TwinViewXineramaInfoOrder.
The option string is interpreted as a comma-separated list of
-regions, specified as '[width]x[height]+[xoffset]+[yoffset]'. The
+regions, specified as '[width]x[height]+[x-offset]+[y-offset]'. The
regions' sizes and offsets are not validated against the X screen
size, but are directly reported to any Xinerama client.
Examples:
@@ -671,14 +695,14 @@ back of the graphics card.
4
-
TwinView clone mode stereo (aka "passive" stereo). On graphics
-cards that support TwinView, the left eye is displayed on the first
-display, and the right eye is displayed on the second display. This
-is normally used in conjunction with special projectors to produce
-2 polarized images which are then viewed with polarized glasses. To
-use this stereo mode, you must also configure TwinView in clone
-mode with the same resolution, panning offset, and panning domains
-on each display.
+
TwinView clone mode stereo (also known as "passive" stereo). On
+graphics cards that support TwinView, the left eye is displayed on
+the first display, and the right eye is displayed on the second
+display. This is normally used in conjunction with special
+projectors to produce 2 polarized images which are then viewed with
+polarized glasses. To use this stereo mode, you must also configure
+TwinView in clone mode with the same resolution, panning offset,
+and panning domains on each display.
5
@@ -694,21 +718,18 @@ Digital Flat Panels.
Stereo is only available on Quadro cards. Stereo options 1, 2,
-and 3 (aka "active" stereo) may be used with TwinView if all modes
-within each MetaMode have identical timing values. See Chapter 16,
Programming Modes for suggestions on making sure the
modes within your MetaModes are identical. The identical ModeLine
requirement is not necessary for Stereo option 4 ("passive"
-stereo). Currently, stereo operation may be "quirky" on the
-original Quadro (NV10) GPU and left-right flipping may be erratic.
-We are trying to resolve this issue for a future release. Default:
-0 (Stereo is not enabled).
+stereo). Default: 0 (Stereo is not enabled).
UBB must be enabled when stereo is enabled (this is the default
behavior).
-
Stereo options 1, 2, and 3 (aka "active" stereo) are not
-supported on digital flat panels.
+
Stereo options 1, 2, and 3 ("active" stereo) are not supported
+on digital flat panels.
Multi-GPU cards (such as the Quadro FX 4500 X2) provide a single
connector for onboard stereo support (option 3), which is tied to
the bottommost GPU. In order to synchronize onboard stereo with the
@@ -828,16 +849,16 @@ test is performed).
"string"
This option tells the NVIDIA kernel module to completely ignore
-the indicated classes of display devices when checking what display
-devices are connected. You may specify a comma-separated list
-containing any of "CRT", "DFP", and "TV". For example:
+the indicated classes of display devices when checking which
+display devices are connected. You may specify a comma-separated
+list containing any of "CRT", "DFP", and "TV". For example:
Option "IgnoreDisplayDevices" "DFP, TV"
will cause the NVIDIA driver to not attempt to detect if any
digital flat panels or TVs are connected. This option is not
normally necessary; however, some video BIOSes contain incorrect
-information about what display devices may be connected, or what
+information about which display devices may be connected, or which
i2c port should be used for detection. These errors can cause long
delays in starting X. If you are experiencing such delays, you may
be able to avoid this by telling the NVIDIA driver to ignore
@@ -1165,9 +1186,10 @@ forced to FALSE.
This option forces the X driver to use the EDID specified in a
file rather than the display's EDID. You may specify a semicolon
separated list of display names and filename pairs. The display
-name is any of "CRT-0", "CRT-1", "DFP-0", "DFP-1", "TV-0", "TV-1".
-The file contains a raw EDID (e.g., a file generated by
-nvidia-settings).
+name is any of "CRT-0", "CRT-1", "DFP-0", "DFP-1", "TV-0", "TV-1",
+or one of the generic names "CRT", "DFP", "TV", which apply the
+EDID to all devices of the specified type. The file contains a raw
+EDID (e.g., a file generated by nvidia-settings).
For example:
Option "CustomEDID" "CRT-0:/tmp/edid1.bin; DFP-0:/tmp/edid2.bin"
@@ -1176,6 +1198,10 @@ nvidia-settings).
device CRT-0, and the EDID from the file /tmp/edid2.bin to the
display device DFP-0. Note that a display device name must always
be specified even if only one EDID is specified.
+
Caution: Specifying an EDID that doesn't exactly match your
+display may damage your hardware, as it allows the driver to
+specify timings beyond the capabilities of your display. Use with
+care.
Option "ModeValidation"
@@ -1307,17 +1333,26 @@ range. However, the "ObeyEdidContradictions" argument instructs the
NVIDIA X driver to invalidate these modes.
-
"NoTotalSizeCheck": allow modes in which the invididual visible
+
"NoTotalSizeCheck": allow modes in which the individual visible
or sync pulse timings exceed the total raster size.
"DoubleScanPriority": on GPUs older than G80, doublescan modes
are sorted before non-doublescan modes of the same resolution for
-purposes of modepool sorting; but on G80 and later GPUs, doublescan
-modes are sorted after non-doublescan modes of the same resolution.
-This token inverts that priority (i.e., doublescan modes will be
-sorted after on pre-G80 GPUs, and sorted before on G80 and later
-GPUs).
+purposes of mode pool sorting; but on G80 and later GPUs,
+doublescan modes are sorted after non-doublescan modes of the same
+resolution. This token inverts that priority (i.e., doublescan
+modes will be sorted after on pre-G80 GPUs, and sorted before on
+G80 and later GPUs).
+
+
+
"NoDualLinkDVICheck": for mode timings used on dual link DVI
+DFPs, the driver must perform additional checks to ensure that the
+correct pixels are sent on the correct link. For some of these
+checks, the driver will invalidate the mode timings; for other
+checks, the driver will implicitly modify the mode timings to meet
+the GPU's dual link DVI requirements. This token disables this dual
+link DVI checking.
@@ -1334,6 +1369,15 @@ all display devices.
do not use EDID modes and do not perform the maximum pixel clock
check on CRT-0, and do not use VESA modes on DFP-0.
+
Option "ModeDebug"
+"boolean"
+
+
This option causes the X driver to print verbose details about
+mode validation to the X log file. Note that this option is applied
+globally: setting this option to TRUE will enable verbose mode
+validation logging for all NVIDIA X screens in the X server.
+
Option "UseEvents"
"boolean"
@@ -1473,6 +1517,59 @@ generation only when it is required. This can help conserve
power.
Default: off (on-demand VBlank control is disabled).
+
Option "PixmapCacheSize"
+"size"
+
+
This option controls how much video memory is reserved for
+pixmap allocations. When the option is specified, size specifies the number of bytes to use
+for the pixmap cache. Reserving this memory improves performance
+when pixmaps are created and destroyed rapidly, but prevents this
+memory from being used by OpenGL. When this cache is disabled or
+space in the cache is exhausted, the driver will still allocate
+pixmaps in video memory but pixmap creation and deletion
+performance will not be improved.
+
NOTE: This option is deprecated in favor of the
+PixmapCacheRoundSizeKB nvidia-settings attribute and will be
+removed in a future driver release.
+
Example: Option "PixmapCacheSize"
+"1048576" will allocate one megabyte for the pixmap
+cache.
+
Default: off (no memory is reserved specifically for
+pixmaps).
+
+
Option "AllowSHMPixmaps"
+"boolean"
+
+
This option controls whether applications can use the MIT-SHM X
+extension to create pixmaps whose contents are shared between the X
+server and the client. These pixmaps prevent the NVIDIA driver from
+performing a number of optimizations and degrade performance in
+many circumstances.
+
Disabling this option disables only shared memory pixmaps.
+Applications can still use the MIT-SHM extension to transfer data
+to the X server through shared memory using XShmPutImage.
+
Default: off (shared memory pixmaps are not allowed).
This option controls whether the NVIDIA X Driver initializes
+newly created redirected windows using the contents of their parent
+window if the X server doesn't do it. Leaving redirected windows
+uninitialized may cause new windows to flash with black or random
+colors when some compositing managers are running.
+
This option will have no effect on X servers that already
+initialize redirected window contents. In most distributions, the X
+server is patched to skip that initialization. In this case, it is
+recommended to leave this option on for a better user
+experience.
+
Default: on (redirected windows are initialized).
+
diff --git a/doc/html/appendix-j.html b/doc/html/appendix-j.html
index 6aa99dc..3e2cb55 100644
--- a/doc/html/appendix-j.html
+++ b/doc/html/appendix-j.html
@@ -13,6 +13,8 @@
"Part II. Appendices">
+
This release includes support for the XVideo Motion Compensation
-(XvMC) version 1.0 API on GeForce 5 series, GeForce 6 series and
-GeForce 7 series addin cards, as well as motherboard chipsets with
-integrated graphics that have PureVideo support. There is a static
-library, "libXvMCNVIDIA.a", and a dynamic one,
+(XvMC) version 1.0 API on GeForce 6 series and GeForce 7 series
+add-in cards, as well as motherboard chipsets with integrated
+graphics that have PureVideo support based on these GPUs. There is
+a static library, "libXvMCNVIDIA.a", and a dynamic one,
"libXvMCNVIDIA_dynamic.so", which is suitable for dlopening. XvMC's
"IDCT" and "motion-compensation" levels of acceleration, AI44 and
IA44 subpictures, and 4:2:0 Surfaces up to 2032x2032 are
@@ -61,14 +64,16 @@ messages.
This documentation describes the capabilities of the NVIDA VDPAU
+implementation. Hardware performance may vary significantly between
+cards. No guarantees are made, nor implied, that any particular
+combination of system configuration, GPU configuration, VDPAU
+feature set, VDPAU API usage, application, video stream, etc., will
+be able to decode streams at any particular frame rate.
+
+
+
+
diff --git a/doc/html/appendix-k-section-03.html b/doc/html/appendix-k-section-03.html
new file mode 100644
index 0000000..af18259
--- /dev/null
+++ b/doc/html/appendix-k-section-03.html
@@ -0,0 +1,147 @@
+
+
+
+
+
+Getting the Best Performance from the API
+
+
+
+
+
+
+
+
System performance (raw throughput, latency, and jitter
+tolerance) can be affected by a variety of factors. One of these
+factors is how the client application uses VDPAU; i.e. the number
+of surfaces allocated for buffering, order of operations, etc.
+
NVIDIA GPUs typically contain a number of separate hardware
+modules that are capable of performing different parts of the video
+decode, post-processing, and display operations in parallel. To
+obtain the best performance, the client application must attempt to
+keep all these modules busy with work at all times.
+
Consider the decoding process. At a bare minimum, the
+application must allocate one video surface for each reference
+frame that the stream can use (2 for MPEG or VC-1, a variable
+stream-dependent number for H.264) plus one surface for the picture
+currently being decoded. However, if this minimum number of
+surfaces is used, performance may be poor. This is because
+back-to-back decodes of non-reference frames will need to be
+written into the same video surface. This will require that decode
+of the second frame wait until decode of the first has completed; a
+pipeline stall.
+
Further, if the video surfaces are being read by the video mixer
+for post-processing, and eventual display, this will "lock" the
+surfaces for even longer, since the video mixer needs to read the
+data from the surface, which prevents any subsequent decode
+operations from writing to the surface. Recall that when advanced
+deinterlacing techniques are used, a history of video surfaces must
+be provided to the video mixer, thus necessitating that even more
+video surfaces be allocated.
+
For this reason, NVIDIA recommends the following number of video
+surfaces be allocated:
+
+
+
+
(num_ref + 3) for progressive content, and no deinterlacing.
+
+
+
(num_ref + 5) for interlaced content using advanced
+deinterlacing.
+
+
+
+
+
For applications that perform significant amounts of rendering
+between bitmaps and output surfaces, a similar argument may apply
+to the number of output surfaces allocated.
+
Finally, consider the display path via the presentation queue.
+This portion of the pipeline requires at least 2 output surfaces;
+one that is being actively displayed by the presentation queue, and
+one being rendered to for subsequent display. As before, using this
+minimum number of surfaces may not be optimal. For some video
+streams, the hardware may only achieve real-time decoding on
+average, not for each individual frame. Similarly, system level
+issues such as scheduler algorithms and system load may prevent the
+CPU portion of the driver from operating for short periods of time.
+Both of these potential issues may be solved by allocating more
+output surfaces, and queuing more than one outstanding output
+surface into the presentation queue.
+
The choice of exactly how many surfaces to allocate is a
+resource usage v.s. performance trade-off; Allocating more than the
+minimum number of surfaces will increase performance, but use
+proportionally more video RAM. This may cause allocations to fail.
+This could be particularly problematic on systems with a small
+amount of video RAM. A stellar application would automatically
+adjust to this by initially allocating the bare minimum number of
+surfaces (failures being fatal), then attempting to allocate more
+and more surfaces, provided the allocations kept succeeding, up to
+the suggested limits above.
+
The video decoder's memory usage is also proportional to the
+maximum number of reference frames specified at creation time.
+Requesting a larger number of reference frames can significantly
+increase memory usage. Hence it is best for applications that
+decode H.264 to request only the actual number of reference frames
+specified in the stream, rather than e.g. hard-coding a limit of
+16, or even the maximum number of surfaces allowable by some
+specific H.264 level at the stream's resolution.
+
Note that the NVIDIA implementation correctly implements all
+required interlocks between the various pipelined hardware modules.
+Applications never need worry about correctness (providing their
+API usage is legal and sensible), but simply have to worry about
+performance.
Note that surfaces (video, output, or bitmap) are not cleared to
+any specific value upon allocation. It is the application's
+responsibility to initialize all surfaces prior to using them as
+input to any function.
The VDPAU wrapper library supports tracing VDPAU function calls,
+and their parameters. This tracing is controlled by the following
+environment variables:
+
+
+
VDPAU_TRACE
+
+
Enables tracing. Set to 1 to trace function calls. Set to 2 to
+trace all arguments passed to the function.
+
+
VDPAU_TRACE_FILE
+
+
Filename to write traces to. By default, traces are sent to
+stderr. This variable may either contain a plain filename, or a
+reference to an existing open file-descriptor in the format
+"&N" where N is the file descriptor number.
+
+
+
+
+
The VDPAU wrapper library is responsible for determining which
+vendor-specific driver to load for a given X11 display/screen. At
+present, it hard-codes "nvidia" as the driver. The environment
+variable VDPAU_DRIVER may be set to override this default. The
+actual library loaded will be libvdpau_${VDPAU_DRIVER}.so. Setting
+VDPAU_DRIVER to "trace" is not advised.
+
The NVIDIA VDPAU driver can emit some diagnostic information
+when an error occurs. To enable this, set the environment variable
+VDPAU_NVIDIA_DEBUG. A value of 1 will request a small diagnostic
+that will enable NVIDIA engineers to locate the source of the
+problem. A value of 3 will request that a complete stack backtrace
+be printed, which provide NVIDIA engineers with more detailed
+information, which may be needed to diagnose some problems.
+
+
+
+
diff --git a/doc/html/appendix-k.html b/doc/html/appendix-k.html
new file mode 100644
index 0000000..1ef355d
--- /dev/null
+++ b/doc/html/appendix-k.html
@@ -0,0 +1,493 @@
+
+
+
+
+
+Appendix K. VDPAU Support
+
+
+
+
+
+
+
+
This release includes support for the Video Decode and
+Presentation API for Unix-like systems (VDPAU) on most GeForce 8
+series and newer add-in cards, as well as motherboard chipsets with
+integrated graphics that have PureVideo support based on these
+GPUs.
+
+
+
+
+
Implementation Limits
+
+
+
+
VDPAU is specified as a generic API - the choice of which
+features to support, and performance levels of those features, is
+left up to individual implementations. The details of NVIDIA's
+implementation are provided below.
+
+
+
+
+
VdpVideoSurface
+
+
+
+
The maximum supported resolution is 4096x4096.
+
The following surface formats and get-/put-bits combinations are
+supported:
+
+
+
+
VDP_CHROMA_TYPE_420 (Supported get-/put-bits formats are
+VDP_YCBCR_FORMAT_NV12, VDP_YCBCR_FORMAT_YV12)
+
+
+
VDP_CHROMA_TYPE_422 (Supported get-/put-bits formats are
+VDP_YCBCR_FORMAT_UYVY, VDP_YCBCR_FORMAT_YUYV)
+
+
+
+
+
+
+
+
+
+
VdpBitmapSurface
+
+
+
+
The maximum supported resolution is 8192x8192.
+
The following surface formats are supported:
+
+
+
+
VDP_RGBA_FORMAT_B8G8R8A8
+
+
+
VDP_RGBA_FORMAT_R8G8B8A8
+
+
+
VDP_RGBA_FORMAT_B10G10R10A2
+
+
+
VDP_RGBA_FORMAT_R10G10B10A2
+
+
+
VDP_RGBA_FORMAT_A8
+
+
+
+
+
Note that VdpBitmapSurfaceCreate's frequently_accessed parameter
+directly controls whether the bitmap data will be placed into video
+RAM (VDP_TRUE) or system memory (VDP_FALSE). Note that if the
+bitmap data cannot be placed into video RAM when requested due to
+resource constraints, the implementation will automatically fall
+back to placing the data into system RAM.
+
+
+
+
+
+
VdpOutputSurface
+
+
+
+
The maximum supported resolution is 8192x8192.
+
The following surface formats are supported:
+
+
+
+
VDP_RGBA_FORMAT_B8G8R8A8
+
+
+
VDP_RGBA_FORMAT_R10G10B10A2
+
+
+
+
+
For all surface formats, the following get-/put-bits indexed
+formats are supported:
+
+
+
+
VDP_INDEXED_FORMAT_A4I4
+
+
+
VDP_INDEXED_FORMAT_I4A4
+
+
+
VDP_INDEXED_FORMAT_A8I8
+
+
+
VDP_INDEXED_FORMAT_I8A8
+
+
+
+
+
For all surface formats, the following get-/put-bits YCbCr
+formats are supported:
+
+
+
+
VDP_YCBCR_FORMAT_Y8U8V8A8
+
+
+
VDP_YCBCR_FORMAT_V8U8Y8A8
+
+
+
+
+
+
+
+
+
+
VdpDecoder
+
+
+
+
In all cases, VdpDecoder objects solely support 8-bit 4:2:0
+streams, and only support writing to VDP_CHROMA_TYPE_420
+surfaces.
+
The exact set of supported VdpDecoderProfile values depends on
+the hardware model in use.
+
+
+
+
+
G84, G86,
+G92, G94, G96, GT200
+
+
+
+
These chips support the following VdpDecoderProfile values:
In order for either VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL
+or VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL_SPATIAL to operate
+correctly, the application must supply at least 2 past and 1 future
+fields to each VdpMixerRender call. If those fields are not
+provided, the VdpMixer will fall back to bob deinterlacing.
+
In order for VDP_VIDEO_MIXER_FEATURE_INVERSE_TELECINE to have
+any effect, one of VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL or
+VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL_SPATIAL must be
+requested and enabled. Inverse telecine has the same requirement on
+the minimum number of past/future fields that must be provided.
+
+
+
+
+
+
VdpPresentationQueue
+
+
+
+
The resolution of VdpTime is approximately 10ns. At some
+arbitrary point during system startup, the initial value of this
+clock is synchronized to the system's real-time clock, as
+represented by ns since since Jan 1, 1970. However, no attempt is
+made to keep the two time-bases synchronized after this point.
+Divergence can and will occur.
+
NVIDIA's VdpPresentationQueue supports two mechanisms for
+displaying surfaces; overlay and blit-based. The overlay path will
+be used wherever possible, with the blit path acting as a more
+general fallback. At present, the selection of overlay v.s. blit
+path is made at the time of presentation queue creation.
+
The following conditions or system configurations will prevent
+usage of the overlay path:
+
+
+
+
Overlay hardware already in use, e.g. by another VDPAU, GL, or
+X11 application, or by SDI output.
+
+
+
SLI or Multi-GPU enabled on the given X screen.
+
+
+
Desktop rotation enabled on the given screen.
+
+
+
X composite extension enabled on the given screen. Note that
+simply having the extension enabled is enough to prevent overlay
+usage; running an actual compositing manager is not required.
+
+
+
The environment variable VDPAU_NVIDIA_NO_OVERLAY is set to a
+string representation of a non-zero integer.
+
+
+
+
+
At present, the overlay path always syncs to vblank, whereas the
+blit path never syncs to vblank.
+
+
+
+
+
+
diff --git a/doc/html/appendix-l.html b/doc/html/appendix-l.html
new file mode 100644
index 0000000..d939366
--- /dev/null
+++ b/doc/html/appendix-l.html
@@ -0,0 +1,367 @@
+
+
+
+
+
+Appendix L. Tips for New FreeBSD Users
+
+
+
+
+
+
+
This installation guide assumes that the user has at least a
+basic understanding of FreeBSD techniques and terminology. In this
+section we provide tips that the new user may find helpful. While
+the these tips are meant to clarify and assist users in installing
+and configuring the NVIDIA FreeBSD Driver, it is by no means a
+tutorial on the use or administration of the FreeBSD operating
+system. Unlike many desktop operating systems, it is relatively
+easy to cause irreparable damage to your FreeBSD system. If you are
+unfamiliar with the use of FreeBSD, we strongly recommend that you
+seek a tutorial through your distributor before proceeding.
+
The command prompt
+
While newer releases of FreeBSD bring new desktop interfaces to
+the user, much of the work in FreeBSD takes place at the command
+prompt. If you are familiar with the Windows operating system, the
+FreeBSD command prompt is analogous to the Windows command prompt,
+although the syntax and use varies somewhat. All of the commands in
+this section are performed at the command prompt. Some systems are
+configured to boot into console mode, in which case the user is
+presented with a prompt at login. Other systems are configured to
+start the X window system, in which case the user must open a
+terminal or console window in order to get a command prompt. This
+can usually be done by searching the desktop menus for a terminal
+or console program. While it is customizable, the basic prompt
+usually consists of a short string of information, one of the
+characters #, $, or %, and a cursor
+(possibly flashing) that indicates where the user's input will be
+displayed.
+
Navigating the directory structure
+
FreeBSD has a hierarchical directory structure. From anywhere in
+the directory structure, the ls command will list the contents of that
+directory. The file
+command will print the type of files in a directory. For
+example,
+
+ % file filename
+
+
will print the type of the file filename. Changing directories is done with the
+cd command.
+
+ % cd dirname
+
+
will change the current directory to dirname. From anywhere in the directory
+structure, the command pwd will print the name of the current
+directory. There are two special directories, . and .., which
+refer to the current directory and the next directory up the
+hierarchy, respectively. For any commands that require a file name
+or directory name as an argument, you may specify the absolute or
+the relative paths to those elements. An absolute path begins with
+the "/" character, referring to the top or root of the directory
+structure. A relative path begins with a directory in the current
+working directory. The relative path may begin with . or ... Elements
+of a path are separated with the "/" character. As an example, if
+the current directory is /home/jesse
+and the user wants to change to the /usr/local directory, he can use either of the
+following commands to do so:
+
+ % cd /usr/local
+
+
or
+
+ % cd ../../usr/local
+
+
+
File permissions and ownership
+
All files and directories have permissions and ownership
+associated with them. This is useful for preventing
+non-administrative users from accidentally (or maliciously)
+corrupting the system. The permissions and ownership for a file or
+directory can be determined by passing the -l option to the ls command. For example:
+
+% ls -l
+drwxr-xr-x 2 jesse users 4096 Feb 8 09:32 bin
+drwxrwxrwx 10 jesse users 4096 Feb 10 12:04 pub
+-rw-r--r-- 1 jesse users 45 Feb 4 03:55 testfile
+-rwx------ 1 jesse users 93 Feb 5 06:20 myprogram
+-rw-rw-rw- 1 jesse users 112 Feb 5 06:20 README
+%
+
+
The first character column in the first output field states the
+file type, where 'd' is a directory and '-' is a regular file. The
+next nine columns specify the permissions (see paragraph below) of
+the element. The second field indicates the number of files
+associated with the element, the third field indicates the owner,
+the fourth field indicates the group that the file is associated
+with, the fifth field indicates the size of the element in bytes,
+the sixth, seventh and eighth fields indicate the time at which the
+file was last modified and the ninth field is the name of the
+element.
+
As stated, the last nine columns in the first field indicate the
+permissions of the element. These columns are grouped into threes,
+the first grouping indicating the permissions for the owner of the
+element (jesse in this case), the
+second grouping indicating the permissions for the group associated
+with the element, and the third grouping indicating the permissions
+associated with the rest of the world. The r, w, and
+x indicate read, write and execute
+permissions, respectively, for each of these associations. For
+example, user jesse has read and
+write permissions for testfile, users
+in the group users have read
+permission only, and the rest of the world also has read
+permissions only. However, for the file myprogram, user jesse has read, write and execute permissions
+(suggesting that myprogram is a
+program that can be executed), while the group users and the rest of the world have no
+permissions (suggesting that the owner doesn't want anyone else to
+run his program). The permissions, ownership and group associated
+with an element can be changed with the commands
+chmod,
+chown and
+chgrp, respectively.
+If a user with the appropriate permissions wanted to change the
+user/group ownership of README from
+jesse/users to joe/admin, he would do the following:
+
+ # chown joe README
+ # chgrp admin README
+
+
The syntax for chmod is slightly more complicated and has
+several variations. The most concise way of setting the permissions
+for a single element uses a triplet of numbers, one for each of
+user, group and world. The value for each number in the triplet
+corresponds to a combination of read, write and execute
+permissions. Execute only is represented as 1, write only is
+represented as 2, and read only is represented as 4. Combinations
+of these permissions are represented as sums of the individual
+permissions. Read and execute is represented as 5, where as read,
+write and execute is represented as 7. No permissions is
+represented as 0. Thus, to give the owner read, write and execute
+permissions, the group read and execute permissions and the world
+no permissions, a user would do as follows:
+
+ % chmod 750 myprogram
+
+
+
The shell
+
The shell provides an interface between the user and the
+operating system. It is the job of the shell to interpret the input
+that the user gives at the command prompt and call upon the system
+to do something in response. There are several different shells
+available, each with somewhat different syntax and capabilities.
+The two most common flavors of shells used on FreeBSD stem from the
+Bourne shell (sh) and
+the C-shell (csh)
+Different users have preferences and biases towards one shell or
+the other, and some certainly make it easier (or at least more
+intuitive) to do some things than others. You can determine your
+current shell by printing the value of the SHELL environment variable from the command prompt
+with
+
+ % echo $SHELL
+
+
You can start a new shell simply by entering the name of the
+shell from the command prompt:
+
+ % csh
+
+
or
+
+ % sh
+
+
and you can run a program from within a specific shell by
+preceding the name of the executable with the name of the shell in
+which it will be run:
+
+ % sh myprogram
+
+
The user's default shell at login is determined by whoever set
+up his account. While there are many syntactic differences between
+shells, perhaps the one that is encountered most frequently is the
+way in which environment variables are set.
+
Setting environment variables
+
Every session has associated with it environment variables,
+which consist of name/value pairs and control the way in which the
+shell and programs run from the shell behave. An example of an
+environment variable is the PATH
+variable, which tells the shell which directories to search when
+trying to locate an executable file that the user has entered at
+the command line. If you are certain that a command exists, but the
+shell complains that it cannot be found when you try to execute it,
+there is likely a problem with the PATH
+variable. Environment variables are set differently depending on
+the shell being used. For the Bourne shell (sh), it is done as:
+
+ % export MYVARIABLE="avalue"
+
+
for the C-shell, it is done as:
+
+ % setenv MYVARIABLE "avalue"
+
+
In both cases the quotation marks are only necessary if the
+value contains spaces. The echo command can be used to examine the
+value of an environment variable:
+
+ % echo $MYVARIABLE
+
+
Commands to set environment variables can also include
+references to other environment variables (prepended with the "$"
+character), including themselves. In order to add the path
+/usr/local/bin to the beginning of
+the search path, and the current directory . to the end of the search path, a user would
+enter
+
+ % export PATH=/usr/local/bin:$PATH:.
+
+
in the Bourne shell, and
+
+ % setenv PATH /usr/local/bin:${PATH}:.
+
+
in C-shell. Note the curly braces are required to protect the
+variable name in C-shell.
+
Editing text files
+
There are several text editors available for the FreeBSD
+operating system. Some of these editors require the X window
+system, while others are designed to operate in a console or
+terminal. It is generally a good thing to be competent with a
+terminal-based text editor, as there are times when the files
+necessary for X to run are the ones that must be edited. Three
+popular editors are vi, pico and emacs, each of which can be started from
+the command line, optionally supplying the name of a file to be
+edited. vi is
+arguably the most ubiquitous as well as the least intuitive of the
+three. pico is
+relatively straightforward for a new user, though not as often
+installed on systems. If you don't have pico, you may have a similar editor
+called nano.
+emacs is highly
+extensible and fairly widely available, but can be somewhat
+unwieldy in a non-X environment. The newer versions each come with
+online help, and offline help can be found in the manual and info
+pages for each (see the section on FreeBSD Manual and Info pages).
+Many programs use the EDITOR environment
+variable to determine which text editor to start when editing is
+required.
+
Root user
+
Upon installation, almost all distributions set up the default
+administrative user with the username root. There are many things on the system that
+only root (or a similarly
+privileged user) can do, one of which is installing the NVIDIA
+FreeBSD Driver. We must emphasize that
+assuming the identity of root is
+inherently risky and as root it is
+relatively easy to corrupt your system or otherwise render it
+unusable. There are three ways to become root. You may log in as root as you would any other user, you may use
+the switch user command (su) at the command prompt, or, on some
+systems, use the sudo
+utility, which allows users to run programs as root while keeping a log of their actions. This
+last method is useful in case a user inadvertently causes damage to
+the system and cannot remember what he has done (or prefers not to
+admit what he has done). It is generally a good practice to remain
+root only as long as is necessary
+to accomplish the task requiring root privileges (another useful feature of the
+sudo utility).
+
FreeBSD Manual and Info pages
+
System manual or info pages are usually installed during
+installation. These pages are typically up-to-date and generally
+contain a comprehensive listing of the use of programs and
+utilities on the system. Also, many programs include the
+--help option, which usually prints a
+list of common options for that program. To view the manual page
+for a command, enter
+
+ % man commandname
+
+
at the command prompt, where commandname refers to the command in which you are
+interested. Similarly, entering
+
+ % info commandname
+
+
will bring up the info page for the command. Depending on the
+application, one or the other may be more up-to-date. The interface
+for the info system is interactive and navigable. If you are unable
+to locate the man page for the command you are interested in, you
+may need to add additional elements to your MANPATH environment variable. See the section on
+environment variables.
@@ -80,13 +80,16 @@ tasks are included in the relevant chapters.
About the Audience
It is assumed that the user and reader of this document has at
least a basic understanding of FreeBSD techniques and terminology.
-However, new FreeBSD users can refer to ??? for details on parts of
-the installation process.
diff --git a/doc/html/chapter-02.html b/doc/html/chapter-02.html
index 08e6d70..6e3a204 100644
--- a/doc/html/chapter-02.html
+++ b/doc/html/chapter-02.html
@@ -58,8 +58,8 @@ libraries, and install the NVIDIA OpenGL libraries. The
created (unless the system is using devfs), and your /boot/loader.conf file will be updated to
automatically load the NVIDIA kernel module on boot, as well as the
-Linux ABI compatiability module should you not have it compiled
-into your kernel.
+Linux ABI compatibility module should you not have it compiled into
+your kernel.