import NVIDIA-FreeBSD-x86-180.29
authorSimon Schubert <simon.schubert@epfl.ch>
Thu, 26 Feb 2009 18:52:59 +0000 (19:52 +0100)
committerSimon Schubert <simon.schubert@epfl.ch>
Thu, 26 Feb 2009 18:52:59 +0000 (19:52 +0100)
101 files changed:
Makefile
doc/Makefile
doc/README
doc/gl.h
doc/glext.h
doc/glx.h
doc/glxtokens.h
doc/html/appendix-b.html
doc/html/appendix-c.html
doc/html/appendix-d.html
doc/html/appendix-e.html
doc/html/appendix-f.html
doc/html/appendix-j.html
doc/html/appendix-k-section-02.html [new file with mode: 0644]
doc/html/appendix-k-section-03.html [new file with mode: 0644]
doc/html/appendix-k-section-04.html [new file with mode: 0644]
doc/html/appendix-k-section-05.html [new file with mode: 0644]
doc/html/appendix-k.html [new file with mode: 0644]
doc/html/appendix-l.html [new file with mode: 0644]
doc/html/chapter-01.html
doc/html/chapter-02.html
doc/html/chapter-04-section-02.html
doc/html/chapter-04.html
doc/html/chapter-05.html
doc/html/chapter-06.html
doc/html/chapter-07.html
doc/html/chapter-08.html
doc/html/chapter-09.html
doc/html/chapter-10.html
doc/html/chapter-11.html
doc/html/chapter-12.html
doc/html/chapter-13.html
doc/html/chapter-14.html
doc/html/chapter-16.html
doc/html/chapter-20.html
doc/html/chapter-21.html
doc/html/chapter-22.html
doc/html/chapter-23.html
doc/html/chapter-24.html
doc/html/chapter-25.html
doc/html/chapter-26.html [copied from doc/html/chapter-25.html with 80% similarity]
doc/html/index.html
doc/html/part-01.html
doc/html/part-02.html
doc/vdpau.h [new file with mode: 0755]
doc/vdpau_x11.h [new file with mode: 0755]
lib/Makefile
lib/compat/Makefile
lib/compat/libGL/Makefile
lib/compat/libGLcore/Makefile
lib/compat/libnvidia-tls/Makefile
lib/compat/libvdpau/Makefile [copied from lib/compat/libGL/Makefile with 85% similarity]
lib/compat/libvdpau_nvidia/Makefile [copied from lib/compat/libGL/Makefile with 72% similarity]
lib/compat/libvdpau_trace/Makefile [copied from lib/compat/libGL/Makefile with 72% similarity]
lib/libvdpau/Makefile [new file with mode: 0644]
lib/libvdpau_nvidia/Makefile [new file with mode: 0644]
lib/libvdpau_trace/Makefile [new file with mode: 0644]
obj/libGL.so.1
obj/libGLcore.so.1
obj/libXvMCNVIDIA.a
obj/libXvMCNVIDIA.so.1
obj/libglx.so.1
obj/libnvidia-cfg.so.1
obj/libnvidia-tls.so.1
obj/libnvidia-wfb.so.1
obj/libvdpau.so.1 [new file with mode: 0755]
obj/libvdpau_nvidia.so.1 [new file with mode: 0755]
obj/libvdpau_trace.so.1 [new file with mode: 0755]
obj/linux/libGL.so.169.07 [deleted file]
obj/linux/libGL.so.180.29 [new file with mode: 0755]
obj/linux/libGLcore.so.169.07 [deleted file]
obj/linux/libGLcore.so.180.29 [new file with mode: 0755]
obj/linux/libcuda.so.169.07 [deleted file]
obj/linux/libcuda.so.180.29 [new file with mode: 0755]
obj/linux/libnvidia-cfg.so.169.07 [deleted file]
obj/linux/libnvidia-cfg.so.180.29 [new file with mode: 0755]
obj/linux/libnvidia-tls.so.169.07 [deleted file]
obj/linux/libnvidia-tls.so.180.29 [new file with mode: 0755]
obj/linux/libvdpau.so.180.29 [new file with mode: 0755]
obj/linux/libvdpau_nvidia.so.180.29 [new file with mode: 0755]
obj/linux/libvdpau_trace.so.180.29 [new file with mode: 0755]
obj/nvidia-bug-report.sh
obj/nvidia-settings
obj/nvidia-xconfig
obj/nvidia_drv.so
src/Makefile
src/cpuopsys.h
src/nv-freebsd.h
src/nv-kernel.o
src/nv-reg.h
src/nv.h
src/nvidia_ctl.c
src/nvidia_os.c
src/nvidia_pci.c
src/nvidia_subr.c
src/nvidia_sysctl.c
src/nvtypes.h
src/os-interface.h
src/rmretval.h
x11/man/nvidia-settings.1
x11/man/nvidia-xconfig.1

index ce8dc43..45feb17 100644 (file)
--- 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"
index 4ca8a8e..e3fad2d 100644 (file)
@@ -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/)
 
index 4b704c9..16669cd 100644 (file)
@@ -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
-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 <mdodd 'at' freebsd.org>.
 
 ______________________________________________________________________________
 
-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.
+
index 4f78c54..6663b08 100755 (executable)
--- 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
index 9619d78..f6735a9 100755 (executable)
@@ -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);