summaryrefslogtreecommitdiffstats
path: root/make
diff options
context:
space:
mode:
Diffstat (limited to 'make')
-rw-r--r--make/build-jogl.xml175
-rw-r--r--make/build-nativewindow.xml70
-rw-r--r--make/build-newt.xml132
-rw-r--r--make/config/jogl/cgl-macosx.cfg4
-rwxr-xr-xmake/config/jogl/cglext.cfg4
-rw-r--r--make/config/jogl/egl-common.cfg46
-rwxr-xr-xmake/config/jogl/egl.cfg22
-rwxr-xr-xmake/config/jogl/eglext.cfg84
-rw-r--r--make/config/jogl/gl-common-extensions.cfg10
-rw-r--r--make/config/jogl/gl-common-gl2.cfg8
-rw-r--r--make/config/jogl/gl-common.cfg384
-rwxr-xr-xmake/config/jogl/gl-desktop.cfg3
-rwxr-xr-xmake/config/jogl/gl-es1.cfg12
-rwxr-xr-xmake/config/jogl/gl-es2.cfg6
-rw-r--r--make/config/jogl/gl-gl2.cfg21
-rw-r--r--make/config/jogl/gl-gl2es12.cfg8
-rw-r--r--make/config/jogl/gl-gl3-set.cfg14
-rw-r--r--make/config/jogl/gl-gl3.cfg23
-rwxr-xr-xmake/config/jogl/gl-headers.cfg4
-rw-r--r--make/config/jogl/gl-if-CustomJavaCode-gl.java67
-rw-r--r--make/config/jogl/gl-if-CustomJavaCode-gl2.java19
-rw-r--r--make/config/jogl/gl-if-CustomJavaCode-gl3.java8
-rw-r--r--make/config/jogl/gl-if-gl-ignores.cfg18
-rwxr-xr-xmake/config/jogl/gl-if-gl.cfg2
-rwxr-xr-xmake/config/jogl/gl-if-gl2_es1.cfg10
-rwxr-xr-xmake/config/jogl/gl-if-gl2_es2.cfg4
-rw-r--r--make/config/jogl/gl-if-gl2_gl3.cfg51
-rw-r--r--make/config/jogl/gl-impl-CustomJavaCode-gl2.java13
-rw-r--r--make/config/jogl/gl-impl-CustomJavaCode-gl2es12.java20
-rw-r--r--make/config/jogl/gl-impl-CustomJavaCode-gl3.java12
-rwxr-xr-xmake/config/jogl/gl-impl-CustomJavaCode-gles1.java22
-rwxr-xr-xmake/config/jogl/gl-impl-CustomJavaCode-gles2.java22
-rw-r--r--make/config/jogl/gl3-common.cfg24
-rwxr-xr-xmake/config/jogl/gl3-desktop.cfg1
-rwxr-xr-xmake/config/jogl/gl3-headers.cfg4
-rwxr-xr-xmake/config/jogl/glu-CustomJavaCode-base.java43
-rw-r--r--make/config/jogl/glu-common.cfg2
-rw-r--r--make/config/jogl/glx-x11.cfg5
-rwxr-xr-xmake/config/jogl/glxext.cfg7
-rw-r--r--make/config/jogl/wgl-win32.cfg7
-rw-r--r--make/config/jogl/wglext.cfg7
-rw-r--r--make/doc/jogl/spec-overview.html147
-rw-r--r--make/lsGL23_commons.sh18
-rw-r--r--make/lsGL23_unique.sh18
-rw-r--r--make/lsGL23toGL2ES1_commons.sh18
-rw-r--r--make/lsGL2toGL3_commons.sh16
-rw-r--r--make/make.jogl.all.linux-x86.sh12
-rw-r--r--make/make.jogl.all.linux-x86_64.sh13
-rw-r--r--make/make.jogl.all.win32.bat2
-rw-r--r--make/make.jogl.cdcfp.linux-x86.sh1
-rwxr-xr-xmake/stub_includes/egl/EGL/egl.h7
-rwxr-xr-xmake/stub_includes/egl/EGL/eglext.h58
-rw-r--r--make/stub_includes/opengl/GL/glext.h560
-rw-r--r--make/stub_includes/opengl/GL/glu.h19
-rw-r--r--make/stub_includes/opengl/GL/glx.h10
-rw-r--r--make/stub_includes/opengl/GL/glxext.h18
-rw-r--r--make/stub_includes/opengl/GL/wglext.h7
-rwxr-xr-xmake/stub_includes/opengl/GL3/gl3.h1136
-rw-r--r--make/stub_includes/opengl/GL3/gl3ext.h348
-rwxr-xr-xmake/stub_includes/opengl/GLES/gl.h10
-rwxr-xr-xmake/stub_includes/opengl/GLES/glext.h2
-rwxr-xr-xmake/stub_includes/opengl/GLES2/gl2.h8
-rwxr-xr-xmake/stub_includes/opengl/GLES2/gl2ext.h11
-rw-r--r--make/stub_includes/opengl/gl2es12.c5
-rw-r--r--make/stub_includes/opengl/gl3-64bit-types.h41
-rw-r--r--make/stub_includes/opengl/gl3.c4
-rw-r--r--make/stub_includes/opengl/glu-impl.c3
-rw-r--r--make/stub_includes/win32/wingdi.h9
68 files changed, 2590 insertions, 1309 deletions
diff --git a/make/build-jogl.xml b/make/build-jogl.xml
index c48745da7..846779fed 100644
--- a/make/build-jogl.xml
+++ b/make/build-jogl.xml
@@ -51,8 +51,8 @@
-
- Some environment defs affecting compilation
- - setup.noAWT is set iff:
- !isWindows && !isOSX && !noX11
+ - setup.nodesktop is set iff:
+ !isWindows && !isOSX && !isX11
- Internal settings, may not be necessary to set them manually,
since all JAR archives are orthogonal.
@@ -75,9 +75,9 @@
<!--
- Base initialization and detection of operating system.
-->
- <target name="base.init">
+ <target name="base.init" depends="gluegen.cpptasks.detect.os">
- <condition property="setup.noAWT">
+ <condition property="setup.nodesktop">
<and>
<isfalse value="${isWindows}" />
<isfalse value="${isOSX}" />
@@ -86,25 +86,11 @@
</condition>
<condition property="setup.noall">
- <or>
- <isset property="noX11"/>
- <isset property="setup.noAWT"/>
- </or>
- </condition>
- <condition property="setup.noall-cdc">
- <or>
- <isset property="noX11"/>
- </or>
- </condition>
- <condition property="setup.nodesktop">
- <or>
- <isset property="noX11"/>
- </or>
+ <isset property="setup.noAWT"/>
</condition>
<echo message="setup.nodesktop: ${setup.nodesktop}" />
<echo message="setup.noall: ${setup.noall}" />
- <echo message="setup.noall-cdc: ${setup.noall-cdc}" />
<echo message="setup.noAWT: ${setup.noAWT}" />
<echo message="setup.noCDC: ${setup.noCDC}" />
@@ -157,7 +143,7 @@
value="com/sun/opengl/impl/**/gl2/**"/>
<property name="java.part.gl2.dbg"
- value="javax/media/opengl/TraceGL2.* javax/media/opengl/DebugGL2.*"/>
+ value="javax/media/opengl/TraceGL2.* javax/media/opengl/DebugGL2.* javax/media/opengl/TraceGL2GL3.* javax/media/opengl/DebugGL2GL3.*"/>
<property name="java.part.es1"
value="javax/media/opengl/**/es1/** com/sun/opengl/**/es1/**"/>
@@ -651,6 +637,25 @@
</gluegen>
</target>
+ <target name="java.generate.gl2_gl3_if">
+ <echo message="Generating GL2_GL3 interface" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <gluegen src="${stub.includes.opengl}/gl3.c"
+ outputRootDir="${build}"
+ config="${config}/gl-gl3-set.cfg"
+ includeRefid="stub.includes.fileset.all.gl2"
+ emitter="com.sun.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ <gluegen src="${stub.includes.opengl}/gl2.c"
+ outputRootDir="${build}"
+ config="${config}/gl-if-gl2_gl3.cfg"
+ includeRefid="stub.includes.fileset.all.gl2"
+ emitter="com.sun.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ </target>
+
<target name="java.generate.gl2">
<echo message="Generating GL2 interface and implementation" />
<antcall target="java.generate.copy2temp" inheritRefs="true" />
@@ -711,7 +716,7 @@
</gluegen>
</target>
- <target name="java.generate.gl.all" depends="java.generate.gl_if, java.generate.gl2_es1_if, java.generate.gl2_es2_if, java.generate.gl2, java.generate.gl3, java.generate.gl2es12, java.generate.gles1, java.generate.gles2"/>
+ <target name="java.generate.gl.all" depends="java.generate.gl_if, java.generate.gl2_es1_if, java.generate.gl2_es2_if, java.generate.gl2_gl3_if, java.generate.gl2, java.generate.gl3, java.generate.gl2es12, java.generate.gles1, java.generate.gles2"/>
<!-- target name="java.generate.gl.nsig" if="gluegen.nsig">
<echo message="Generating GL interface and implementation" />
@@ -1033,9 +1038,14 @@
<arg value="${src.generated.java}/javax/media/opengl" />
<classpath refid="pipeline.classpath" />
</java>
+ <java classname="com.sun.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true">
+ <arg value="javax.media.opengl.GL2GL3" />
+ <arg value="${src.generated.java}/javax/media/opengl" />
+ <classpath refid="pipeline.classpath" />
+ </java>
<copy todir="${src.generated.java-cdc}">
<fileset dir="${src.generated.java}"
- includes="javax/media/opengl/DebugGL2.java javax/media/opengl/TraceGL2.java" />
+ includes="javax/media/opengl/DebugGL2.java javax/media/opengl/TraceGL2.java javax/media/opengl/DebugGL2GL3.java javax/media/opengl/TraceGL2GL3.java" />
</copy>
</target>
@@ -1098,7 +1108,7 @@
<!-- Perform the first pass Java compile. -->
<javac destdir="${classes}"
- includes="javax/media/opengl/fixedfunc/** javax/media/opengl/GLDrawableFactory.java javax/media/opengl/GLDrawable.java javax/media/opengl/GLContext.java javax/media/opengl/GL.java javax/media/opengl/GL2ES1.java javax/media/opengl/GL2ES2.java javax/media/opengl/GL2.java javax/media/opengl/GLES1.java javax/media/opengl/GLES2.java javax/media/opengl/GL3.java"
+ includes="javax/media/opengl/fixedfunc/** javax/media/opengl/GLDrawableFactory.java javax/media/opengl/GLDrawable.java javax/media/opengl/GLContext.java javax/media/opengl/GL.java javax/media/opengl/GL2ES1.java javax/media/opengl/GL2ES2.java javax/media/opengl/GL2GL3.java javax/media/opengl/GL2.java javax/media/opengl/GLES1.java javax/media/opengl/GLES2.java javax/media/opengl/GL3.java"
fork="yes"
memoryMaximumSize="${javac.memorymax}"
source="1.4" debug="${javacdebug}" debuglevel="${javacdebuglevel}">
@@ -1199,12 +1209,9 @@
<!-- linker configuration -->
- <linker id="linker.cfg.linux.jogl.x11" extends="linker.cfg.linux">
+ <linker id="linker.cfg.linux.jogl.gl2" extends="linker.cfg.linux">
<syslibset dir="/usr/X11R6/lib" libs="X11"/>
<syslibset dir="/usr/X11R6/lib" libs="Xxf86vm" />
- </linker>
-
- <linker id="linker.cfg.linux.jogl.gl2" extends="linker.cfg.linux.jogl.x11">
<syslibset dir="/usr/X11R6/lib" libs="GL"/>
</linker>
@@ -1289,8 +1296,6 @@
<target name="c.configure.win32.vc" if="isVCFamily">
<echo message="Win32.VC" />
<property name="compiler.cfg.id" value="compiler.cfg.win32.msvc" />
- <property name="linker.cfg.id.core" value="linker.cfg.win32.msvc" />
- <property name="linker.cfg.id.oswin" value="linker.cfg.win32.msvc.jogl" />
<property name="linker.cfg.id.gl2" value="linker.cfg.win32.msvc.jogl" />
<property name="linker.cfg.id.cg" value="linker.cfg.win32.msvc.jogl.cg" />
</target>
@@ -1298,8 +1303,6 @@
<target name="c.configure.win32.mingw" if="isMingW">
<echo message="Win32.MingW" />
<property name="compiler.cfg.id" value="compiler.cfg.win32.mingw" />
- <property name="linker.cfg.id.core" value="linker.cfg.win32.mingw" />
- <property name="linker.cfg.id.oswin" value="linker.cfg.win32.mingw.jogl" />
<property name="linker.cfg.id.gl2" value="linker.cfg.win32.mingw.jogl" />
<property name="linker.cfg.id.cg" value="linker.cfg.win32.mingw.jogl.cg" />
</target>
@@ -1307,8 +1310,6 @@
<target name="c.configure.linux.x86" if="isLinuxX86">
<echo message="Linux.x86" />
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
- <property name="linker.cfg.id.core" value="linker.cfg.linux" />
- <property name="linker.cfg.id.oswin" value="linker.cfg.linux.jogl.x11" />
<property name="linker.cfg.id.gl2" value="linker.cfg.linux.jogl.gl2" />
<property name="linker.cfg.id.cg" value="linker.cfg.linux.jogl.cg" />
</target>
@@ -1316,8 +1317,6 @@
<target name="c.configure.linux.amd64" if="isLinuxAMD64">
<echo message="Linux.AMD64" />
<property name="compiler.cfg.id" value="compiler.cfg.linux.amd64" />
- <property name="linker.cfg.id.core" value="linker.cfg.linux.amd64" />
- <property name="linker.cfg.id.oswin" value="linker.cfg.linux.amd64.jogl.x11" />
<property name="linker.cfg.id.gl2" value="linker.cfg.linux.amd64.jogl.gl2" />
<property name="linker.cfg.id.cg" value="linker.cfg.linux.amd64.jogl.cg" />
</target>
@@ -1325,8 +1324,6 @@
<target name="c.configure.linux.ia64" if="isLinuxIA64">
<echo message="Linux.IA64" />
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
- <property name="linker.cfg.id.core" value="linker.cfg.linux" />
- <property name="linker.cfg.id.oswin" value="linker.cfg.linux.jogl.x11" />
<property name="linker.cfg.id.gl2" value="linker.cfg.linux.jogl.gl2" />
<property name="linker.cfg.id.cg" value="linker.cfg.linux.jogl.cg" />
</target>
@@ -1336,8 +1333,6 @@
<target name="c.configure.solaris32" depends="c.configure.x11" if="isSolaris32Bit">
<echo message="Solaris" />
<property name="compiler.cfg.id" value="compiler.cfg.solaris" />
- <property name="linker.cfg.id.core" value="linker.cfg.solaris" />
- <property name="linker.cfg.id.oswin" value="linker.cfg.solaris.jogl.x11" />
<property name="linker.cfg.id.gl2" value="linker.cfg.solaris.jogl.gl2" />
<property name="linker.cfg.id.cg" value="linker.cfg.solaris.jogl.cg" />
</target>
@@ -1346,8 +1341,6 @@
<target name="c.configure.solaris.sparcv9" depends="c.configure.x11" if="isSolarisSparcv9">
<echo message="SolarisSparcv9" />
<property name="compiler.cfg.id" value="compiler.cfg.solaris.sparcv9" />
- <property name="linker.cfg.id.core" value="linker.cfg.solaris.sparcv9" />
- <property name="linker.cfg.id.oswin" value="linker.cfg.solaris.sparcv9.jogl.x11" />
<property name="linker.cfg.id.gl2" value="linker.cfg.solaris.sparcv9.jogl.gl2" />
<property name="linker.cfg.id.cg" value="linker.cfg.solaris.sparcv9.jogl.cg" />
</target>
@@ -1356,8 +1349,6 @@
<target name="c.configure.solaris.amd64" depends="c.configure.x11" if="isSolarisAMD64">
<echo message="SolarisAMD64" />
<property name="compiler.cfg.id" value="compiler.cfg.solaris.amd64" />
- <property name="linker.cfg.id.core" value="linker.cfg.solaris.amd64" />
- <property name="linker.cfg.id.oswin" value="linker.cfg.solaris.amd64.jogl.x11" />
<property name="linker.cfg.id.gl2" value="linker.cfg.solaris.amd64.jogl.gl2" />
<property name="linker.cfg.id.cg" value="linker.cfg.solaris.amd64.jogl.cg" />
</target>
@@ -1365,8 +1356,6 @@
<target name="c.configure.freebsd" depends="c.configure.x11" if="isFreeBSD">
<echo message="FreeBSD" />
<property name="compiler.cfg.id" value="compiler.cfg.freebsd.jogl" />
- <property name="linker.cfg.id.core" value="linker.cfg.linux" />
- <property name="linker.cfg.id.oswin" value="linker.cfg.linux.jogl.x11" />
<property name="linker.cfg.id.gl2" value="linker.cfg.linux.jogl.gl2" />
<property name="linker.cfg.id.cg" value="linker.cfg.linux.jogl.cg" />
</target>
@@ -1374,8 +1363,6 @@
<target name="c.configure.hpux" depends="c.configure.x11" if="isHPUX">
<echo message="HP-UX" />
<property name="compiler.cfg.id" value="compiler.cfg.hpux" />
- <property name="linker.cfg.id.core" value="linker.cfg.hpux" />
- <property name="linker.cfg.id.oswin" value="linker.cfg.hpux.jogl.x11" />
<property name="linker.cfg.id.gl2" value="linker.cfg.hpux.jogl.gl2" />
<property name="linker.cfg.id.cg" value="linker.cfg.hpux.jogl.cg" />
</target>
@@ -1386,8 +1373,6 @@
<target name="c.configure.macosx" if="isOSX">
<property name="compiler.cfg.id" value="compiler.cfg.macosx" />
- <property name="linker.cfg.id.core" value="linker.cfg.macosx" />
- <property name="linker.cfg.id.oswin" value="linker.cfg.macosx.jogl" />
<property name="linker.cfg.id.gl2" value="linker.cfg.macosx.jogl" />
<property name="linker.cfg.id.cg" value="linker.cfg.macosx.jogl.cg" />
</target>
@@ -1546,7 +1531,7 @@
</macrodef>
<target name="c.build.jogl.prepare.openMAX" if="useOpenMAX">
- <javah destdir="${build}/gensrc/native/openmax" classpath="${classes-cdc}" class="com.sun.openmax.OMXInstance" />
+ <javah destdir="${src.generated.c.openmax}" classpath="${classes-cdc}" class="com.sun.openmax.OMXInstance" />
</target>
<target name="c.build.jogl.prepare" depends="c.build.jogl.prepare.openMAX">
@@ -1606,12 +1591,12 @@
<target name="c.build.jogl" depends="c.configure,c.build.jogl.prepare,c.build.jogl.gl2es12,c.build.jogl.gl2,c.build.jogl.es2,c.build.jogl.es1,c.build.jogl.cg">
<antcall target="c.manifest" inheritRefs="true" />
<!-- Create the Java Web Start jar file for the built native code -->
- <jar destfile="${build}/jogl-natives-${os.and.arch}.jar">
+ <jar destfile="${build}/jogl-natives-${os.and.arch}.jar" filesonly="true">
<fileset dir="${obj}">
<include name="*.${native.library.suffix}" />
</fileset>
</jar>
- <jar destfile="${build}/jogl-natives-${os.and.arch}-cdc.jar">
+ <jar destfile="${build}/jogl-natives-${os.and.arch}-cdc.jar" filesonly="true">
<fileset dir="${obj}">
<include name="*_es1.${native.library.suffix-cdc}" />
<include name="*_es2.${native.library.suffix-cdc}" />
@@ -1675,24 +1660,24 @@
</target>
<target name="build-cg-jar" depends="setup-manifestfile" if="jogl.cg">
- <jar manifest="${build}/tempversion" destfile="${jogl.cg.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.cg.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.nv-cg}"/>
</jar>
</target>
<target name="build-jars-es-desktop" depends="setup-manifestfile" unless="setup.nodesktop">
- <jar manifest="${build}/tempversion" destfile="${jogl.gl2es12.x11.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.gl2es12.x11.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.glx}, ${java.part.gl2es12}, ${java.part.openmax}"
excludes="${java.part.glugl2}"/>
</jar>
- <jar manifest="${build}/tempversion" destfile="${jogl.gl2es12.win.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.gl2es12.win.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.wgl}, ${java.part.gl2es12}, ${java.part.openmax}"
excludes="${java.part.glugl2}"/>
</jar>
- <jar manifest="${build}/tempversion" destfile="${jogl.gl2es12.osx.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.gl2es12.osx.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.cgl}, ${java.part.gl2es12}, ${java.part.openmax}"
excludes="${java.part.glugl2}"/>
@@ -1700,43 +1685,43 @@
</target>
<target name="build-jars-es" depends="setup-manifestfile,build-jars-es-desktop">
- <jar manifest="${build}/tempversion" destfile="${jogl.egl.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.egl.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.egl}"
excludes="${java.part.awt}"/>
</jar>
- <jar manifest="${build}/tempversion" destfile="${jogl.gles1.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.gles1.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.es1}"
excludes="${java.part.es1.dbg}"/>
</jar>
- <jar manifest="${build}/tempversion" destfile="${jogl.gles1.dbg.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.gles1.dbg.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.es1.dbg}"/>
</jar>
- <jar manifest="${build}/tempversion" destfile="${jogl.gles2.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.gles2.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.es2}, ${java.part.openmax}"
excludes="${java.part.es2.dbg}"/>
</jar>
- <jar manifest="${build}/tempversion" destfile="${jogl.gles2.dbg.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.gles2.dbg.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.es2.dbg}"/>
</jar>
</target>
<target name="build-jars-es-desktop-cdc" depends="setup-manifestfile-cdc" unless="setup.nodesktop">
- <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gl2es12.x11.cdc.jar}">
+ <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gl2es12.x11.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.glx}, ${java.part.gl2es12}, ${java.part.openmax}"
excludes="${java.part.glugl2}"/>
</jar>
- <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gl2es12.win.cdc.jar}">
+ <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gl2es12.win.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.wgl}, ${java.part.gl2es12}, ${java.part.openmax}"
excludes="${java.part.glugl2}"/>
</jar>
- <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gl2es12.osx.cdc.jar}">
+ <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gl2es12.osx.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.cgl}, ${java.part.gl2es12}, ${java.part.openmax}"
excludes="${java.part.glugl2}"/>
@@ -1744,44 +1729,44 @@
</target>
<target name="build-jars-es-cdc" depends="setup-manifestfile-cdc,build-jars-es-desktop-cdc" unless="setup.noCDC">
- <jar manifest="${build}/tempversion-cdc" destfile="${jogl.egl.cdc.jar}">
+ <jar manifest="${build}/tempversion-cdc" destfile="${jogl.egl.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.egl}"
excludes="${java.part.awt}"/>
</jar>
- <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gles1.cdc.jar}">
+ <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gles1.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.es1}"
excludes="${java.part.es1.dbg}"/>
</jar>
- <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gles1.dbg.cdc.jar}">
+ <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gles1.dbg.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.es1.dbg}"/>
</jar>
- <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gles2.cdc.jar}">
+ <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gles2.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.es2}, ${java.part.openmax}"
excludes="${java.part.es2.dbg}"/>
</jar>
- <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gles2.dbg.cdc.jar}">
+ <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gles2.dbg.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.es2.dbg}"/>
</jar>
</target>
<target name="build-jars-awt" depends="setup-manifestfile" unless="setup.noAWT">
- <jar manifest="${build}/tempversion" destfile="${jogl.awt.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.awt.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.awt}" />
</jar>
- <jar manifest="${build}/tempversion" destfile="${jogl.util.awt.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.util.awt.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.util.awt}"/>
</jar>
</target>
<target name="build-jars-all" depends="setup-manifestfile" unless="setup.noall">
- <jar manifest="${build}/tempversion" destfile="${jogl.all.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.all.jar}" filesonly="true">
<fileset dir="${classes}">
<include name="javax/media/opengl/**" />
<include name="com/sun/gluegen/runtime/**" />
@@ -1791,11 +1776,11 @@
<include name="com/sun/javafx/**" />
</fileset>
<fileset dir="${src.java}"
- includes="${java.part.util.fixedfunc.shaders}"/>
+ includes="${java.part.util.fixedfuncemu.shadercode}"/>
</jar>
</target>
- <target name="build-jars-all-cdc" depends="setup-manifestfile" unless="setup.noall-cdc">
- <jar manifest="${build}/tempversion-cdc" destfile="${jogl.all.cdc.jar}">
+ <target name="build-jars-all-cdc" depends="setup-manifestfile">
+ <jar manifest="${build}/tempversion-cdc" destfile="${jogl.all.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.core} ${java.part.egl} ${java.part.glutess} ${java.part.glumipmap} ${java.part.openmax} ${java.part.sdk} ${java.part.glx} ${java.part.cgl} ${java.part.gl2es12} ${java.part.wgl} ${java.part.es1} ${java.part.es1.dbg} ${java.part.es2} ${java.part.es2.dbg} ${java.part.util} ${java.part.util.glsl} ${java.part.util.fixedfuncemu}"
excludes="${java.excludes.cdcfp}"/>
@@ -1806,25 +1791,25 @@
<target name="build-jars-cdc" depends="setup-manifestfile-cdc, build-jars-es-cdc, build-jars-all-cdc" unless="setup.noCDC">
- <jar manifest="${build}/tempversion-cdc" destfile="${jogl.core.cdc.jar}">
+ <jar manifest="${build}/tempversion-cdc" destfile="${jogl.core.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.core}"
excludes="${java.part.core.exclude}"/>
</jar>
- <jar manifest="${build}/tempversion-cdc" destfile="${jogl.glutess.cdc.jar}">
+ <jar manifest="${build}/tempversion-cdc" destfile="${jogl.glutess.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.glutess}"/>
</jar>
- <jar manifest="${build}/tempversion-cdc" destfile="${jogl.glumipmap.cdc.jar}">
+ <jar manifest="${build}/tempversion-cdc" destfile="${jogl.glumipmap.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.glumipmap}"/>
</jar>
- <jar manifest="${build}/tempversion-cdc" destfile="${jogl.util.cdc.jar}">
+ <jar manifest="${build}/tempversion-cdc" destfile="${jogl.util.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.util} ${java.part.util.glsl}"
excludes="${java.part.util.awt} ${java.part.util.gl2} ${java.part.util.fixedfuncemu}"/>
</jar>
- <jar manifest="${build}/tempversion-cdc" destfile="${jogl.util.fixedfuncemu.cdc.jar}">
+ <jar manifest="${build}/tempversion-cdc" destfile="${jogl.util.fixedfuncemu.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.util.fixedfuncemu}"/>
<fileset dir="${src.java}"
@@ -1833,30 +1818,30 @@
</target>
<target name="build-jars-desktop-javase" depends="setup-manifestfile" unless="setup.nodesktop">
- <jar manifest="${build}/tempversion" destfile="${jogl.gl2.x11.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.gl2.x11.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.glx}, ${java.part.gl2}, ${java.part.gl3}, ${java.part.openmax}"
- excludes="${java.part.gl2.dbg}, ${java.part.glugl2}"/>
+ excludes="${java.part.gl2.dbg}, ${java.part.gl3.dbg}, ${java.part.glugl2}"/>
</jar>
- <jar manifest="${build}/tempversion" destfile="${jogl.gl2.win.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.gl2.win.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.wgl}, ${java.part.gl2}, $${java.part.gl3}, {java.part.openmax}"
- excludes="${java.part.gl2.dbg}, ${java.part.glugl2}"/>
+ excludes="${java.part.gl2.dbg}, ${java.part.gl3.dbg}, ${java.part.glugl2}"/>
</jar>
- <jar manifest="${build}/tempversion" destfile="${jogl.gl2.osx.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.gl2.osx.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.cgl}, ${java.part.gl2}, $${java.part.gl3}, {java.part.openmax}"
- excludes="${java.part.gl2.dbg}, ${java.part.glugl2}"/>
+ excludes="${java.part.gl2.dbg}, ${java.part.gl3.dbg}, ${java.part.glugl2}"/>
</jar>
- <jar manifest="${build}/tempversion" destfile="${jogl.gl2.dbg.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.gl2.dbg.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.gl2.dbg} ${java.part.gl3.dbg}"/>
</jar>
- <jar manifest="${build}/tempversion" destfile="${jogl.glugl2.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.glugl2.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.glugl2}"/>
</jar>
- <jar manifest="${build}/tempversion" destfile="${jogl.util.gl2.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.util.gl2.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.util.gl2}"
excludes="com/sun/opengl/**/awt/**"/>
@@ -1864,29 +1849,29 @@
</target>
<target name="build-jars-javase" depends="setup-manifestfile, build-jars-es, build-jars-awt, build-cg-jar, build-jars-all, build-jars-desktop-javase">
- <jar manifest="${build}/tempversion" destfile="${jogl.core.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.core.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.core}"
excludes="${java.part.core.exclude}"/>
</jar>
- <jar manifest="${build}/tempversion" destfile="${jogl.sdk.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.sdk.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.sdk}"/>
</jar>
- <jar manifest="${build}/tempversion" destfile="${jogl.glutess.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.glutess.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.glutess}"/>
</jar>
- <jar manifest="${build}/tempversion" destfile="${jogl.glumipmap.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.glumipmap.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.glumipmap}"/>
</jar>
- <jar manifest="${build}/tempversion" destfile="${jogl.util.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.util.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.util} ${java.part.util.glsl}"
excludes="${java.part.util.awt} ${java.part.util.gl2} ${java.part.util.fixedfuncemu}"/>
</jar>
- <jar manifest="${build}/tempversion" destfile="${jogl.util.fixedfuncemu.jar}">
+ <jar manifest="${build}/tempversion" destfile="${jogl.util.fixedfuncemu.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.util.fixedfuncemu}"/>
<fileset dir="${src.java}"
diff --git a/make/build-nativewindow.xml b/make/build-nativewindow.xml
index 79e6b93ae..ce7081464 100644
--- a/make/build-nativewindow.xml
+++ b/make/build-nativewindow.xml
@@ -44,8 +44,8 @@
-
- Some environment defs affecting compilation
- - setup.noAWT is set iff:
- !isWindows && !isOSX && !noX11
+ - setup.nodesktop is set iff:
+ !isWindows && !isOSX && !isX11
- Internal settings, may not be necessary to set them manually,
since all JAR archives are orthogonal.
@@ -66,9 +66,9 @@
<!--
- Base initialization and detection of operating system.
-->
- <target name="base.init">
+ <target name="base.init" depends="gluegen.cpptasks.detect.os">
- <condition property="setup.noAWT">
+ <condition property="setup.nodesktop">
<and>
<isfalse value="${isWindows}" />
<isfalse value="${isOSX}" />
@@ -76,23 +76,23 @@
</and>
</condition>
- <condition property="setup.noall">
+ <condition property="setup.noNativeAWT">
<or>
- <isset property="noX11"/>
<isset property="setup.noAWT"/>
+ <isset property="setup.nodesktop"/>
</or>
</condition>
- <condition property="setup.noall-cdc">
- <or>
- <isset property="noX11"/>
- </or>
+
+ <condition property="setup.noall">
+ <isset property="setup.noAWT"/>
</condition>
<property name="javac.bootclasspath-cdc.jar" value="../../gluegen/make/lib/cdc_fp.jar" />
+ <echo message="setup.nodesktop: ${setup.nodesktop}" />
<echo message="setup.noall: ${setup.noall}" />
- <echo message="setup.noall-cdc: ${setup.noall-cdc}" />
<echo message="setup.noAWT: ${setup.noAWT}" />
+ <echo message="setup.noNativeAWT: ${setup.noNativeAWT}" />
<echo message="javac.bootclasspath-cdc.jar: ${javac.bootclasspath-cdc.jar}" />
<!-- partitioning -->
@@ -108,17 +108,12 @@
<!-- condition excludes -->
- <condition property="java.excludes.x11"
- value="${java.part.x11}">
- <isset property="noX11"/>
- </condition>
-
<condition property="java.excludes.awt"
value="${java.part.awt}">
<isset property="setup.noAWT"/>
</condition>
- <property name="java.excludes.all" value="${java.excludes.awt} ${java.excludes.x11}" />
+ <property name="java.excludes.all" value="${java.excludes.awt}" />
<echo message="java.excludes.all: ${java.excludes.all}" />
@@ -533,35 +528,30 @@
<target name="c.configure.win32.vc" if="isVCFamily">
<echo message="Win32.VC" />
<property name="compiler.cfg.id" value="compiler.cfg.win32.msvc" />
- <property name="linker.cfg.id.core" value="linker.cfg.win32.msvc" />
<property name="linker.cfg.id.oswin" value="linker.cfg.win32.msvc.nativewindow" />
</target>
<target name="c.configure.win32.mingw" if="isMingW">
<echo message="Win32.MingW" />
<property name="compiler.cfg.id" value="compiler.cfg.win32.mingw" />
- <property name="linker.cfg.id.core" value="linker.cfg.win32.mingw" />
<property name="linker.cfg.id.oswin" value="linker.cfg.win32.mingw.nativewindow" />
</target>
<target name="c.configure.linux.x86" if="isLinuxX86">
<echo message="Linux.x86" />
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
- <property name="linker.cfg.id.core" value="linker.cfg.linux" />
<property name="linker.cfg.id.oswin" value="linker.cfg.linux.nativewindow.x11" />
</target>
<target name="c.configure.linux.amd64" if="isLinuxAMD64">
<echo message="Linux.AMD64" />
<property name="compiler.cfg.id" value="compiler.cfg.linux.amd64" />
- <property name="linker.cfg.id.core" value="linker.cfg.linux.amd64" />
<property name="linker.cfg.id.oswin" value="linker.cfg.linux.amd64.nativewindow.x11" />
</target>
<target name="c.configure.linux.ia64" if="isLinuxIA64">
<echo message="Linux.IA64" />
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
- <property name="linker.cfg.id.core" value="linker.cfg.linux" />
<property name="linker.cfg.id.oswin" value="linker.cfg.linux.nativewindow.x11" />
</target>
@@ -570,7 +560,6 @@
<target name="c.configure.solaris32" depends="c.configure.x11" if="isSolaris32Bit">
<echo message="Solaris" />
<property name="compiler.cfg.id" value="compiler.cfg.solaris" />
- <property name="linker.cfg.id.core" value="linker.cfg.solaris" />
<property name="linker.cfg.id.oswin" value="linker.cfg.solaris.nativewindow.x11" />
</target>
@@ -578,7 +567,6 @@
<target name="c.configure.solaris.sparcv9" depends="c.configure.x11" if="isSolarisSparcv9">
<echo message="SolarisSparcv9" />
<property name="compiler.cfg.id" value="compiler.cfg.solaris.sparcv9" />
- <property name="linker.cfg.id.core" value="linker.cfg.solaris.sparcv9" />
<property name="linker.cfg.id.oswin" value="linker.cfg.solaris.sparcv9.nativewindow.x11" />
</target>
@@ -586,21 +574,18 @@
<target name="c.configure.solaris.amd64" depends="c.configure.x11" if="isSolarisAMD64">
<echo message="SolarisAMD64" />
<property name="compiler.cfg.id" value="compiler.cfg.solaris.amd64" />
- <property name="linker.cfg.id.core" value="linker.cfg.solaris.amd64" />
<property name="linker.cfg.id.oswin" value="linker.cfg.solaris.amd64.nativewindow.x11" />
</target>
<target name="c.configure.freebsd" depends="c.configure.x11" if="isFreeBSD">
<echo message="FreeBSD" />
<property name="compiler.cfg.id" value="compiler.cfg.freebsd.nativewindow" />
- <property name="linker.cfg.id.core" value="linker.cfg.linux" />
<property name="linker.cfg.id.oswin" value="linker.cfg.linux.nativewindow.x11" />
</target>
<target name="c.configure.hpux" depends="c.configure.x11" if="isHPUX">
<echo message="HP-UX" />
<property name="compiler.cfg.id" value="compiler.cfg.hpux" />
- <property name="linker.cfg.id.core" value="linker.cfg.hpux" />
<property name="linker.cfg.id.oswin" value="linker.cfg.hpux.nativewindow.x11" />
</target>
@@ -610,7 +595,6 @@
<target name="c.configure.macosx" if="isOSX">
<property name="compiler.cfg.id" value="compiler.cfg.macosx" />
- <property name="linker.cfg.id.core" value="linker.cfg.macosx" />
<property name="linker.cfg.id.oswin" value="linker.cfg.macosx.nativewindow" />
</target>
@@ -733,7 +717,7 @@
</sequential>
</macrodef>
- <target name="c.fixup.jawt.version.macosx" if="isOSX" unless="setup.noAWT">
+ <target name="c.fixup.jawt.version.macosx" if="isOSX" unless="setup.noNativeAWT">
<!-- Edit the link to the JAWT version in the resulting jnilib
file; this isn't strictly needed but seems to allow the
universal binaries to work on 10.3 machines as well, which
@@ -751,10 +735,10 @@
<c.build c.compiler.src.files="c.src.files.jvm"
output.lib.name="nativewindow_jvm"
compiler.cfg.id="${compiler.cfg.id}"
- linker.cfg.id="${linker.cfg.id.oswin}"/>
+ linker.cfg.id="${linker.cfg.id.base}"/>
</target>
- <target name="c.build.nativewindow.awt" unless="setup.noAWT">
+ <target name="c.build.nativewindow.awt" unless="setup.noNativeAWT">
<c.build c.compiler.src.files="c.src.files.awt"
c.compiler.use-jawt="true"
output.lib.name="nativewindow_awt"
@@ -781,12 +765,12 @@
<antcall target="c.fixup.jawt.version.macosx" inheritrefs="true" />
<antcall target="c.manifest" inheritRefs="true" />
<!-- Create the Java Web Start jar file for the built native code -->
- <jar destfile="${build}/nativewindow-natives-${os.and.arch}.jar">
+ <jar destfile="${build}/nativewindow-natives-${os.and.arch}.jar" filesonly="true">
<fileset dir="${obj}">
<include name="*.${native.library.suffix}" />
</fileset>
</jar>
- <jar destfile="${build}/nativewindow-natives-${os.and.arch}-cdc.jar">
+ <jar destfile="${build}/nativewindow-natives-${os.and.arch}-cdc.jar" filesonly="true">
<fileset dir="${obj}">
<include name="*_jvm.${native.library.suffix-cdc}" />
<include name="*_x11.${native.library.suffix-cdc}" />
@@ -846,28 +830,28 @@
<target name="build-jars-awt" depends="setup-manifestfile" unless="setup.noAWT">
- <jar manifest="tempversion" destfile="${nativewindow.awt.jar}">
+ <jar manifest="tempversion" destfile="${nativewindow.awt.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.awt}"
excludes="${java.excludes.awt}"/>
</jar>
</target>
- <target name="build-jars-x11" depends="setup-manifestfile" unless="noX11">
- <jar manifest="tempversion" destfile="${nativewindow.x11.jar}">
+ <target name="build-jars-x11" depends="setup-manifestfile">
+ <jar manifest="tempversion" destfile="${nativewindow.x11.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.x11}" />
</jar>
</target>
- <target name="build-jars-x11-cdc" depends="setup-manifestfile-cdc" unless="noX11">
- <jar manifest="tempversion-cdc" destfile="${nativewindow.x11.cdc.jar}">
+ <target name="build-jars-x11-cdc" depends="setup-manifestfile-cdc">
+ <jar manifest="tempversion-cdc" destfile="${nativewindow.x11.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.x11}" />
</jar>
</target>
<target name="build-jars-all" depends="setup-manifestfile" unless="setup.noall">
- <jar manifest="tempversion" destfile="${nativewindow.all.jar}">
+ <jar manifest="tempversion" destfile="${nativewindow.all.jar}" filesonly="true">
<fileset dir="${classes}">
<include name="javax/media/nativewindow/**" />
<include name="com/sun/nativewindow/**" />
@@ -876,8 +860,8 @@
</fileset>
</jar>
</target>
- <target name="build-jars-all-cdc" depends="setup-manifestfile-cdc" unless="setup.noall-cdc">
- <jar manifest="tempversion-cdc" destfile="${nativewindow.all.cdc.jar}">
+ <target name="build-jars-all-cdc" depends="setup-manifestfile-cdc">
+ <jar manifest="tempversion-cdc" destfile="${nativewindow.all.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}">
<include name="javax/media/nativewindow/**" />
<include name="com/sun/nativewindow/**" />
@@ -887,7 +871,7 @@
</target>
<target name="build-jars-javase" depends="setup-manifestfile,build-jars-awt,build-jars-x11,build-jars-all">
- <jar manifest="tempversion" destfile="${nativewindow.core.jar}">
+ <jar manifest="tempversion" destfile="${nativewindow.core.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.core}"
excludes="${java.part.awt} ${java.part.x11}"/>
@@ -896,7 +880,7 @@
</target>
<target name="build-jars-cdc" depends="setup-manifestfile-cdc,build-jars-x11-cdc,build-jars-all-cdc">
- <jar manifest="tempversion-cdc" destfile="${nativewindow.core.cdc.jar}">
+ <jar manifest="tempversion-cdc" destfile="${nativewindow.core.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.core}"
excludes="${java.part.awt} ${java.part.x11}"/>
diff --git a/make/build-newt.xml b/make/build-newt.xml
index 8ef77c7c7..079d2e154 100644
--- a/make/build-newt.xml
+++ b/make/build-newt.xml
@@ -50,8 +50,8 @@
setup.noAWT
setup.noOpenGL
- - setup.noAWT is set iff:
- !isWindows && !isOSX && !noX11
+ - setup.nodesktop is set iff:
+ !isWindows && !isOSX && !isX11
-->
<project name="NEWT" basedir="." default="all">
@@ -69,41 +69,42 @@
<!--
- Base initialization and detection of operating system.
-->
- <target name="base.init">
+ <target name="base.init" depends="gluegen.cpptasks.detect.os">
<property name="javac.bootclasspath-cdc.jar" value="../../gluegen/make/lib/cdc_fp.jar"/>
- <condition property="setup.noAWT">
+ <condition property="setup.nodesktop">
<and>
<isfalse value="${isWindows}" />
<isfalse value="${isOSX}" />
<isfalse value="${isX11}" />
</and>
</condition>
+
<condition property="setup.noall">
- <or>
- <isset property="noX11"/>
- <isset property="setup.noAWT"/>
- </or>
- </condition>
- <condition property="setup.noall-cdc">
- <or>
- <isset property="noX11"/>
- </or>
+ <isset property="setup.noAWT"/>
</condition>
- <condition property="setup.nodesktop">
- <or>
- <isset property="noX11"/>
- </or>
+
+ <condition property="setup.nonatives">
+ <and>
+ <isfalse value="${isWindows}" />
+ <isfalse value="${isOSX}" />
+ <isfalse value="${isX11}" />
+ <isfalse value="${useKD}" />
+ <isfalse value="${useBroadcomEGL}" />
+ </and>
</condition>
+ <echo message="setup.nonatives: ${setup.nonatives}" />
<echo message="setup.nodesktop: ${setup.nodesktop}" />
<echo message="setup.noall: ${setup.noall}" />
- <echo message="setup.noall-cdc: ${setup.noall-cdc}" />
<echo message="setup.noCDC: ${setup.noCDC}" />
<echo message="setup.noAWT: ${setup.noAWT}" />
<echo message="setup.noOpenGL: ${setup.noOpenGL}" />
<echo message="javac.bootclasspath-cdc.jar: ${javac.bootclasspath-cdc.jar}" />
+ <echo message="isX11: ${isX11}" />
+ <echo message="useKD: ${useKD}" />
+ <echo message="useBroadcomEGL: ${useBroadcomEGL}" />
<!-- partitioning -->
@@ -122,6 +123,9 @@
<property name="java.part.opengl"
value="com/sun/javafx/newt/opengl/*, com/sun/javafx/newt/opengl/kd/*"/>
+ <property name="java.part.broadcomegl"
+ value="com/sun/javafx/newt/opengl/broadcom/*"/>
+
<property name="java.part.awt"
value="com/sun/javafx/newt/awt/*"/>
@@ -133,7 +137,7 @@
</condition>
<condition property="java.excludes.opengl"
- value="${java.part.opengl}">
+ value="${java.part.opengl} ${java.part.broadcomegl}">
<isset property="setup.noOpenGL"/>
</condition>
@@ -256,6 +260,7 @@
<property name="newt.win.jar" value="${build}/newt.win.jar" />
<property name="newt.osx.jar" value="${build}/newt.osx.jar" />
<property name="newt.ogl.jar" value="${build}/newt.ogl.jar" />
+ <property name="newt.broadcomegl.jar" value="${build}/newt.broadcomegl.jar" />
<property name="newt.awt.jar" value="${build}/newt.awt.jar" />
<property name="newt.all.jar" value="${build}/newt.all.jar" />
@@ -264,6 +269,7 @@
<property name="newt.win.cdc.jar" value="${build}/newt.win.cdc.jar" />
<property name="newt.osx.cdc.jar" value="${build}/newt.osx.cdc.jar" />
<property name="newt.ogl.cdc.jar" value="${build}/newt.ogl.cdc.jar" />
+ <property name="newt.broadcomegl.cdc.jar" value="${build}/newt.broadcomegl.cdc.jar" />
<property name="newt.all.cdc.jar" value="${build}/newt.all.cdc.jar" />
<!-- The javadoc dirs. -->
@@ -293,6 +299,7 @@
<mkdir dir="${src.generated.c}" />
<mkdir dir="${src.generated.c}/X11" />
<mkdir dir="${src.generated.c}/KD" />
+ <mkdir dir="${src.generated.c}/BroadcomEGL" />
<mkdir dir="${src.generated.c}/MacOSX" />
<mkdir dir="${src.generated.c}/Windows" />
<mkdir dir="${classes}" />
@@ -349,6 +356,11 @@
<!-- linker configuration -->
+ <linker id="linker.cfg.linux.newt.broadcom_egl" extends="linker.cfg.linux">
+ <syslibset dir="/nfsroot/lg/lib" libs="EGL"/>
+ <syslibset dir="/nfsroot/lg/lib" libs="GLES_CM"/>
+ </linker>
+
<linker id="linker.cfg.linux.newt.x11" extends="linker.cfg.linux">
<syslibset dir="/usr/X11R6/lib" libs="X11"/>
<syslibset dir="/usr/X11R6/lib" libs="Xxf86vm" />
@@ -408,7 +420,13 @@
<echo message="Linux.x86" />
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
<property name="linker.cfg.id.core" value="linker.cfg.linux" />
- <property name="linker.cfg.id.oswin" value="linker.cfg.linux.newt.x11" />
+ <condition property="linker.cfg.id.oswin" value="linker.cfg.linux.newt.x11" >
+ <isset property="isX11" />
+ </condition>
+ <condition property="linker.cfg.id.oswin" value="linker.cfg.linux.newt.broadcom_egl" >
+ <isset property="useBroadcomEGL" />
+ </condition>
+ <echo message="linker.cfg.id.oswin ${linker.cfg.id.oswin}" />
</target>
<target name="c.configure.linux.amd64" if="isLinuxAMD64">
@@ -508,6 +526,7 @@
<include name="${rootrel.src.c}/*.m" if="isOSX"/>
<include name="${rootrel.src.c}/X11Window.c" if="isX11"/>
<include name="${rootrel.src.c}/KDWindow.c" if="useKD"/>
+ <include name="${rootrel.src.c}/BroadcomEGL.c" if="useBroadcomEGL"/>
</patternset>
<echo message="Compiling @{output.lib.name}" />
@@ -540,7 +559,8 @@
<includepath path="${src.generated.c}/X11" if="isX11"/>
<includepath path="${src.generated.c}/MacOSX" if="isOSX"/>
<includepath path="${src.generated.c}/Windows" if="isWindows"/>
- <includepath path="${src.generated.c}/KD"/>
+ <includepath path="${src.generated.c}/KD" if="useKD" />
+ <includepath path="${src.generated.c}/BroadcomEGL" if="useBroadcomEGL" />
<!-- This must come last to not override real include paths -->
<!-- includepath path="stub_includes/macosx" if="isOSX" / -->
@@ -569,19 +589,23 @@
</sequential>
</macrodef>
- <target name="c.build.newt.prepare.opengl" unless="setup.noOpenGL">
- <javah destdir="../${rootrel.build.newt}/gensrc/native/newt/KD" classpath="${classes}" class="com.sun.javafx.newt.opengl.kd.KDWindow" />
+ <target name="c.build.newt.prepare.KD" if="useKD">
+ <javah destdir="${src.generated.c}/KD" classpath="${classes}" class="com.sun.javafx.newt.opengl.kd.KDWindow" />
+ </target>
+
+ <target name="c.build.newt.prepare.BroadcomEGL" if="useBroadcomEGL">
+ <javah destdir="${src.generated.c}/BroadcomEGL" classpath="${classes}" class="com.sun.javafx.newt.opengl.broadcom.BCEGLWindow" />
</target>
<target name="c.build.newt.prepare.desktop" unless="setup.nodesktop">
- <javah destdir="../${rootrel.build.newt}/gensrc/native/newt/Windows" classpath="${classes}" class="com.sun.javafx.newt.windows.WindowsWindow" />
- <javah destdir="../${rootrel.build.newt}/gensrc/native/newt/MacOSX" classpath="${classes}" class="com.sun.javafx.newt.macosx.MacWindow" />
- <javah destdir="../${rootrel.build.newt}/gensrc/native/newt/X11" classpath="${classes}" class="com.sun.javafx.newt.x11.X11Window" />
+ <javah destdir="${src.generated.c}/Windows" classpath="${classes}" class="com.sun.javafx.newt.windows.WindowsWindow" />
+ <javah destdir="${src.generated.c}/MacOSX" classpath="${classes}" class="com.sun.javafx.newt.macosx.MacWindow" />
+ <javah destdir="${src.generated.c}/X11" classpath="${classes}" class="com.sun.javafx.newt.x11.X11Window" />
</target>
- <target name="c.build.newt.prepare" depends="c.build.newt.prepare.opengl,c.build.newt.prepare.desktop" />
+ <target name="c.build.newt.prepare" depends="c.build.newt.prepare.KD,c.build.newt.prepare.BroadcomEGL,c.build.newt.prepare.desktop" />
- <target name="c.build.newt.windowlib">
+ <target name="c.build.newt.windowlib" unless="setup.nonatives">
<c.build c.compiler.src.files="c.src.files.newt"
output.lib.name="newt"
compiler.cfg.id="${compiler.cfg.id}"
@@ -593,15 +617,18 @@
<msvc.manifest objdir="${obj}" dllname="newt" />
</target>
- <target name="c.build.newt" depends="c.configure,c.build.newt.prepare,c.build.newt.windowlib">
+ <target name="c.build.newt.natives" depends="c.build.newt.windowlib" unless="setup.nonatives">
+ </target>
+
+ <target name="c.build.newt" depends="c.configure,c.build.newt.prepare,c.build.newt.natives">
<antcall target="c.manifest" inheritRefs="true" />
<!-- Create the Java Web Start jar file for the built native code -->
- <jar destfile="${build}/newt-natives-${os.and.arch}.jar">
+ <jar destfile="${build}/newt-natives-${os.and.arch}.jar" filesonly="true">
<fileset dir="${obj}">
<include name="*.${native.library.suffix}" />
</fileset>
</jar>
- <jar destfile="${build}/newt-natives-${os.and.arch}-cdc.jar">
+ <jar destfile="${build}/newt-natives-${os.and.arch}-cdc.jar" filesonly="true">
<fileset dir="${obj}">
<include name="*.${native.library.suffix-cdc}" />
</fileset>
@@ -659,72 +686,81 @@
</target>
<target name="build-jars-awt" depends="setup-manifestfile" unless="setup.noAWT">
- <jar manifest="tempversion" destfile="${newt.awt.jar}">
+ <jar manifest="tempversion" destfile="${newt.awt.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.awt}"/>
</jar>
</target>
<target name="build-jars-opengl" depends="setup-manifestfile" unless="setup.noOpenGL">
- <jar manifest="tempversion" destfile="${newt.ogl.jar}">
+ <jar manifest="tempversion" destfile="${newt.ogl.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.opengl}"/>
</jar>
+ <jar manifest="tempversion" destfile="${newt.broadcomegl.jar}" filesonly="true">
+ <fileset dir="${classes}"
+ includes="${java.part.broadcomegl}"/>
+ </jar>
</target>
<target name="build-jars-opengl-cdc" depends="setup-manifestfile-cdc" unless="setup.noOpenGL">
- <jar manifest="tempversion-cdc" destfile="${newt.ogl.cdc.jar}">
+ <jar manifest="tempversion-cdc" destfile="${newt.ogl.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.opengl}"/>
</jar>
+ <jar manifest="tempversion-cdc" destfile="${newt.broadcomegl.cdc.jar}" filesonly="true">
+ <fileset dir="${classes-cdc}"
+ includes="${java.part.broadcomegl}"/>
+ </jar>
</target>
<target name="build-jars-desktop" depends="setup-manifestfile" unless="setup.nodesktop">
- <jar manifest="tempversion" destfile="${newt.x11.jar}">
+ <jar manifest="tempversion" destfile="${newt.x11.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.x11}"/>
</jar>
- <jar manifest="tempversion" destfile="${newt.win.jar}">
+ <jar manifest="tempversion" destfile="${newt.win.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.windows}"/>
</jar>
- <jar manifest="tempversion" destfile="${newt.osx.jar}">
+ <jar manifest="tempversion" destfile="${newt.osx.jar}" filesonly="true">
<fileset dir="${classes}"
- includes="${java.part.osx}"/>
+ includes="${java.part.macosx}"/>
</jar>
</target>
<target name="build-jars-desktop-cdc" depends="setup-manifestfile-cdc" unless="setup.nodesktop">
- <jar manifest="tempversion-cdc" destfile="${newt.x11.cdc.jar}">
+ <jar manifest="tempversion-cdc" destfile="${newt.x11.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.x11}"/>
</jar>
- <jar manifest="tempversion-cdc" destfile="${newt.win.cdc.jar}">
+ <jar manifest="tempversion-cdc" destfile="${newt.win.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.windows}"/>
</jar>
- <jar manifest="tempversion-cdc" destfile="${newt.osx.cdc.jar}">
+ <jar manifest="tempversion-cdc" destfile="${newt.osx.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
- includes="${java.part.osx}"/>
+ includes="${java.part.macosx}"/>
</jar>
</target>
<target name="build-jars-all" depends="setup-manifestfile" unless="setup.noall">
- <jar manifest="tempversion" destfile="${newt.all.jar}">
+ <jar manifest="tempversion" destfile="${newt.all.jar}" filesonly="true">
<fileset dir="${classes}"
includes="com/sun/javafx/newt/**" />
</jar>
</target>
- <target name="build-jars-all-cdc" depends="setup-manifestfile-cdc" unless="setup.noall-cdc">
- <jar manifest="tempversion-cdc" destfile="${newt.all.cdc.jar}">
+ <target name="build-jars-all-cdc" depends="setup-manifestfile-cdc">
+ <jar manifest="tempversion-cdc" destfile="${newt.all.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
- includes="${java.part.core} ${java.part.opengl}"/>
+ includes="com/sun/javafx/newt/**"
+ excludes="${java.excludes.cdcfp}" />
</jar>
</target>
<target name="build-jars-javase" depends="setup-manifestfile,build-jars-awt,build-jars-opengl,build-jars-all,build-jars-desktop">
- <jar manifest="tempversion" destfile="${newt.core.jar}">
+ <jar manifest="tempversion" destfile="${newt.core.jar}" filesonly="true">
<fileset dir="${classes}"
includes="${java.part.core}"/>
</jar>
@@ -732,7 +768,7 @@
</target>
<target name="build-jars-cdc" depends="setup-manifestfile-cdc,build-jars-opengl-cdc,build-jars-all-cdc,build-jars-desktop-cdc" unless="setup.noCDC">
- <jar manifest="tempversion-cdc" destfile="${newt.core.cdc.jar}">
+ <jar manifest="tempversion-cdc" destfile="${newt.core.cdc.jar}" filesonly="true">
<fileset dir="${classes-cdc}"
includes="${java.part.core}"/>
</jar>
diff --git a/make/config/jogl/cgl-macosx.cfg b/make/config/jogl/cgl-macosx.cfg
index 780afcf5b..54b4be171 100644
--- a/make/config/jogl/cgl-macosx.cfg
+++ b/make/config/jogl/cgl-macosx.cfg
@@ -6,10 +6,12 @@ NativeOutputDir gensrc/native/jogl/MacOSX
Package com.sun.opengl.impl.macosx.cgl
JavaClass CGL
Style allstatic
-Include gl-common-gl2.cfg
+Include gl-common.cfg
Include gl-common-extensions.cfg
Include gl-desktop.cfg
+GLHeader GL/cglext.h
+
Opaque long void *
# Opaque directives for low-level CGL binding (for Java2D/JOGL bridge)
diff --git a/make/config/jogl/cglext.cfg b/make/config/jogl/cglext.cfg
index 4000ecb2b..3bd027c84 100755
--- a/make/config/jogl/cglext.cfg
+++ b/make/config/jogl/cglext.cfg
@@ -11,9 +11,11 @@ Style InterfaceAndImpl
JavaClass CGLExt
ImplPackage com.sun.opengl.impl.macosx.cgl
ImplJavaClass CGLExtImpl
-Include gl-common-gl2.cfg
+Include gl-common.cfg
Include gl-desktop.cfg
+GLHeader GL/cglext.h
+
EmitProcAddressTable true
ProcAddressTableClassName CGLExtProcAddressTable
GetProcAddressTableExpr _context.getCGLExtProcAddressTable()
diff --git a/make/config/jogl/egl-common.cfg b/make/config/jogl/egl-common.cfg
new file mode 100644
index 000000000..bcda00b07
--- /dev/null
+++ b/make/config/jogl/egl-common.cfg
@@ -0,0 +1,46 @@
+# Inform the glue code generator of the association between #defines
+# and functions and the extensions in which they are defined
+GLHeader EGL/egl.h
+GLHeader EGL/eglext.h
+
+# Imports needed by all glue code
+Import java.nio.*
+Import java.util.*
+Import javax.media.opengl.*
+Import javax.media.opengl.fixedfunc.*
+Import com.sun.opengl.impl.*
+
+# Treat all of the EGL types as opaque longs
+# Opaque long EGLConfig
+Opaque long EGLContext
+Opaque long EGLDisplay
+Opaque long EGLSurface
+Opaque long EGLNativeDisplayType
+Opaque long EGLNativeWindowType
+Opaque long EGLNativePixmapType
+Opaque long EGLClientBuffer
+Opaque long EGLImageKHR
+#Opaque long EGLPerfMonitorNV
+#Opaque long EGLPerfCounterNV
+#Opaque long EGLPerfMarkerNV
+Opaque long EGLSyncKHR
+Opaque long NativeSyncKHR
+Opaque boolean EGLBoolean
+
+# Make eglGetProcAddress return an opaque long
+Opaque long __EGLFuncPtr
+
+# Implement the first argument to eglGetProcAddress as String instead
+# of byte[]
+ArgumentIsString eglGetProcAddress 0
+ReturnsString eglQueryString
+
+# Force all of the methods to be emitted using dynamic linking so we
+# don't need to link against any emulation library on the desktop or
+# depend on the presence of an import library for a particular device
+ForceProcAddressGen __ALL__
+
+# Also force the calling conventions of the locally generated function
+# pointer typedefs for these routines to EGLAPIENTRY
+LocalProcAddressCallingConvention __ALL__ EGLAPIENTRY
+
diff --git a/make/config/jogl/egl.cfg b/make/config/jogl/egl.cfg
index 6457ab21a..26979fb6d 100755
--- a/make/config/jogl/egl.cfg
+++ b/make/config/jogl/egl.cfg
@@ -7,40 +7,20 @@ Package com.sun.opengl.impl.egl
JavaClass EGL
Style allstatic
# Shouldn't matter which one of these we pick up
+Include egl-common.cfg
HierarchicalNativeOutput false
-Include gl-common.cfg
# Use a ProcAddressTable so we dynamically look up the routines
EmitProcAddressTable true
ProcAddressTableClassName EGLProcAddressTable
GetProcAddressTableExpr _table
-# Translate EGLBoolean as Java boolean
-Opaque boolean EGLBoolean
-
# Implement the first argument to eglGetProcAddress as String instead
# of byte[]
ArgumentIsString eglGetProcAddress 0
ReturnsString eglQueryString
-# Make eglGetProcAddress return an opaque long
-Opaque long __EGLFuncPtr
-
-# Force all of the methods to be emitted using dynamic linking so we
-# don't need to link against any emulation library on the desktop or
-# depend on the presence of an import library for a particular device
-ForceProcAddressGen __ALL__
-
-# Treat all of the EGL types as opaque longs
-Opaque long EGLContext
-Opaque long EGLDisplay
-Opaque long EGLSurface
-Opaque long EGLNativeDisplayType
-Opaque long EGLNativeWindowType
-Opaque long EGLNativePixmapType
-Opaque long EGLClientBuffer
-
CustomCCode #include <EGL/egl.h>
Include ../intptr.cfg
diff --git a/make/config/jogl/eglext.cfg b/make/config/jogl/eglext.cfg
index bdd9a3655..fedff35e9 100755
--- a/make/config/jogl/eglext.cfg
+++ b/make/config/jogl/eglext.cfg
@@ -9,54 +9,17 @@ JavaClass EGLExt
ImplPackage com.sun.opengl.impl.egl
ImplJavaClass EGLExtImpl
# Shouldn't matter which one of these we pick up
+Include egl-common.cfg
+
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/sun/opengl/impl/egl/EGL.java
-ExtendedInterfaceSymbols ../build-temp/gensrc/classes/com/sun/opengl/impl/egl/EGL.java
HierarchicalNativeOutput false
-Include gl-common.cfg
# Use a ProcAddressTable so we dynamically look up the routines
EmitProcAddressTable true
ProcAddressTableClassName EGLExtProcAddressTable
GetProcAddressTableExpr _context.getEGLExtProcAddressTable()
-# Translate EGLBoolean as Java boolean
-Opaque boolean EGLBoolean
-
-# Implement the first argument to eglGetProcAddress as String instead
-# of byte[]
-ArgumentIsString eglGetProcAddress 0
-ReturnsString eglQueryString
-
-# Make eglGetProcAddress return an opaque long
-Opaque long __EGLFuncPtr
-
-# Force all of the methods to be emitted using dynamic linking so we
-# don't need to link against any emulation library on the desktop or
-# depend on the presence of an import library for a particular device
-ForceProcAddressGen __ALL__
-
-# Also force the calling conventions of the locally generated function
-# pointer typedefs for these routines to EGLAPIENTRY
-LocalProcAddressCallingConvention __ALL__ EGLAPIENTRY
-
-# Treat all of the EGL types as opaque longs
-# Opaque long EGLConfig
-Opaque long EGLContext
-Opaque long EGLDisplay
-Opaque long EGLSurface
-Opaque long EGLNativeDisplayType
-Opaque long EGLNativeWindowType
-Opaque long EGLNativePixmapType
-Opaque long EGLClientBuffer
-Opaque long EGLImageKHR
-#Opaque long EGLPerfMonitorNV
-#Opaque long EGLPerfCounterNV
-#Opaque long EGLPerfMarkerNV
-Opaque long EGLSyncKHR
-Opaque long NativeSyncKHR
-
-# Opaque long EGLClientBuffer
-
CustomCCode /* Define EGL_EGLEXT_PROTOTYPES so that the EGL extension prototypes in
CustomCCode "eglext.h" are parsed. */
CustomCCode #define EGL_EGLEXT_PROTOTYPES
@@ -66,9 +29,14 @@ CustomCCode #include <EGL/eglext.h>
Include ../intptr.cfg
# There are some #defines in eglext.h that GlueGen and PCPP don't currently handle
+CustomJavaCode EGLExt /** Part of <code>EGL_KHR_image</code> */
CustomJavaCode EGLExt public static final long EGL_NO_IMAGE = 0;
+CustomJavaCode EGLExt /** Part of <code>EGL_NV_perfmon</code> */
CustomJavaCode EGLExt public static final long EGL_NO_PERFMONITOR = 0;
+CustomJavaCode EGLExt /** Part of <code>EGL_NV_perfmon</code> */
CustomJavaCode EGLExt public static final long EGL_DEFAULT_PERFMARKER = 0;
+CustomJavaCode EGLExt /** Part of <code>EGL_KHR_sync</code> */
+CustomJavaCode EGLExt public static final long EGL_FOREVER_KHR = 0xFFFFFFFFFFFFFFFFL ;
CustomJavaCode EGLExt public boolean isFunctionAvailable(String glFunctionName);
CustomJavaCode EGLExt public boolean isExtensionAvailable(String glExtensionName);
@@ -88,39 +56,3 @@ CustomJavaCode EGLExtImpl }
CustomJavaCode EGLExtImpl private EGLContext _context;
-# These Ignores cause the core EGL routines to be ignored from the
-# EGLExt interface and EGLExtImpl implementing class.
-Ignore eglBindAPI
-Ignore eglBindTexImage
-Ignore eglChooseConfig
-Ignore eglCopyBuffers
-Ignore eglCreateContext
-Ignore eglCreatePbufferFromClientBuffer
-Ignore eglCreatePbufferSurface
-Ignore eglCreatePixmapSurface
-Ignore eglCreateWindowSurface
-Ignore eglDestroyContext
-Ignore eglDestroySurface
-Ignore eglGetConfigAttrib
-Ignore eglGetConfigs
-Ignore eglGetCurrentContext
-Ignore eglGetCurrentDisplay
-Ignore eglGetCurrentSurface
-Ignore eglGetDisplay
-Ignore eglGetError
-Ignore eglGetProcAddress
-Ignore eglInitialize
-Ignore eglMakeCurrent
-Ignore eglQueryAPI
-Ignore eglQueryContext
-Ignore eglQueryString
-Ignore eglQuerySurface
-Ignore eglReleaseTexImage
-Ignore eglReleaseThread
-Ignore eglSurfaceAttrib
-Ignore eglSwapBuffers
-Ignore eglSwapInterval
-Ignore eglTerminate
-Ignore eglWaitClient
-Ignore eglWaitGL
-Ignore eglWaitNative
diff --git a/make/config/jogl/gl-common-extensions.cfg b/make/config/jogl/gl-common-extensions.cfg
index fb46e43ca..e28ff43c8 100644
--- a/make/config/jogl/gl-common-extensions.cfg
+++ b/make/config/jogl/gl-common-extensions.cfg
@@ -1,8 +1,8 @@
-# Note: we keep the Apple, ATI and NVidia extensions since they are generally
+# Note: we keep the Apple, AMD/ATI and NVidia extensions since they are generally
# the most useful and up-to-date
DropUniqVendorExtensions 3DFX
-DropUniqVendorExtensions AMD
+# DropUniqVendorExtensions AMD
# DropUniqVendorExtensions APPLE
# DropUniqVendorExtensions ATI
DropUniqVendorExtensions HP
@@ -51,11 +51,6 @@ IgnoreExtension GL_NV_present_video
IgnoreExtension GL_NV_coverage_sample
IgnoreExtension GL_NV_framebuffer_vertex_attrib_array
-# Remove extension suffixes from extensions which are common
-RenameExtensionIntoCore GL_ARB_framebuffer_object
-IgnoreExtension GL_EXT_framebuffer_object
-RenameExtensionIntoCore GL_OES_framebuffer_object
-
# Remove extension suffixes from extensions which are common between OpenGL and OpenGL ES
RenameExtensionIntoCore GL_ARB_half_float_pixel
RenameExtensionIntoCore GL_ARB_point_sprite
@@ -65,6 +60,7 @@ RenameExtensionIntoCore GL_OES_blend_subtract
RenameExtensionIntoCore GL_OES_compressed_paletted_texture
RenameExtensionIntoCore GL_OES_depth24
RenameExtensionIntoCore GL_OES_depth32
+RenameExtensionIntoCore GL_OES_framebuffer_object
RenameExtensionIntoCore GL_OES_mapbuffer
RenameExtensionIntoCore GL_OES_point_sprite
RenameExtensionIntoCore GL_OES_rgb8_rgba8
diff --git a/make/config/jogl/gl-common-gl2.cfg b/make/config/jogl/gl-common-gl2.cfg
deleted file mode 100644
index 4d86d74cd..000000000
--- a/make/config/jogl/gl-common-gl2.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-# This .cfg file provides common options used among all GL glue code
-# generated for Jogl on Windows.
-
-HierarchicalNativeOutput false
-Include gl-common.cfg
-
-# XID needs to be treated as a long for 32/64 bit compatibility
-Opaque long XID
diff --git a/make/config/jogl/gl-common.cfg b/make/config/jogl/gl-common.cfg
index 50c2ff004..4d3a05d63 100644
--- a/make/config/jogl/gl-common.cfg
+++ b/make/config/jogl/gl-common.cfg
@@ -1,6 +1,8 @@
# This .cfg file provides common options used among all glue code
# generated for Jogl on all platforms.
+HierarchicalNativeOutput false
+
# Raise GLException instead of RuntimeException in glue code
RuntimeExceptionType GLException
UnsupportedExceptionType GLException
@@ -20,16 +22,15 @@ Import com.sun.opengl.impl.*
# because we don't need them java-side.
Ignore GL_VERSION_.+
-# There are a few routines we don't handle yet
-Ignore glGetBufferPointerivNV
-Ignore glGetBufferPointerv
-
# Ignore GL functions that deal with explicit pointer values in such a
# way that we cannot implement the functionality in Java
Ignore glGetBufferPointerv
Ignore glGetBufferPointervARB
+Ignore glGetBufferPointerivNV
+Ignore glGetNamedBufferPointervEXT
Ignore glGetPointerv
Ignore glGetPointervEXT
+Ignore glGetPointerIndexedvEXT
Ignore glGetTexParameterPointervAPPLE
Ignore glGetVertexAttribPointerv
Ignore glGetVertexAttribPointervARB
@@ -39,7 +40,6 @@ Ignore glTracePointerRangeMESA
# Manually implement glMapBuffer as the size of the returned buffer
# can only be computed by calling another routine
ManuallyImplement glMapBuffer
-ManuallyImplement glMapBufferOES
# Ignore the ATI_map_object_buffer extension for now unless someone
# claims they need it, as it will undoubtedly require a similar
@@ -50,36 +50,6 @@ Ignore glUnmapObjectBufferATI
# Ignore some GL functions that have outgoing void** parameters; we cannot yet deal with them
Ignore glGetVariantPointervEXT
-# Don't output #defines of GL name strings as constants, because we
-# don't need them java-side.
-# Format of name strings is found at:
-# http://oss.sgi.com/projects/ogl-sample/registry/doc/template.txt
-
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_EXT_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_ARB_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_OES_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_PGI_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_SGI_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_SGIS_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_SGIX_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_MESA_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_HP_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_ATI_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_NV_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_IBM_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_WIN_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_REND_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_APPLE_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_INTEL_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_INGR_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_SUN_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_SUNX_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_3DFX_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_OML_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_I3D_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_S3_.+
-Ignore GL_KTX_buffer_region
-
# FIXME: these extensions require either a handle to a device context
# or take void** parameters or both. Until we think through the
# semantics of each of these individually we need to disable them.
@@ -133,6 +103,7 @@ IgnoreExtension GL_EXT_coordinate_frame
# Ignore discontinued extensions
IgnoreExtension GL_NV_element_array
+# >>> OpenGL 1.1
# Ignore extensions subsumed in OpenGL 1.1 (from OpenGL 1.1 spec, Appendix C)
IgnoreExtension GL_EXT_vertex_array
IgnoreExtension GL_EXT_blend_logic_op
@@ -141,7 +112,9 @@ IgnoreExtension GL_EXT_polygon_offset
IgnoreExtension GL_EXT_subtexture
IgnoreExtension GL_EXT_texture
IgnoreExtension GL_EXT_texture_object
+# <<< OpenGL 1.1
+# >>> OpenGL 1.2
# Ignore extensions subsumed in OpenGL 1.2 and 1.2.1 (from OpenGL 1.2.1 spec, Appendix D)
IgnoreExtension GL_EXT_bgra
IgnoreExtension GL_EXT_blend_color
@@ -163,7 +136,9 @@ IgnoreExtension GL_SGI_color_matrix
IgnoreExtension GL_SGI_color_table
IgnoreExtension GL_SGIS_texture_edge_clamp
IgnoreExtension GL_SGIS_texture_lod
+# <<< OpenGL 1.2
+# >>> OpenGL 1.3
# Ignore extensions subsumed in OpenGL 1.3 (from OpenGL 1.3 spec, Appendix F)
IgnoreExtension GL_ARB_multisample
IgnoreExtension GL_ARB_multitexture
@@ -179,7 +154,9 @@ IgnoreExtension GL_EXT_texture_env_add
IgnoreExtension GL_EXT_texture_env_combine
IgnoreExtension GL_EXT_texture_env_dot3
IgnoreExtension GL_SGIS_texture_border_clamp
+# <<< OpenGL 1.3
+# >>> OpenGL 1.4
# Ignore extensions subsumed in OpenGL 1.4 (from OpenGL 1.4 spec, Appendix G)
IgnoreExtension GL_ARB_depth_texture
IgnoreExtension GL_ARB_point_parameters
@@ -195,29 +172,113 @@ IgnoreExtension GL_EXT_secondary_color
IgnoreExtension GL_EXT_stencil_wrap
IgnoreExtension GL_NV_blend_square
IgnoreExtension GL_SGIS_generate_mipmap
+# <<< OpenGL 1.4
+# >>> OpenGL 1.5
# Ignore extensions subsumed in OpenGL 1.5 (from OpenGL 1.5 spec, Appendix H)
IgnoreExtension GL_ARB_occlusion_query
IgnoreExtension GL_ARB_vertex_buffer_object
IgnoreExtension GL_EXT_shadow_funcs
+# <<< OpenGL 1.5
+# >>> OpenGL 2.0
# Ignore extensions subsumed in OpenGL 2.0 (from OpenGL 2.0 spec, Appendix I)
# NOTE that GL_ARB_shader_objects is NOT ignored here, because the
# naming convention is too different for us to pick up the entry
# points automatically (e.g. glCreateShaderObjectARB was exposed as
# glCreateShader)
+# IgnoreExtension GL_ARB_shader_objects
IgnoreExtension GL_ARB_vertex_shader
IgnoreExtension GL_ARB_fragment_shader
-IgnoreExtension GL_ARB_draw_buffers
IgnoreExtension GL_ARB_texture_non_power_of_two
IgnoreExtension GL_ARB_point_sprite
+IgnoreExtension GL_ARB_draw_buffers
IgnoreExtension GL_EXT_blend_equation_separate
# Don't ignore the following one since the entry point is different from anything in the core
# IgnoreExtension GL_EXT_stencil_two_side
+# <<< OpenGL 2.0
+# >>> OpenGL 2.1
# Ignore extensions subsumed in OpenGL 2.1 (from OpenGL 2.1 spec, Appendix J)
IgnoreExtension GL_ARB_pixel_buffer_object
IgnoreExtension GL_EXT_texture_sRGB
+# <<< OpenGL 2.1
+
+# >>> OpenGL 3.0
+# Ignore/Rename extensions subsumed in OpenGL 3.0 (from OpenGL 3.0 spec, Appendix N)
+RenameExtensionIntoCore GL_EXT_gpu_shader4
+
+RenameExtensionIntoCore GL_NV_conditional_render
+
+RenameExtensionIntoCore GL_APPLE_flush_buffer_range
+
+RenameExtensionIntoCore GL_ARB_color_buffer_float
+# gl.h uses GL_ARB_depth_buffer_float
+RenameExtensionIntoCore GL_ARB_depth_buffer_float
+IgnoreExtension GL_NV_depth_buffer_float
+RenameExtensionIntoCore GL_ARB_texture_float
+RenameExtensionIntoCore GL_EXT_packed_float
+RenameExtensionIntoCore GL_EXT_texture_shared_exponent
+
+# gl.h uses GL_ARB_framebuffer_object
+# GL_*_geometry_shader4 is included here, due to a naming collision otherwise.
+# glFramebufferTextureLayerARB is ignored due to it's existence in GL_ARB_framebuffer_object and GL_ARB_geometry_shader4
+RenameExtensionIntoCore GL_ARB_framebuffer_object
+IgnoreExtension GL_EXT_framebuffer_object
+RenameExtensionIntoCore GL_ARB_geometry_shader4
+IgnoreExtension GL_EXT_geometry_shader4
+Ignore glFramebufferTextureLayerARB
+
+RenameExtensionIntoCore GL_NV_half_float
+RenameExtensionIntoCore GL_ARB_half_float_pixel
+
+RenameExtensionIntoCore GL_EXT_framebuffer_multisample
+RenameExtensionIntoCore GL_EXT_framebuffer_blit
+
+#Big gap of promoted tokens and functions: GL_EXT_texture_integer
+RenameExtensionIntoCore GL_EXT_texture_integer
+
+RenameExtensionIntoCore GL_EXT_texture_array
+
+RenameExtensionIntoCore GL_EXT_packed_depth_stencil
+
+RenameExtensionIntoCore GL_EXT_draw_buffers2
+
+# gl.h uses GL_ARB_texture_compression_rgtc
+RenameExtensionIntoCore GL_ARB_texture_compression_rgtc
+IgnoreExtension GL_EXT_texture_compression_rgtc
+
+RenameExtensionIntoCore GL_EXT_transform_feedback
+IgnoreExtension GL_NV_transform_feedback
+
+# gl.h uses GL_ARB_vertex_array_object
+RenameExtensionIntoCore GL_ARB_vertex_array_object
+IgnoreExtension GL_APPLE_vertex_array_object
+
+# gl.h uses GL_ARB_framebuffer_sRGB
+RenameExtensionIntoCore GL_ARB_framebuffer_sRGB
+IgnoreExtension GL_EXT_framebuffer_sRGB
+
+RenameExtensionIntoCore GL_ARB_map_buffer_range
+
+# <<< OpenGL 3.0
+
+# >>> OpenGL 3.1
+# Rename extension suffices (if exist) subsumed in OpenGL 3.1 (from OpenGL 3.1 spec, Appendix G.1)
+# We alias 3.1 subsumed extension even for GL2, due to the convenience of the common GL2GL3 profile!
+RenameExtensionIntoCore GL_ARB_draw_instanced
+IgnoreExtension GL_EXT_draw_instanced
+RenameExtensionIntoCore GL_ARB_copy_buffer
+RenameExtensionIntoCore GL_NV_primitive_restart
+RenameExtensionIntoCore GL_ARB_texture_buffer_object
+IgnoreExtension GL_EXT_texture_buffer_object
+# Actually GL_ARB_texture_rectangle, but let's be convenient
+RenameExtensionIntoCore GL_EXT_texture_rectangle
+IgnoreExtension GL_NV_texture_rectangle
+RenameExtensionIntoCore GL_ARB_uniform_buffer_object
+# <<< OpenGL 3.1
+
+
# Ignore a few obsolete versions of extensions that have been subsumed into the core or ARB extensions
IgnoreExtension GL_EXT_multisample
@@ -230,6 +291,7 @@ IgnoreExtension GL_EXT_texture_rectangle
Opaque boolean GLboolean
ReturnsString glGetString
+ReturnsString glGetStringi
# Experimental: Only NIO function, no arrays ..
# NIOOnly __ALL__
@@ -289,6 +351,14 @@ ReturnValueCapacity glXAllocateMemoryNV {0}
# Pass arguments to ARB_vertex_program, ARB_fragment_program,
# ARB_shader_objects, NV_vertex_program, NV_fragment_program, and
# ARB_vertex_shader as Strings
+ArgumentIsString glBindAttribLocation 2
+ArgumentIsString glBindAttribLocationARB 2
+ArgumentIsString glGetAttribLocation 1
+ArgumentIsString glGetAttribLocationARB 1
+ArgumentIsString glGetProgramNamedParameterfvNV 2
+ArgumentIsString glGetProgramNamedParameterdvNV 2
+ArgumentIsString glGetUniformLocation 1
+ArgumentIsString glGetUniformLocationARB 1
ArgumentIsString glLoadProgramNV 3
ArgumentIsString glProgramString 3
ArgumentIsString glProgramStringARB 3
@@ -296,16 +366,32 @@ ArgumentIsString glProgramNamedParameter4fNV 2
ArgumentIsString glProgramNamedParameter4dNV 2
ArgumentIsString glProgramNamedParameter4fvNV 2
ArgumentIsString glProgramNamedParameter4dvNV 2
-ArgumentIsString glGetProgramNamedParameterfvNV 2
-ArgumentIsString glGetProgramNamedParameterdvNV 2
ArgumentIsString glShaderSource 2
ArgumentIsString glShaderSourceARB 2
-ArgumentIsString glGetUniformLocation 1
-ArgumentIsString glGetUniformLocationARB 1
-ArgumentIsString glBindAttribLocation 2
-ArgumentIsString glBindAttribLocationARB 2
-ArgumentIsString glGetAttribLocation 1
-ArgumentIsString glGetAttribLocationARB 1
+
+ArgumentIsString glBindFragDataLocation 2
+ArgumentIsString glGetFragDataLocation 1
+ArgumentIsString glGetUniformIndices 2
+ArgumentIsString glGetUniformBlockIndex 1
+ArgumentIsString glTransformFeedbackVaryings 2
+
+# String output values:
+# ArgumentIsString glGetActiveAttrib 6
+# ArgumentIsString glGetActiveUniformBlockName 4
+# ArgumentIsString glGetActiveUniformName 4
+# ArgumentIsString glGetActiveUniform 6
+# ArgumentIsString glGetProgramInfoLog 3
+# ArgumentIsString glGetShaderInfoLog 3
+# ArgumentIsString glGetShaderSource 3
+# ArgumentIsString glGetTransformFeedbackVarying 6
+
+#
+# Use cached GL_EXTENSION if possible,
+# which also allows GL3 compatibility.
+#
+JavaPrologue glGetString if(GL.GL_EXTENSIONS==name && _context.isExtensionCacheInitialized()) {
+JavaPrologue glGetString return _context.getGLExtensions();
+JavaPrologue glGetString }
#
# Directives for Vertex Buffer Object and Pixel Buffer Object checking
@@ -481,70 +567,93 @@ RangeCheck glDeleteVertexArraysAPPLE 1 {0}
# Javadoc for the GL class
ClassJavadoc GL /**
-ClassJavadoc GL * <P> The basic interface to OpenGL, providing access to core
-ClassJavadoc GL * functionality up through the OpenGL 2.0 specification as well as
-ClassJavadoc GL * all vendor extensions. </P>
-ClassJavadoc GL *
-ClassJavadoc GL * <P> While the APIs for vendor extensions are unconditionally
-ClassJavadoc GL * exposed, the underlying functions may not be present. The method
-ClassJavadoc GL * {@link #isFunctionAvailable} should be used to query the
-ClassJavadoc GL * availability of any non-core function before it is used for the
-ClassJavadoc GL * first time; for example,
-ClassJavadoc GL * <code>gl.isFunctionAvailable("glProgramStringARB")</code>. On
-ClassJavadoc GL * certain platforms (Windows in particular), the most "core"
-ClassJavadoc GL * functionality is only OpenGL 1.1, so in theory any routines first
-ClassJavadoc GL * exposed in OpenGL 1.2, 1.3, and 1.4, 1.5, or 2.0 as well as vendor
-ClassJavadoc GL * extensions should all be queried. Calling an unavailable function
-ClassJavadoc GL * will cause a {@link GLException} to be raised. </P>
-ClassJavadoc GL *
-ClassJavadoc GL * {@link #isExtensionAvailable} may also be used to determine whether
-ClassJavadoc GL * a specific extension is available before calling the routines or
-ClassJavadoc GL * using the functionality it exposes: for example,
-ClassJavadoc GL * <code>gl.isExtensionAvailable("GL_ARB_vertex_program");</code>.
-ClassJavadoc GL * However, in this case it is up to the end user to know which
-ClassJavadoc GL * routines or functionality are associated with which OpenGL
-ClassJavadoc GL * extensions. It may also be used to test for the availability of a
-ClassJavadoc GL * particular version of OpenGL: for example,
-ClassJavadoc GL * <code>gl.isExtensionAvailable("GL_VERSION_1_5");</code>.
-ClassJavadoc GL *
-ClassJavadoc GL * <P> Exceptions to the window system extension naming rules:
-ClassJavadoc GL *
-ClassJavadoc GL * <UL>
-ClassJavadoc GL *
-ClassJavadoc GL * <LI> The memory allocators for the NVidia vertex_array_range (VAR)
-ClassJavadoc GL * extension, in particular <code>wglAllocateMemoryNV</code> /
-ClassJavadoc GL * <code>glXAllocateMemoryNV</code> and associated routines. {@link
-ClassJavadoc GL * #glAllocateMemoryNV} has been provided for window system-independent
-ClassJavadoc GL * access to VAR. {@link #isFunctionAvailable} will translate an argument
-ClassJavadoc GL * of "glAllocateMemoryNV" or "glFreeMemoryNV" into the appropriate
-ClassJavadoc GL * window system-specific name. </P>
-ClassJavadoc GL *
-ClassJavadoc GL * <LI> WGL_ARB_pbuffer, WGL_ARB_pixel_format, and other
-ClassJavadoc GL * platform-specific pbuffer functionality; the availability of
-ClassJavadoc GL * pbuffers can be queried on Windows, X11 and Mac OS X platforms by
-ClassJavadoc GL * querying {@link #isExtensionAvailable} with an argument of
-ClassJavadoc GL * "GL_ARB_pbuffer" or "GL_ARB_pixel_format".
-ClassJavadoc GL *
-ClassJavadoc GL * </UL> <P>
-ClassJavadoc GL *
+ClassJavadoc GL * <P> Common interface containing the subset of all profiles, GL3, GL2, GLES1 and GLES2.<br>
+ClassJavadoc GL * This interface reflects common data types, texture and framebuffer functionality.</P>
ClassJavadoc GL */
+ClassJavadoc GL2ES1 /**
+ClassJavadoc GL2ES1 * <P>
+ClassJavadoc GL2ES1 * Interface containing the common subset of GL2 and GLES1.<br>
+ClassJavadoc GL2ES1 * This interface reflects only the fixed functionality of OpenGL<br>
+ClassJavadoc GL2ES1 * </P>
+ClassJavadoc GL2ES1 */
+
+ClassJavadoc GL2ES2 /**
+ClassJavadoc GL2ES2 * <P>
+ClassJavadoc GL2ES2 * Interface containing the common subset of GL3, GL2 and GLES2.<br>
+ClassJavadoc GL2ES2 * This interface reflects only the programmable shader functionality of desktop and embedded OpenGL<br>
+ClassJavadoc GL2ES2 * </P>
+ClassJavadoc GL2ES2 */
+
+ClassJavadoc GL2GL3 /**
+ClassJavadoc GL2GL3 * <P>
+ClassJavadoc GL2GL3 * Interface containing the common subset of GL3 (OpenGL 3.1+) and GL2 (OpenGL 3.0),
+ClassJavadoc GL2GL3 * also known as the OpenGL 3.0 forward compatible, non deprecated subset.<br>
+ClassJavadoc GL2GL3 * This interface reflects only the programmable shader functionality of desktop OpenGL<br>
+ClassJavadoc GL2GL3 * </P>
+ClassJavadoc GL2GL3 */
+
+ClassJavadoc GL2 /**
+ClassJavadoc GL2 * <P>
+ClassJavadoc GL2 * This interface contains all core desktop OpenGL methods through
+ClassJavadoc GL2 * version 3.0, inclusive, as well as most of it's extensions defined at the
+ClassJavadoc GL2 * time of this specification. Early OpenGL extensions whose functionality
+ClassJavadoc GL2 * was incorporated into core OpenGL by version 3.0, inclusive, are specifically
+ClassJavadoc GL2 * excluded.<br>
+ClassJavadoc GL2 * Note: OpenGL 3.0 is the last subsumed version in the specification.
+ClassJavadoc GL2 * You need to use a {@link GL3} OpenGL 3.1+ context to benefit
+ClassJavadoc GL2 * from new functionality and versions.
+ClassJavadoc GL2 * </P>
+ClassJavadoc GL2 */
+
+ClassJavadoc GL3 /**
+ClassJavadoc GL3 * <P>
+ClassJavadoc GL3 * This interface contains all core, forward compatible, OpenGL methods starting from 3.1,
+ClassJavadoc GL3 * inclusive, as well as most of it's extensions defined at the time of this specification.<br>
+ClassJavadoc GL3 * Note: OpenGL 3.0 forward compatible, non deprecated functionality is included in the
+ClassJavadoc GL3 * 3.1 specification, hence the {@link GL2GL3} implemented interface.<br>
+ClassJavadoc GL3 * Note: OpenGL 3.1 forward compatible no more includes fixed point functionality.
+ClassJavadoc GL3 * </P>
+ClassJavadoc GL3 */
+
+ClassJavadoc GLES1 /**
+ClassJavadoc GLES1 * <P>
+ClassJavadoc GLES1 * This interface contains all core embedded OpenGL methods of ES 1.x, with x >= 0,
+ClassJavadoc GLES1 * inclusive, as well as most of it's extensions defined at the
+ClassJavadoc GLES1 * time of this specification.
+ClassJavadoc GLES1 * </P>
+ClassJavadoc GLES1 */
+
+ClassJavadoc GLES2 /**
+ClassJavadoc GLES2 * <P>
+ClassJavadoc GLES2 * This interface contains all core embedded OpenGL methods of ES 2.x, with x >= 0,
+ClassJavadoc GLES2 * inclusive, as well as most of it's extensions defined at the
+ClassJavadoc GLES2 * time of this specification.
+ClassJavadoc GLES2 * </P>
+ClassJavadoc GLES2 */
+
+# Javadoc for the EGL class
+ClassJavadoc EGL /**
+ClassJavadoc EGL * Provides access to the embedded-specific OpenGL vendor extensions.
+ClassJavadoc EGL * See {@link GLBase} for more information.
+ClassJavadoc EGL */
+
# Javadoc for the WGL class
ClassJavadoc WGL /**
ClassJavadoc WGL * Provides access to the Windows-specific OpenGL vendor extensions.
-ClassJavadoc WGL * See {@link GL} for more information.
+ClassJavadoc WGL * See {@link GLBase} for more information.
ClassJavadoc WGL */
# Javadoc for the GLX class
ClassJavadoc GLX /**
ClassJavadoc GLX * Provides access to the X11-specific OpenGL vendor extensions.
-ClassJavadoc GLX * See {@link GL} for more information.
+ClassJavadoc GLX * See {@link GLBase} for more information.
ClassJavadoc GLX */
# Javadoc for the CGL class
ClassJavadoc CGL /**
ClassJavadoc CGL * Provides access to the MacOSX-specific OpenGL vendor extensions.
-ClassJavadoc CGL * See {@link GL} for more information.
+ClassJavadoc CGL * See {@link GLBase} for more information.
ClassJavadoc CGL */
# Javadoc for the XVisualInfo class
@@ -556,86 +665,9 @@ ClassJavadoc XVisualInfo */
# Custom code for querying extensions and exposing
# wglAllocateMemoryNV/glXAllocateMemoryNV
-CustomJavaCode GL /**
-CustomJavaCode GL * Returns true if the specified OpenGL core- or extension-function can be
-CustomJavaCode GL * used successfully through this GL instance given the current host (OpenGL
-CustomJavaCode GL * <i>client</i>) and display (OpenGL <i>server</i>) configuration.<P>
-CustomJavaCode GL * By "successfully" we mean that the function is both <i>callable</i>
-CustomJavaCode GL * on the machine running the program and <i>available</i> on the current
-CustomJavaCode GL * display.<P>
-CustomJavaCode GL *
-CustomJavaCode GL * In order to call a function successfully, the function must be both
-CustomJavaCode GL * <i>callable</i> on the machine running the program and <i>available</i> on
-CustomJavaCode GL * the display device that is rendering the output (note: on non-networked,
-CustomJavaCode GL * single-display machines these two conditions are identical; on networked and/or
-CustomJavaCode GL * multi-display machines this becomes more complicated). These conditions are
-CustomJavaCode GL * met if the function is either part of the core OpenGL version supported by
-CustomJavaCode GL * both the host and display, or it is an OpenGL extension function that both
-CustomJavaCode GL * the host and display support. <P>
-CustomJavaCode GL *
-CustomJavaCode GL * A GL function is <i>callable</i> if it is successfully linked at runtime,
-CustomJavaCode GL * hence the GLContext must be made current at least once.
-CustomJavaCode GL *
-CustomJavaCode GL * @param glFunctionName the name of the OpenGL function (e.g., use
-CustomJavaCode GL * "glBindRenderbufferEXT" or "glBindRenderbuffer" to check if {@link
-CustomJavaCode GL * #glBindRenderbuffer(int,int)} is available).
-CustomJavaCode GL */
-CustomJavaCode GL public boolean isFunctionAvailable(String glFunctionName);
-
-CustomJavaCode GL /**
-CustomJavaCode GL * Returns true if the specified OpenGL extension can be
-CustomJavaCode GL * used successfully through this GL instance given the current host (OpenGL
-CustomJavaCode GL * <i>client</i>) and display (OpenGL <i>server</i>) configuration.<P>
-CustomJavaCode GL *
-CustomJavaCode GL * @param glExtensionName the name of the OpenGL extension (e.g.,
-CustomJavaCode GL * "GL_ARB_vertex_program").
-CustomJavaCode GL */
-CustomJavaCode GL public boolean isExtensionAvailable(String glExtensionName);
-
-CustomJavaCode GL /**
-CustomJavaCode GL * Provides platform-independent access to the <code>wglAllocateMemoryNV</code> /
-CustomJavaCode GL * <code>glXAllocateMemoryNV</code> extension.
-CustomJavaCode GL */
-CustomJavaCode GL public java.nio.ByteBuffer glAllocateMemoryNV(int arg0, float arg1, float arg2, float arg3);
-
-CustomJavaCode GL /** Provides a platform-independent way to specify the minimum swap
-CustomJavaCode GL interval for buffer swaps. An argument of 0 disables
-CustomJavaCode GL sync-to-vertical-refresh completely, while an argument of 1
-CustomJavaCode GL causes the application to wait until the next vertical refresh
-CustomJavaCode GL until swapping buffers. The default, which is platform-specific,
-CustomJavaCode GL is usually either 0 or 1. This function is not guaranteed to
-CustomJavaCode GL have an effect, and in particular only affects heavyweight
-CustomJavaCode GL onscreen components. */
-CustomJavaCode GL public void setSwapInterval(int interval);
-
-CustomJavaCode GL /**
-CustomJavaCode GL * Returns an object through which platform-specific OpenGL extensions
-CustomJavaCode GL * (WGL, GLX, etc.) may be accessed. The data type of the returned
-CustomJavaCode GL * object and its associated capabilities are undefined. Most
-CustomJavaCode GL * applications will never need to call this method. It is highly
-CustomJavaCode GL * recommended that any applications which do call this method perform
-CustomJavaCode GL * all accesses on the returned object reflectively to guard
-CustomJavaCode GL * themselves against changes to the implementation.
-CustomJavaCode GL */
-CustomJavaCode GL public Object getPlatformGLExtensions();
-
-CustomJavaCode GL /**
-CustomJavaCode GL * Returns an object providing access to the specified OpenGL
-CustomJavaCode GL * extension. This is intended to provide a mechanism for vendors who
-CustomJavaCode GL * which to provide access to new OpenGL extensions without changing
-CustomJavaCode GL * the public API of the core package. For example, a user may request
-CustomJavaCode GL * access to extension "GL_VENDOR_foo" and receive back an object
-CustomJavaCode GL * which implements a vendor-specified interface which can call the
-CustomJavaCode GL * OpenGL extension functions corresponding to that extension. It is
-CustomJavaCode GL * up to the vendor to specify both the extension name and Java API
-CustomJavaCode GL * for accessing it, including which class or interface contains the
-CustomJavaCode GL * functions.
-CustomJavaCode GL *
-CustomJavaCode GL * <P>
-CustomJavaCode GL *
-CustomJavaCode GL * Note: it is the intent to add new extensions as quickly as possible
-CustomJavaCode GL * to the core GL API. Therefore it is unlikely that most vendors will
-CustomJavaCode GL * use this extension mechanism, but it is being provided for
-CustomJavaCode GL * completeness.
-CustomJavaCode GL */
-CustomJavaCode GL public Object getExtension(String extensionName);
+CustomJavaCode GL2GL3 /**
+CustomJavaCode GL2GL3 * Provides platform-independent access to the <code>wglAllocateMemoryNV</code> /
+CustomJavaCode GL2GL3 * <code>glXAllocateMemoryNV</code> extension.
+CustomJavaCode GL2GL3 */
+CustomJavaCode GL2GL3 public java.nio.ByteBuffer glAllocateMemoryNV(int arg0, float arg1, float arg2, float arg3);
+
diff --git a/make/config/jogl/gl-desktop.cfg b/make/config/jogl/gl-desktop.cfg
index d6a610c59..7e500a4f0 100755
--- a/make/config/jogl/gl-desktop.cfg
+++ b/make/config/jogl/gl-desktop.cfg
@@ -26,6 +26,9 @@ Opaque boolean BOOL
Opaque long PROC
Opaque long void **
+# XID needs to be treated as a long for 32/64 bit compatibility
+Opaque long XID
+
#
# Directives needed when processing cglext.h on MacOSX and other platforms
#
diff --git a/make/config/jogl/gl-es1.cfg b/make/config/jogl/gl-es1.cfg
index 02aae2860..35ea7f0ce 100755
--- a/make/config/jogl/gl-es1.cfg
+++ b/make/config/jogl/gl-es1.cfg
@@ -2,12 +2,12 @@
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/es1
-ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL.java
-ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL2ES1.java
-ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/GLBase.java
-ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/fixedfunc/GLMatrixFunc.java
-ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/fixedfunc/GLPointerFunc.java
-ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/fixedfunc/GLLightingFunc.java
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES1.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLMatrixFunc.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLPointerFunc.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLLightingFunc.java
# There are a few routines we don't handle yet
Ignore glGetBufferPointervOES
diff --git a/make/config/jogl/gl-es2.cfg b/make/config/jogl/gl-es2.cfg
index 244f1944f..6a81c9376 100755
--- a/make/config/jogl/gl-es2.cfg
+++ b/make/config/jogl/gl-es2.cfg
@@ -2,9 +2,9 @@
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/es2
-ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL.java
-ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL2ES2.java
-ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/GLBase.java
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES2.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.java
Package javax.media.opengl
Style InterfaceAndImpl
diff --git a/make/config/jogl/gl-gl2.cfg b/make/config/jogl/gl-gl2.cfg
index 8dfe76758..50574598a 100644
--- a/make/config/jogl/gl-gl2.cfg
+++ b/make/config/jogl/gl-gl2.cfg
@@ -2,13 +2,14 @@
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/gl2
-ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL.java
-ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL2ES1.java
-ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL2ES2.java
-ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/GLBase.java
-ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/fixedfunc/GLMatrixFunc.java
-ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/fixedfunc/GLPointerFunc.java
-ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/fixedfunc/GLLightingFunc.java
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES1.java
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES2.java
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2GL3.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLMatrixFunc.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLPointerFunc.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLLightingFunc.java
Package javax.media.opengl
Style InterfaceAndImpl
@@ -17,13 +18,15 @@ Extends GL2 GLBase
Extends GL2 GL
Extends GL2 GL2ES1
Extends GL2 GL2ES2
+Extends GL2 GL2GL3
ImplPackage com.sun.opengl.impl.gl2
ImplJavaClass GL2Impl
Implements GL2Impl GLBase
Implements GL2Impl GL
Implements GL2Impl GL2ES1
Implements GL2Impl GL2ES2
-Include gl-common-gl2.cfg
+Implements GL2Impl GL2GL3
+Include gl-common.cfg
Include gl-common-extensions.cfg
Include gl-desktop.cfg
@@ -40,6 +43,8 @@ IgnoreExtension GL_EXT_point_parameters
CustomJavaCode GL2 public boolean glIsPBOPackEnabled();
CustomJavaCode GL2 public boolean glIsPBOUnpackEnabled();
+IncludeAs CustomJavaCode GL2 gl-if-CustomJavaCode-gl2.java
+
CustomJavaCode GL2Impl public void glFrustumf(float left, float right, float bottom, float top, float zNear, float zFar) {
CustomJavaCode GL2Impl glFrustum((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar); }
diff --git a/make/config/jogl/gl-gl2es12.cfg b/make/config/jogl/gl-gl2es12.cfg
index c233ef4fd..9e36da2ea 100644
--- a/make/config/jogl/gl-gl2es12.cfg
+++ b/make/config/jogl/gl-gl2es12.cfg
@@ -13,12 +13,12 @@ ExtendedInterfaceSymbolsOnly ../src/jogl/classes/javax/media/opengl/fixedfunc/GL
Style ImplOnly
ImplPackage com.sun.opengl.impl.gl2es12
ImplJavaClass GL2ES12Impl
+Implements GL2ES12Impl GLBase
Implements GL2ES12Impl GL
Implements GL2ES12Impl GL2ES1
Implements GL2ES12Impl GL2ES2
-Implements GL2ES12Impl GLBase
-Include gl-common-gl2.cfg
+Include gl-common.cfg
Include gl-common-extensions.cfg
Include gl-desktop.cfg
@@ -32,6 +32,10 @@ ForceProcAddressGen glMapBuffer
# depend on the presence of an import library for a particular device
ForceProcAddressGen __ALL__
+# Also force the calling conventions of the locally generated function
+# pointer typedefs for these routines to APIENTRY
+LocalProcAddressCallingConvention __ALL__ APIENTRY
+
EmitProcAddressTable true
ProcAddressTableClassName GL2ES12ProcAddressTable
GetProcAddressTableExpr ((GL2ES12ProcAddressTable)_context.getGLProcAddressTable())
diff --git a/make/config/jogl/gl-gl3-set.cfg b/make/config/jogl/gl-gl3-set.cfg
new file mode 100644
index 000000000..ac1edac47
--- /dev/null
+++ b/make/config/jogl/gl-gl3-set.cfg
@@ -0,0 +1,14 @@
+# This .cfg file is used to generate the GL interface and implementing class.
+JavaOutputDir ../../build-temp/gluegen-set
+
+Package javax.media.opengl
+Style InterfaceOnly
+JavaClass GL3Set
+Include gl-common.cfg
+Include gl-common-extensions.cfg
+Include gl3-common.cfg
+Include gl3-desktop.cfg
+
+EmitProcAddressTable false
+ProcAddressTableClassName DontGenerateProcAddressTableStuff
+GetProcAddressTableExpr DontGenerateProcAddressTableStuff
diff --git a/make/config/jogl/gl-gl3.cfg b/make/config/jogl/gl-gl3.cfg
index 2b521e30a..576cd7cad 100644
--- a/make/config/jogl/gl-gl3.cfg
+++ b/make/config/jogl/gl-gl3.cfg
@@ -2,9 +2,10 @@
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/gl3
-ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL.java
-ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL2ES2.java
-ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/GLBase.java
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES2.java
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2GL3.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.java
Package javax.media.opengl
Style InterfaceAndImpl
@@ -12,19 +13,33 @@ JavaClass GL3
Extends GL3 GLBase
Extends GL3 GL
Extends GL3 GL2ES2
+Extends GL3 GL2GL3
ImplPackage com.sun.opengl.impl.gl3
ImplJavaClass GL3Impl
Implements GL3Impl GLBase
Implements GL3Impl GL
Implements GL3Impl GL2ES2
-Include gl-common-gl2.cfg
+Implements GL3Impl GL2GL3
+Include gl-common.cfg
Include gl-common-extensions.cfg
+Include gl3-common.cfg
Include gl3-desktop.cfg
+IncludeAs CustomJavaCode GL3 gl-if-CustomJavaCode-gl3.java
+
EmitProcAddressTable true
ProcAddressTableClassName GL3ProcAddressTable
GetProcAddressTableExpr ((GL3ProcAddressTable)_context.getGLProcAddressTable())
+# Force all of the methods to be emitted using dynamic linking so we
+# don't need to link against any emulation library on the desktop or
+# depend on the presence of an import library for a particular device
+ForceProcAddressGen __ALL__
+
+# Also force the calling conventions of the locally generated function
+# pointer typedefs for these routines to APIENTRY
+LocalProcAddressCallingConvention __ALL__ APIENTRY
+
# Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums
TagNativeBinding true
diff --git a/make/config/jogl/gl-headers.cfg b/make/config/jogl/gl-headers.cfg
index 1cc5bf05b..5a648b582 100755
--- a/make/config/jogl/gl-headers.cfg
+++ b/make/config/jogl/gl-headers.cfg
@@ -35,7 +35,3 @@ CustomCCode #include <GL/gl.h>
CustomCCode #include <GL/glx.h>
CustomCCode #include <GL/glxext.h>
CustomCCode #endif
-CustomCCode /* Provide GLES #define for locally generated function pointer typedefs */
-CustomCCode #ifndef GL_APIENTRY
-CustomCCode #define GL_APIENTRY GLAPIENTRY
-CustomCCode #endif
diff --git a/make/config/jogl/gl-if-CustomJavaCode-gl.java b/make/config/jogl/gl-if-CustomJavaCode-gl.java
index 28d24c072..20657ef9f 100644
--- a/make/config/jogl/gl-if-CustomJavaCode-gl.java
+++ b/make/config/jogl/gl-if-CustomJavaCode-gl.java
@@ -1,5 +1,70 @@
- public GLProfile getGLProfile();
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_AND = 0x1501;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_AND_INVERTED = 0x1504;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_AND_REVERSE = 0x1502;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_BLEND_DST = 0x0BE0;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_BLEND_SRC = 0x0BE1;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_BUFFER_ACCESS = 0x88BB;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_CLEAR = 0x1500;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_COLOR_LOGIC_OP = 0x0BF2;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_COPY = 0x1503;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_COPY_INVERTED = 0x150C;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_DEPTH_COMPONENT24 = 0x81A6;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_DEPTH_COMPONENT32 = 0x81A7;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_EQUIV = 0x1509;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_LINE_SMOOTH = 0x0B20;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_LINE_SMOOTH_HINT = 0x0C52;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_LOGIC_OP_MODE = 0x0BF0;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_MULTISAMPLE = 0x809D;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_NAND = 0x150E;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_NOOP = 0x1505;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_NOR = 0x1508;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_OR = 0x1507;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_OR_INVERTED = 0x150D;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_OR_REVERSE = 0x150B;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_POINT_FADE_THRESHOLD_SIZE = 0x8128;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_POINT_SIZE = 0x0B11;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_SAMPLE_ALPHA_TO_ONE = 0x809F;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_SET = 0x150F;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_SMOOTH_LINE_WIDTH_RANGE = 0x0B22;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_SMOOTH_POINT_SIZE_RANGE = 0x0B12;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_STENCIL_INDEX1 = 0x8D46;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_STENCIL_INDEX4 = 0x8D47;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_WRITE_ONLY = 0x88B9;
+ /** Common in ES1, GL2 and GL3 */
+ public static final int GL_XOR = 0x1506;
public void glClearDepth( double depth );
diff --git a/make/config/jogl/gl-if-CustomJavaCode-gl2.java b/make/config/jogl/gl-if-CustomJavaCode-gl2.java
new file mode 100644
index 000000000..4d1d0e048
--- /dev/null
+++ b/make/config/jogl/gl-if-CustomJavaCode-gl2.java
@@ -0,0 +1,19 @@
+
+/** Missed in the GL_EXT_gpu_shader4 promotion to 3.0 core */
+public static final int GL_SAMPLER_BUFFER_EXT = 0x8DC2;
+/** Missed in the GL_EXT_gpu_shader4 promotion to 3.0 core */
+public static final int GL_INT_SAMPLER_2D_RECT_EXT = 0x8DCD;
+/** Missed in the GL_EXT_gpu_shader4 promotion to 3.0 core */
+public static final int GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5;
+/** Missed in the GL_EXT_gpu_shader4 promotion to 3.0 core */
+public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8;
+/** Missed in the GL_EXT_gpu_shader4 promotion to 3.0 core */
+public static final int GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = 0x88FD;
+
+/** Missed in the GL_EXT_packed_float promotion to 3.0 core */
+public static final int GL_RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C;
+
+/** Missed in the GL_EXT_framebuffer_sRGB promotion to 3.0 core */
+public static final int GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA;
+
+
diff --git a/make/config/jogl/gl-if-CustomJavaCode-gl3.java b/make/config/jogl/gl-if-CustomJavaCode-gl3.java
new file mode 100644
index 000000000..1777c1557
--- /dev/null
+++ b/make/config/jogl/gl-if-CustomJavaCode-gl3.java
@@ -0,0 +1,8 @@
+
+/** Part of <code>GL_ARB_uniform_buffer_object</code> */
+public static final int GL_INVALID_INDEX = 0xFFFFFFFF ;
+
+/** Part of <code>GL_ARB_sync</code> */
+public static final long GL_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFFL ;
+
+
diff --git a/make/config/jogl/gl-if-gl-ignores.cfg b/make/config/jogl/gl-if-gl-ignores.cfg
index 1fa439702..5deb828e6 100644
--- a/make/config/jogl/gl-if-gl-ignores.cfg
+++ b/make/config/jogl/gl-if-gl-ignores.cfg
@@ -354,7 +354,7 @@ Ignore GL_WRITE_ONLY_OES
Ignore GL_XOR
Ignore glIsProgram
Ignore glIsShader
-Ignore glUnmapBufferOES
+#Ignore glUnmapBufferOES
Ignore glCreateProgram
Ignore glCreateShader
Ignore glGetAttribLocation
@@ -363,12 +363,12 @@ Ignore glAlphaFunc
Ignore glAttachShader
Ignore glBindAttribLocation
Ignore glBlendColor
-Ignore glBlendEquation
-Ignore glBlendEquationOES
-Ignore glBlendEquationSeparate
-Ignore glBlendEquationSeparateOES
-Ignore glBlendFuncSeparate
-Ignore glBlendFuncSeparateOES
+#Ignore glBlendEquation
+#Ignore glBlendEquationOES
+#Ignore glBlendEquationSeparate
+#Ignore glBlendEquationSeparateOES
+#Ignore glBlendFuncSeparate
+#Ignore glBlendFuncSeparateOES
Ignore glClearDepthfOES
Ignore glClientActiveTexture
Ignore glClipPlanef
@@ -401,8 +401,8 @@ Ignore glFogxvOES
Ignore glFramebufferVertexAttribArrayNV
Ignore glFrustumf
Ignore glFrustumfOES
-Ignore glGenerateMipmap
-Ignore glGenerateMipmapOES
+#Ignore glGenerateMipmap
+#Ignore glGenerateMipmapOES
Ignore glGetActiveAttrib
Ignore glGetActiveUniform
Ignore glGetAttachedShaders
diff --git a/make/config/jogl/gl-if-gl.cfg b/make/config/jogl/gl-if-gl.cfg
index 46e11fdd4..1bba846e7 100755
--- a/make/config/jogl/gl-if-gl.cfg
+++ b/make/config/jogl/gl-if-gl.cfg
@@ -4,7 +4,7 @@ Style InterfaceOnly
JavaClass GL
Extends GL GLBase
-ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/GLBase.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.java
HierarchicalNativeOutput false
Include gl-common.cfg
diff --git a/make/config/jogl/gl-if-gl2_es1.cfg b/make/config/jogl/gl-if-gl2_es1.cfg
index d09ebcb30..6fe6b4b90 100755
--- a/make/config/jogl/gl-if-gl2_es1.cfg
+++ b/make/config/jogl/gl-if-gl2_es1.cfg
@@ -8,11 +8,11 @@ Extends GL2ES1 GLMatrixFunc
Extends GL2ES1 GLPointerFunc
Extends GL2ES1 GLLightingFunc
-ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL.java
-ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/GLBase.java
-ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/fixedfunc/GLMatrixFunc.java
-ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/fixedfunc/GLPointerFunc.java
-ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/fixedfunc/GLLightingFunc.java
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLMatrixFunc.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLPointerFunc.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLLightingFunc.java
HierarchicalNativeOutput false
Include gl-common.cfg
diff --git a/make/config/jogl/gl-if-gl2_es2.cfg b/make/config/jogl/gl-if-gl2_es2.cfg
index 5345c3ba1..63f96d906 100755
--- a/make/config/jogl/gl-if-gl2_es2.cfg
+++ b/make/config/jogl/gl-if-gl2_es2.cfg
@@ -5,8 +5,8 @@ JavaClass GL2ES2
Extends GL2ES2 GLBase
Extends GL2ES2 GL
-ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL.java
-ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/GLBase.java
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.java
HierarchicalNativeOutput false
Include gl-common.cfg
Include gl-common-extensions.cfg
diff --git a/make/config/jogl/gl-if-gl2_gl3.cfg b/make/config/jogl/gl-if-gl2_gl3.cfg
new file mode 100644
index 000000000..7f6903dd6
--- /dev/null
+++ b/make/config/jogl/gl-if-gl2_gl3.cfg
@@ -0,0 +1,51 @@
+# This .cfg file is used to generate the GL interface and implementing class.
+Package javax.media.opengl
+Style InterfaceOnly
+JavaClass GL2GL3
+Extends GL2GL3 GLBase
+Extends GL2GL3 GL
+Extends GL2GL3 GL2ES2
+
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES2.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.java
+
+ExtendedInterfaceSymbolsOnly ../build-temp/gluegen-set/javax/media/opengl/GL3Set.java
+
+HierarchicalNativeOutput false
+Include gl-common.cfg
+Include gl-common-extensions.cfg
+Include gl-desktop.cfg
+
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl
+
+#
+# Same name but different signature ..
+# No collisions found .. good!
+
+EmitProcAddressTable false
+ProcAddressTableClassName DontGenerateProcAddressTableStuff
+GetProcAddressTableExpr DontGenerateProcAddressTableStuff
+
+# Inform the glue code generator of the association between #defines
+# and functions and the extensions in which they are defined
+GLHeader GL/gl.h
+GLHeader GL/glext.h
+
+# Force all of the methods to be emitted using dynamic linking so we
+# don't need to link against any emulation library on the desktop or
+# depend on the presence of an import library for a particular device
+ForceProcAddressGen __ALL__
+
+# Also force the calling conventions of the locally generated function
+# pointer typedefs for these routines to APIENTRY
+LocalProcAddressCallingConvention __ALL__ APIENTRY
+
+# Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums
+TagNativeBinding true
+
+# Ignore extensions that are already picked up via the GL2ES1 interface
+IgnoreExtension GL_EXT_point_parameters
+
+Import java.io.PrintStream
diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gl2.java b/make/config/jogl/gl-impl-CustomJavaCode-gl2.java
index b3410040b..5928b3a0b 100644
--- a/make/config/jogl/gl-impl-CustomJavaCode-gl2.java
+++ b/make/config/jogl/gl-impl-CustomJavaCode-gl2.java
@@ -15,6 +15,7 @@ public void setObjectTracker(GLObjectTracker tracker) {
*/
+
public GL2Impl(GLProfile glp, GLContextImpl context) {
this._context = context;
this.bufferSizeTracker = context.getBufferSizeTracker();
@@ -53,6 +54,10 @@ public final boolean isGL2ES2() {
return true;
}
+public final boolean isGL2GL3() {
+ return true;
+}
+
public final boolean hasGLSL() {
return true;
}
@@ -85,6 +90,10 @@ public final GL2ES2 getGL2ES2() throws GLException {
return this;
}
+public final GL2GL3 getGL2GL3() throws GLException {
+ return this;
+}
+
public boolean isFunctionAvailable(String glFunctionName) {
return _context.isFunctionAvailable(glFunctionName);
}
@@ -118,6 +127,10 @@ public void setSwapInterval(int interval) {
_context.setSwapInterval(interval);
}
+public int getSwapInterval() {
+ return _context.getSwapInterval();
+}
+
public Object getPlatformGLExtensions() {
return _context.getPlatformGLExtensions();
}
diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gl2es12.java b/make/config/jogl/gl-impl-CustomJavaCode-gl2es12.java
index d7b3de789..3dfcf5908 100644
--- a/make/config/jogl/gl-impl-CustomJavaCode-gl2es12.java
+++ b/make/config/jogl/gl-impl-CustomJavaCode-gl2es12.java
@@ -56,6 +56,10 @@ public final boolean isGL2ES2() {
return isGL2ES2;
}
+public final boolean isGL2GL3() {
+ return false;
+}
+
public final boolean hasGLSL() {
return isGL2ES2;
}
@@ -94,6 +98,10 @@ public final GL2ES2 getGL2ES2() throws GLException {
throw new GLException("Not a GL2ES2 implementation");
}
+public final GL2GL3 getGL2GL3() throws GLException {
+ throw new GLException("Not a GL2GL3 implementation");
+}
+
public boolean isFunctionAvailable(String glFunctionName) {
return _context.isFunctionAvailable(glFunctionName);
}
@@ -115,18 +123,14 @@ public GLContext getContext() {
private GLContextImpl _context;
-/**
- * Provides platform-independent access to the wglAllocateMemoryNV /
- * glXAllocateMemoryNV extension.
- */
-public java.nio.ByteBuffer glAllocateMemoryNV(int arg0, float arg1, float arg2, float arg3) {
- return _context.glAllocateMemoryNV(arg0, arg1, arg2, arg3);
-}
-
public void setSwapInterval(int interval) {
_context.setSwapInterval(interval);
}
+public int getSwapInterval() {
+ return _context.getSwapInterval();
+}
+
public Object getPlatformGLExtensions() {
return _context.getPlatformGLExtensions();
}
diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gl3.java b/make/config/jogl/gl-impl-CustomJavaCode-gl3.java
index aa1ef6575..9123f35c8 100644
--- a/make/config/jogl/gl-impl-CustomJavaCode-gl3.java
+++ b/make/config/jogl/gl-impl-CustomJavaCode-gl3.java
@@ -53,6 +53,10 @@ public final boolean isGL2ES2() {
return true;
}
+public final boolean isGL2GL3() {
+ return true;
+}
+
public final boolean hasGLSL() {
return true;
}
@@ -85,6 +89,10 @@ public final GL2ES2 getGL2ES2() throws GLException {
return this;
}
+public final GL2GL3 getGL2GL3() throws GLException {
+ return this;
+}
+
public boolean isFunctionAvailable(String glFunctionName) {
return _context.isFunctionAvailable(glFunctionName);
}
@@ -118,6 +126,10 @@ public void setSwapInterval(int interval) {
_context.setSwapInterval(interval);
}
+public int getSwapInterval() {
+ return _context.getSwapInterval();
+}
+
public Object getPlatformGLExtensions() {
return _context.getPlatformGLExtensions();
}
diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gles1.java b/make/config/jogl/gl-impl-CustomJavaCode-gles1.java
index d349f8018..c5831f426 100755
--- a/make/config/jogl/gl-impl-CustomJavaCode-gles1.java
+++ b/make/config/jogl/gl-impl-CustomJavaCode-gles1.java
@@ -36,6 +36,10 @@ public final boolean isGL2ES2() {
return false;
}
+public final boolean isGL2GL3() {
+ return false;
+}
+
public final boolean hasGLSL() {
return false;
}
@@ -68,6 +72,10 @@ public final GL2ES2 getGL2ES2() throws GLException {
throw new GLException("Not a GL2ES2 implementation");
}
+public final GL2GL3 getGL2GL3() throws GLException {
+ throw new GLException("Not a GL2GL3 implementation");
+}
+
public boolean isFunctionAvailable(String glFunctionName) {
return _context.isFunctionAvailable(glFunctionName);
}
@@ -89,18 +97,14 @@ public GLContext getContext() {
private GLContextImpl _context;
-/**
- * Provides platform-independent access to the wglAllocateMemoryNV /
- * glXAllocateMemoryNV extension.
- */
-public java.nio.ByteBuffer glAllocateMemoryNV(int arg0, float arg1, float arg2, float arg3) {
- return _context.glAllocateMemoryNV(arg0, arg1, arg2, arg3);
-}
-
public void setSwapInterval(int interval) {
_context.setSwapInterval(interval);
}
+public int getSwapInterval() {
+ return _context.getSwapInterval();
+}
+
public Object getPlatformGLExtensions() {
return _context.getPlatformGLExtensions();
}
@@ -288,7 +292,7 @@ private Map/*<ARBVBOKey, ByteBuffer>*/ arbVBOCache = new HashMap();
/** Entry point to C language function: <br> <code> LPVOID glMapBuffer(GLenum target, GLenum access); </code> */
public java.nio.ByteBuffer glMapBuffer(int target, int access) {
- final long __addr_ = ((GLES1ProcAddressTable)_context.getGLProcAddressTable())._addressof_glMapBufferOES;
+ final long __addr_ = ((GLES1ProcAddressTable)_context.getGLProcAddressTable())._addressof_glMapBuffer;
if (__addr_ == 0) {
throw new GLException("Method \"glMapBuffer\" not available");
}
diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gles2.java b/make/config/jogl/gl-impl-CustomJavaCode-gles2.java
index 28edd7a63..7e9b786b0 100755
--- a/make/config/jogl/gl-impl-CustomJavaCode-gles2.java
+++ b/make/config/jogl/gl-impl-CustomJavaCode-gles2.java
@@ -40,6 +40,10 @@ public final boolean isGL2ES2() {
return true;
}
+public final boolean isGL2GL3() {
+ return false;
+}
+
public final boolean hasGLSL() {
return true;
}
@@ -72,6 +76,10 @@ public final GL2ES2 getGL2ES2() throws GLException {
return this;
}
+public final GL2GL3 getGL2GL3() throws GLException {
+ throw new GLException("Not a GL2GL3 implementation");
+}
+
public boolean isFunctionAvailable(String glFunctionName) {
return _context.isFunctionAvailable(glFunctionName);
}
@@ -93,18 +101,14 @@ public GLContext getContext() {
private GLContextImpl _context;
-/**
- * Provides platform-independent access to the wglAllocateMemoryNV /
- * glXAllocateMemoryNV extension.
- */
-public java.nio.ByteBuffer glAllocateMemoryNV(int arg0, float arg1, float arg2, float arg3) {
- return _context.glAllocateMemoryNV(arg0, arg1, arg2, arg3);
-}
-
public void setSwapInterval(int interval) {
_context.setSwapInterval(interval);
}
+public int getSwapInterval() {
+ return _context.getSwapInterval();
+}
+
public Object getPlatformGLExtensions() {
return _context.getPlatformGLExtensions();
}
@@ -298,7 +302,7 @@ private Map/*<ARBVBOKey, ByteBuffer>*/ arbVBOCache = new HashMap();
/** Entry point to C language function: <br> <code> LPVOID glMapBuffer(GLenum target, GLenum access); </code> */
public java.nio.ByteBuffer glMapBuffer(int target, int access) {
- final long __addr_ = ((GLES2ProcAddressTable)_context.getGLProcAddressTable())._addressof_glMapBufferOES;
+ final long __addr_ = ((GLES2ProcAddressTable)_context.getGLProcAddressTable())._addressof_glMapBuffer;
if (__addr_ == 0) {
throw new GLException("Method \"glMapBuffer\" not available");
}
diff --git a/make/config/jogl/gl3-common.cfg b/make/config/jogl/gl3-common.cfg
new file mode 100644
index 000000000..fac8323bb
--- /dev/null
+++ b/make/config/jogl/gl3-common.cfg
@@ -0,0 +1,24 @@
+
+# >>> OpenGL 3.1
+# See gl-common.cfg !
+# <<< OpenGL 3.1
+
+# >>> OpenGL 3.2
+# Rename extension suffices (if exist) subsumed in OpenGL 3.2 (from OpenGL 3.2 spec, Appendix H.1)
+RenameExtensionIntoCore GL_ARB_vertex_array_bgra
+RenameExtensionIntoCore GL_ARB_draw_elements_base_vertex
+RenameExtensionIntoCore GL_ARB_fragment_coord_conventions
+RenameExtensionIntoCore GL_ARB_provoking_vertex
+RenameExtensionIntoCore GL_ARB_seamless_cube_map
+RenameExtensionIntoCore GL_ARB_texture_multisample
+RenameExtensionIntoCore GL_ARB_depth_clamp
+RenameExtensionIntoCore GL_ARB_geometry_shader4
+RenameExtensionIntoCore GL_ARB_sync
+# <<< OpenGL 3.2
+
+# Ignore GL functions that deal with explicit pointer values in such a
+# way that we cannot implement the functionality in Java
+Ignore glMultiDrawElementsBaseVertex
+
+Opaque long GLsync
+
diff --git a/make/config/jogl/gl3-desktop.cfg b/make/config/jogl/gl3-desktop.cfg
index 2d34ade30..c3dd180bb 100755
--- a/make/config/jogl/gl3-desktop.cfg
+++ b/make/config/jogl/gl3-desktop.cfg
@@ -8,7 +8,6 @@ GLHeader GL3/gl3ext.h
#Include gl-desktop-tracker.cfg
-
#
# Directives needed when processing wglext.h on Windows and other platforms
#
diff --git a/make/config/jogl/gl3-headers.cfg b/make/config/jogl/gl3-headers.cfg
index 282a91ec5..8af9157cf 100755
--- a/make/config/jogl/gl3-headers.cfg
+++ b/make/config/jogl/gl3-headers.cfg
@@ -23,7 +23,3 @@ CustomCCode #include <stdlib.h>
CustomCCode #include <X11/Xlib.h>
CustomCCode #include <GL3/gl3.h>
CustomCCode #endif
-CustomCCode /* Provide GLES #define for locally generated function pointer typedefs */
-CustomCCode #ifndef GL_APIENTRY
-CustomCCode #define GL_APIENTRY GLAPIENTRY
-CustomCCode #endif
diff --git a/make/config/jogl/glu-CustomJavaCode-base.java b/make/config/jogl/glu-CustomJavaCode-base.java
index 6949cfb68..78c067606 100755
--- a/make/config/jogl/glu-CustomJavaCode-base.java
+++ b/make/config/jogl/glu-CustomJavaCode-base.java
@@ -76,8 +76,19 @@ public boolean isFunctionAvailable(String gluFunctionName)
// Utility routines
//
-private static Class gl2Class;
-private static Class gl2es1Class;
+private static final Class gl2Class;
+private static final Class gl2es1Class;
+
+static {
+ Class _gl2Class=null;
+ Class _gl2es1Class=null;
+ try {
+ _gl2Class = Class.forName("javax.media.opengl.glu.gl2.GLUgl2");
+ _gl2es1Class = Class.forName("javax.media.opengl.glu.gl2es1.GLUgl2es1");
+ } catch (Throwable t) {}
+ gl2Class = _gl2Class;
+ gl2es1Class = _gl2es1Class;
+}
/**
* Instantiates a GLU implementation object in respect to the given GL profile
@@ -94,32 +105,20 @@ public static final GLU createGLU() throws GLException {
public static final GLU createGLU(GL gl) throws GLException {
try {
Class c = null;
- if(gl.isGL2()) {
- if (gl2Class == null) {
- gl2Class = Class.forName("javax.media.opengl.glu.gl2.GLUgl2");
- }
+ if(gl.isGL2() && null!=gl2Class) {
c = gl2Class;
- } else if (gl.isGL2ES1()) {
- if (gl2es1Class == null) {
- gl2es1Class = Class.forName("javax.media.opengl.glu.gl2es1.GLUgl2es1");
- }
+ } else if(gl.isGL2ES1() && null!=gl2es1Class) {
c = gl2es1Class;
+ /** There is no specialized ES 2 GLU at this time
+ } else if(gl.isGL2ES2() && null!=gl2es2Class) {
+ c = gl2es2Class; */
+ } else {
+ c = GLU.class;
}
- if (c != null) {
- return (GLU) c.newInstance();
- }
+ return (GLU) c.newInstance();
} catch (Exception e) {
throw new GLException(e);
}
- // There is no specialized ES 2 GLU at this time
- /*
- try {
- if(GLProfile.GL2ES12.equals(profile) || GLProfile.GL2.equals(profile) || GLProfile.GLES2.equals(profile)) {
- return (GLU) NWReflection.createInstance("javax.media.opengl.glu.gl2es2.GLUgl2es2");
- }
- } catch (GLException e) { e.printStackTrace(); }
- */
- return new GLU();
}
public GLU()
diff --git a/make/config/jogl/glu-common.cfg b/make/config/jogl/glu-common.cfg
index 3b5a1160a..df59175bb 100644
--- a/make/config/jogl/glu-common.cfg
+++ b/make/config/jogl/glu-common.cfg
@@ -1,3 +1,5 @@
+GLHeader GL/glu.h
+
# This .cfg file provides common options used among all GLU glue code
HierarchicalNativeOutput false
diff --git a/make/config/jogl/glx-x11.cfg b/make/config/jogl/glx-x11.cfg
index 3ef151c44..c9079b84f 100644
--- a/make/config/jogl/glx-x11.cfg
+++ b/make/config/jogl/glx-x11.cfg
@@ -6,10 +6,13 @@ NativeOutputDir gensrc/native/jogl/X11
Package com.sun.opengl.impl.x11.glx
JavaClass GLX
Style allstatic
-Include gl-common-gl2.cfg
+Include gl-common.cfg
Include gl-common-extensions.cfg
Include gl-desktop.cfg
+GLHeader GL/glx.h
+GLHeader GL/glxext.h
+
EmitProcAddressTable true
ProcAddressTableClassName GLXProcAddressTable
GetProcAddressTableExpr glxProcAddressTable
diff --git a/make/config/jogl/glxext.cfg b/make/config/jogl/glxext.cfg
index 9688a9436..39ba379c4 100755
--- a/make/config/jogl/glxext.cfg
+++ b/make/config/jogl/glxext.cfg
@@ -9,10 +9,13 @@ JavaClass GLXExt
ImplPackage com.sun.opengl.impl.x11.glx
ImplJavaClass GLXExtImpl
-ExtendedInterfaceSymbols ../build-temp/gensrc/classes/com/sun/opengl/impl/x11/glx/GLX.java
-Include gl-common-gl2.cfg
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/sun/opengl/impl/x11/glx/GLX.java
+Include gl-common.cfg
Include gl-desktop.cfg
+GLHeader GL/glx.h
+GLHeader GL/glxext.h
+
EmitProcAddressTable true
ProcAddressTableClassName GLXExtProcAddressTable
GetProcAddressTableExpr _context.getGLXExtProcAddressTable()
diff --git a/make/config/jogl/wgl-win32.cfg b/make/config/jogl/wgl-win32.cfg
index f86f1adcc..6cd4fd412 100644
--- a/make/config/jogl/wgl-win32.cfg
+++ b/make/config/jogl/wgl-win32.cfg
@@ -6,10 +6,15 @@ NativeOutputDir gensrc/native/jogl/Windows
Package com.sun.opengl.impl.windows.wgl
JavaClass WGL
Style allstatic
-Include gl-common-gl2.cfg
+Include gl-common.cfg
Include gl-common-extensions.cfg
Include gl-desktop.cfg
+AllowNonGLExtensions true
+
+GLHeader wingdi.h
+GLHeader GL/wglext.h
+
# Implement the first argument to wglGetProcAddress as String instead
# of byte[]
ArgumentIsString wglGetProcAddress 0
diff --git a/make/config/jogl/wglext.cfg b/make/config/jogl/wglext.cfg
index af4430bbe..ea9a0257e 100644
--- a/make/config/jogl/wglext.cfg
+++ b/make/config/jogl/wglext.cfg
@@ -8,9 +8,14 @@ Style InterfaceAndImpl
JavaClass WGLExt
ImplPackage com.sun.opengl.impl.windows.wgl
ImplJavaClass WGLExtImpl
-Include gl-common-gl2.cfg
+Include gl-common.cfg
Include gl-desktop.cfg
+AllowNonGLExtensions true
+
+GLHeader wingdi.h
+GLHeader GL/wglext.h
+
EmitProcAddressTable true
ProcAddressTableClassName WGLExtProcAddressTable
GetProcAddressTableExpr _context.getWGLExtProcAddressTable()
diff --git a/make/doc/jogl/spec-overview.html b/make/doc/jogl/spec-overview.html
index 11074e601..26936e63e 100644
--- a/make/doc/jogl/spec-overview.html
+++ b/make/doc/jogl/spec-overview.html
@@ -11,11 +11,14 @@
This specification, an optional set of packages, describes the Java(TM)
bindings to the native OpenGL(R) 3D graphics library profiles:
<ul>
- <li> Desktop OpenGL 1.x, 2.y and 3.0, with x >= 5 and y >= 0 </li>
- <li> Desktop OpenGL 3.x, with x >= 1 </li>
+ <li> Desktop OpenGL 1.0 - 3.0 </li>
+ <li> Desktop OpenGL 3.x, with x >= 1, forward compatible, core profile </li>
<li> Embedded OpenGL ES 1.x, with x >= 0 </li>
<li> Embedded OpenGL ES 2.x, with x >= 0 </li>
</ul><br>
+ See <a href="#GLAPIInclusionCriteria">Inclusion Criteria</a> explaining the OpenGL profile seperation.<br>
+ See <a href="#GLRuntimeVersion">OpenGL Runtime Requirements</a>.<br>
+ <br>
A binding to the native OpenCL(R) library is not yet specified, but intended to be
included in a <a href="#maintenanceupdates">maintenance update</a>.
<br>
@@ -40,28 +43,45 @@ bindings to the native OpenGL(R) 3D graphics library profiles:
</ul>
<br>
+<h3>OpenGL Profile Model</h3>
+ OpenGL today is not just a single set of functionality, it offers many profiles for different
+ purposes, e.g. ES1 and ES2 for mobile, etc.<br>
+ JOGL reflects these profiles <a href="../doc/bouml/html/">with an OO abstraction model</a>,
+ specifying interfaces encapsulating common subsets.<br>
+
<h3>Package Structure</h3>
The packages defined by this specification include:<br>
<ul>
<li>The <b>javax.media.opengl</b> package<br><br>
This package contains all Java bindings for all OpenGL profiles.<br>
+ See <a href="#GLAPIInclusionCriteria">Inclusion Criteria</a> explaining the OpenGL profile seperation.<br>
+ See <a href="#GLRuntimeVersion">OpenGL Runtime Requirements</a>.<br>
The main OpenGL profile interfaces are:<br><br>
<ul>
- <li> {@link javax.media.opengl.GL2 javax.media.opengl.GL2} interface<br>
+ <li> {@link javax.media.opengl.GL3 javax.media.opengl.GL3} interface<br>
<br>
- This interface contains all core desktop OpenGL methods through
-version 3.0, inclusive, as well as most of it's extensions defined at the
-time of this specification. Early OpenGL extensions whose functionality
-was incorporated into core OpenGL by version 2.0, inclusive, are specifically
-excluded.<br>
+ This interface contains all core, forward compatible, OpenGL methods starting from 3.1,
+inclusive, as well as most of it's extensions defined at the time of this specification. <br>
+ Note: OpenGL 3.0 forward compatible, non deprecated functionality is included in the
+ 3.1 specification, hence the {@link javax.media.opengl.GL2GL3} implemented interface.<br>
+ Note: OpenGL 3.1 forward compatible no more includes fixed point functionality.<br>
+ See <a href="#GL3InclusionCriteria">GL3 Inclusion Criteria</a>.<br>
+ See <a href="#GL3RuntimeVersion">GL3 Runtime Requirements</a>.<br>
Future extensions will be added with a <a href="#maintenanceupdates">maintenance update</a></li><br>
- <li> {@link javax.media.opengl.GL3 javax.media.opengl.GL3} interface<br>
+ <li> {@link javax.media.opengl.GL2 javax.media.opengl.GL2} interface<br>
<br>
- This interface contains all core desktop OpenGL methods starting from 3.1,
-inclusive, as well as most of it's extensions defined at the
-time of this specification. <br>
+ This interface contains all core desktop OpenGL methods through
+version 3.0, inclusive, as well as most of it's extensions defined at the
+time of this specification. OpenGL extensions whose functionality
+was incorporated into core OpenGL until version 3.1, inclusive, are subsumed into the core namespace.<br>
+ Note: OpenGL 3.0 is the last completly subsumed version in the specification.
+ You need to use a {@link javax.media.opengl.GL3} OpenGL 3.1+ context to benefit
+ from new functionality and versions.<br>
+ Note: Intersecting OpenGL 3.1 subsumed extensions are subsumed in GL2 as well, to offer the best common GL2GL3 intersection.<br>
+ See <a href="#GL2InclusionCriteria">GL2 Inclusion Criteria</a>.<br>
+ See <a href="#GL2RuntimeVersion">GL2 Runtime Requirements</a>.<br>
Future extensions will be added with a <a href="#maintenanceupdates">maintenance update</a></li><br>
<li> {@link javax.media.opengl.GLES1 javax.media.opengl.GLES1} interface<br>
@@ -101,7 +121,13 @@ time of this specification. <br>
<li> {@link javax.media.opengl.GL2ES2 javax.media.opengl.GL2ES2} interface<br>
<br>
Interface containing the common subset of GL3, GL2 and GLES2.<br>
- This interface reflects only the programmable shader functionality of OpenGL</li><br>
+ This interface reflects only the programmable shader functionality of desktop and embedded OpenGL</li><br>
+
+ <li> {@link javax.media.opengl.GL2GL3 javax.media.opengl.GL2GL3} interface<br>
+ <br>
+ Interface containing the common subset of GL3 (OpenGL 3.1+) and GL2 (OpenGL 3.0),
+ also known as the OpenGL 3.0 forward compatible, non deprecated subset.<br>
+ This interface reflects only the programmable shader functionality of desktop OpenGL</li><br>
</ul>
</li><br>
@@ -293,24 +319,57 @@ between two GLContexts associated with the same GLDrawable.
<h3>Criteria Used for Inclusion of APIs into the Java Bindings</h3>
+<a name="GLAPIInclusionCriteria"/>
<h4>OpenGL API Inclusion Criteria</h4>
OpenGL functions and OpenGL extensions have been included in the Java bindings
according the following rules: <br>
<ul>
- <li>
- <li>All functions in core OpenGL 2.0, inclusive, have been included.</li>
- <li>If the functionality of the OpenGL extension was subsumed into core
-OpenGL by version 2.0, then the extension was dropped from the Java bindings.
- However, if the core function name is not available in the native OpenGL implementation,
- the extension named equivalent is used instead, e.g. <i>GL_ARB_framebuffer_object</i>.</li>
- <li>Functions that deal with explicit pointer values in such a way that
+ <a name="GL3InclusionCriteria"/>
+ <li> {@link javax.media.opengl.GL3 javax.media.opengl.GL3} interface
+ <ul>
+ <li>All functions in core, forward compatible, OpenGL 3.1 - 3.2, inclusive, have been included,
+ as described in the header files <code>GL3/gl3.h</code>.</li>
+ <li>Reason for starting a new profile beginning with 3.1 are:
+ <ul>
+ <li> OpenGL 3.1 requires a new native context, incompatible with prior versions.</li>
+ <li> OpenGL 3.1 forward compatible profile drops fixed functionality.</li>
+ </ul></li>
+ <li>Forward compatibility, aka core, ie a context without <code>GL_ARB_compatibility</code>, is chosen because:
+ <ul>
+ <li> It shares a commont subset with ES2.x</li>
+ <li> It is not guaranteed to be provided by all vendors.</li>
+ <li> It is not guaranteed to be provided in future versions.</li>
+ <li> OpenGL 3.2 core profile is compatible with OpenGL 3.1 forward compatible spec.</li>
+ <li> OpenGL 3.2 Spec Appendix E.1: It is not possible to implement both core and compatibility profiles in a single GL context, ..</li>
+ </ul></li>
+ </ul></li>
+ <a name="GL2InclusionCriteria"/>
+ <li> {@link javax.media.opengl.GL2 javax.media.opengl.GL2} interface
+ <ul>
+ <li>All functions in core OpenGL 3.0, inclusive, have been included.</li>
+ <li>Reason for making the <em>cut</em> at OpenGL 3.0 are:
+ <ul>
+ <li>Availability of 3.0 with the same native context.</li>
+ <li>Availability of 3.0 via extensions.</li>
+ </ul></li>
+ <li>If the functionality of the OpenGL extension was subsumed into core
+ OpenGL by version 3.0, then the extension was dropped from the Java bindings.
+ However, if the core function name is not available in the native OpenGL implementation,
+ the extension named equivalent is used instead, e.g. <i>GL_ARB_framebuffer_object</i>.</li>
+ <li>In general the native method name will be looked up as follows
+ <ul>
+ <li> Try the interface name</li>
+ <li> Try the extension name: ARB, EXT, ..</li>
+ </ul></li>
+ </ul></li>
+ <li>Functions that deal with explicit pointer values in such a way that
they cannot be properly implemented in Java have been excluded.&nbsp; This
includes retrieval methods with a C void ** in the OpenGL signature like glGetBufferPointerv,
glGetPointerv, glGetVertexAttribPointerv, as well as functions that require
persistent pointer to pointer storage across function calls like vertex array
lists.</li>
- <li>If the extension is registered in the official OpenGL extension registry
+ <li>If the extension is registered in the official OpenGL extension registry
but the specification was never completed or was discontinued (as indicated
in the specification and/or lack of inclusion in SGI's official OpenGL header
files), then the extension was not included.&nbsp; Using these criteria, ARB
@@ -318,15 +377,14 @@ extensions through number 42 (GL_ARB_pixel_buffer_object), inclusive, and
non-ARB extensions through number 311 (GL_REMEDY_string_marker), inclusive,
have been included in the Java bindings according to the numbering scheme
found in the official OpenGL extension registry.</li>
- <li>Some bindings to several vendor-specific extensions have been included
+ <li>Some bindings to several vendor-specific extensions have been included
that are not found in the OpenGL extension registry.&nbsp; These extensions
were deemed popular enough and/or were specifically requested by users.</li>
- <li>Platform-specific extensions, such as those that begin with WGL, GLX,
+ <li>Platform-specific extensions, such as those that begin with WGL, GLX,
CGL, etc., have been excluded from the public API.&nbsp; See the section "Accessing
platform-specific extensions" for more information about accessing these
functions on certain implementations.<br>
- </li>
-
+ </li>
</ul>
<h4>OpenGL GLU API Inclusion Criteria</h4>
@@ -363,21 +421,30 @@ implementation.<br>
<br>
Therefore, any usage of these APIs is both platform and implementation specific.<br>
+<a name="GLRuntimeVersion"/>
<h3>OpenGL Version on Runtime System</h3>
+<a name="GL3RuntimeVersion"/>
+<h4> {@link javax.media.opengl.GL3 GL3} Desktop Requirements</h4>
+An OpenGL &ge; 3.1 version is required to instantiate a GL3 context.
+<br>
+<a name="GL2RuntimeVersion"/>
+<h4> {@link javax.media.opengl.GL2 GL2} Desktop Requirements</h4>
Even though OpenGL extensions whose functionality was included into core
-OpenGL by version 2.0, inclusive, are not included in the bindings, it should
-be noted that OpenGL version 2.0 is not an absolute requirement on the runtime
+OpenGL by version 3.0, inclusive, are not included in the bindings, it should
+be noted that OpenGL version 3.0 is not an absolute requirement on the runtime
system.&nbsp; This is because a user could query whether any particular function
is available before calling certain core APIs that might not be present.&nbsp;
Also, if the core function name is not available in the native OpenGL implementation,
the extension named equivalent is used instead, e.g. <i>GL_ARB_framebuffer_object</i>.&nbsp;
-However, in general, it is reasonable to expect at least OpenGL 2.0 to be
+However, in general, it is reasonable to expect at least OpenGL 1.5 to be
installed on the runtime system and an implementor of the API is free to require
-the presence of at least OpenGL 2.0 on the target system.<br>
+the presence of at least OpenGL 1.5 on the target system.<br>
+<b>The JOGL reference implementation require at least OpenGL version 1.1</b>,
+due to it's dynamical function binding starting with OpenGL 1.2.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>
In future revisions of the API, this minimum standard may be raised.<br>
-
+
<h3>Runtime Version Information</h3>
Any Java Bindings for OpenGL implementation should include version information
in its jar manifest file. &nbsp;This information can then easily be accessed
@@ -410,6 +477,15 @@ javax.media.opengl namespace via future maintenance updates to the API.<br>
http://www.khronos.org/registry/cl/</a></blockquote>
<ul>
+ <li>OpenGL 3.2 Core Specification</li>
+
+</ul>
+
+<blockquote><a
+ href="http://www.opengl.org/registry/doc/glspec32.core.20090803.pdf">
+http://www.opengl.org/registry/doc/glspec32.core.20090803.pdf</a></blockquote>
+
+<ul>
<li>OpenGL 3.1 Specification</li>
</ul>
@@ -419,6 +495,15 @@ http://www.khronos.org/registry/cl/</a></blockquote>
http://www.opengl.org/registry/doc/glspec31.20090324.pdf</a></blockquote>
<ul>
+ <li>OpenGL 3.0 Specification</li>
+
+</ul>
+
+<blockquote><a
+ href="http://www.opengl.org/registry/doc/glspec30.20080923.pdf">
+http://www.opengl.org/registry/doc/glspec30.20080923.pdf</a></blockquote>
+
+<ul>
<li>OpenGL 2.1 Specification</li>
</ul>
@@ -500,7 +585,7 @@ http://www.khronos.org/registry/gles/</a></blockquote>
<li> Proposed Final Draft Review, February/March 2006
<li> 1.0.0 Final Release, September 2006
<li> 1.1.0 Maintenance Release, April 2007
-<li> 1.2.0 Maintenance Release, June 2009
+<li> 2.0.0 Maintenance Release, July 2009
</ul>
<br>
<br>
diff --git a/make/lsGL23_commons.sh b/make/lsGL23_commons.sh
new file mode 100644
index 000000000..7c7161717
--- /dev/null
+++ b/make/lsGL23_commons.sh
@@ -0,0 +1,18 @@
+#! /bin/sh
+
+BUILDDIR=$1
+shift
+if [ -z "$BUILDDIR" ] ; then
+ echo "usage $0 <BUILDDIR>"
+ exit 1
+fi
+
+idir=$BUILDDIR/jogl/gensrc/classes/javax/media/opengl
+
+SOURCE="$idir/GL.java $idir/GL2ES1.java $idir/GL2ES2.java $idir/GLES1.java $idir/GLES2.java $idir/GL2GL3.java $idir/GL2.java $idir/GL3.java"
+
+echo GL GL2ES1 GL2ES2 GLES1 GLES2 GL2GL3 GL2 GL3 defines
+sort $SOURCE | uniq -d | grep GL_ | grep -v "Part of <code>"
+
+echo GL GL2ES1 GL2ES2 GLES1 GLES2 GL2GL3 GL2 GL3 functions
+sort $SOURCE | uniq -d | grep "public [a-z0-9_]* gl"
diff --git a/make/lsGL23_unique.sh b/make/lsGL23_unique.sh
new file mode 100644
index 000000000..e21112ecc
--- /dev/null
+++ b/make/lsGL23_unique.sh
@@ -0,0 +1,18 @@
+#! /bin/sh
+
+BUILDDIR=$1
+shift
+if [ -z "$BUILDDIR" ] ; then
+ echo "usage $0 <BUILDDIR>"
+ exit 1
+fi
+
+idir=$BUILDDIR/jogl/gensrc/classes/javax/media/opengl
+
+SOURCE="$idir/GL.java $idir/GLES2.java $idir/GL2ES2.java $idir/GL3.java $idir/GL2.java $idir/GL2GL3.java"
+
+echo GL2GL3 to GL2 GL3 Gl2ES2 GLES2 GL defines
+sort $SOURCE | uniq -u | grep GL_ | grep -v "Part of <code>" | awk ' { print $5 } '
+
+echo GL2GL3 to GL2 GL3 Gl2ES2 GLES2 GL functions
+sort $SOURCE | uniq -u | grep "public [a-z0-9_]* gl"
diff --git a/make/lsGL23toGL2ES1_commons.sh b/make/lsGL23toGL2ES1_commons.sh
new file mode 100644
index 000000000..83a543b3c
--- /dev/null
+++ b/make/lsGL23toGL2ES1_commons.sh
@@ -0,0 +1,18 @@
+#! /bin/sh
+
+BUILDDIR=$1
+shift
+if [ -z "$BUILDDIR" ] ; then
+ echo "usage $0 <BUILDDIR>"
+ exit 1
+fi
+
+idir=$BUILDDIR/jogl/gensrc/classes/javax/media/opengl
+
+echo GL2GL3 to GL2ES1 enums
+# sort $idir/GL2.java $idir/GL3.java $idir/GL2ES1.java $idir/GL2GL3.java | uniq -d | grep GL_ | awk ' { print $5 } '
+sort $idir/GL2.java $idir/GL3.java $idir/GL2ES1.java $idir/GL2GL3.java | uniq -d | grep GL_ | grep -v "Part of <code>"
+
+echo GL2GL3 to GL2ES1 functions
+# sort $idir/GL2.java $idir/GL3.java $idir/GL2ES1.java $idir/GL2GL3.java | uniq -d | grep "public [a-z0-9_]* gl"
+sort $idir/GL2.java $idir/GL3.java $idir/GL2ES1.java $idir/GL2GL3.java | uniq -d | grep "public [a-z0-9_]* gl"
diff --git a/make/lsGL2toGL3_commons.sh b/make/lsGL2toGL3_commons.sh
deleted file mode 100644
index cccfa734c..000000000
--- a/make/lsGL2toGL3_commons.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#! /bin/sh
-
-BUILDDIR=$1
-shift
-if [ -z "$BUILDDIR" ] ; then
- echo "usage $0 <BUILDDIR>"
- exit 1
-fi
-
-idir=$BUILDDIR/jogl/gensrc/classes/javax/media/opengl
-
-echo GL2 to GL3 enums
-sort $idir/GL2.java $idir/GL3.java $idir/GL2ES2.java | uniq -d | grep GL_ | awk ' { print $5 } '
-
-echo GL2 to GL3 functions
-sort $idir/GL2.java $idir/GL3.java $idir/GL2ES2.java | uniq -d | grep "public [a-z0-9_]* gl"
diff --git a/make/make.jogl.all.linux-x86.sh b/make/make.jogl.all.linux-x86.sh
index 2b791c6dd..081d8328b 100644
--- a/make/make.jogl.all.linux-x86.sh
+++ b/make/make.jogl.all.linux-x86.sh
@@ -9,16 +9,18 @@ fi
# -Dc.compiler.debug=true
# -DuseOpenMAX=true \
# -Dbuild.noarchives=true
+# -Dgluegen.cpptasks.detected.os=true \
+# -DisUnix=true \
+# -DisLinux=true \
+# -DisLinuxX86=true \
+# -DisX11=true \
+# -Djogl.cg=1 -Dx11.cg.lib=../../lib-linux-x86 \
ant \
-Dbuild.noarchives=true \
-Djogl.cg=1 -Dx11.cg.lib=../../lib-linux-x86 \
-Drootrel.build=build-x86 \
- -Dgluegen.cpptasks.detected.os=true \
- -DisUnix=true \
- -DisLinux=true \
- -DisLinuxX86=true \
- -DisX11=true \
+ -Dos.arch=x86 \
-DuseKD=true \
-DuseOpenMAX=true \
$* 2>&1 | tee make.jogl.all.linux-x86.log
diff --git a/make/make.jogl.all.linux-x86_64.sh b/make/make.jogl.all.linux-x86_64.sh
index b9e1d1789..90883f97c 100644
--- a/make/make.jogl.all.linux-x86_64.sh
+++ b/make/make.jogl.all.linux-x86_64.sh
@@ -8,14 +8,17 @@ fi
# -Dc.compiler.debug=true
# -Dbuild.noarchives=true
+# -Dgluegen.cpptasks.detected.os=true \
+# -DisUnix=true \
+# -DisLinux=true \
+# -DisLinuxAMD64=true \
+# -DisX11=true \
+
ant \
-Dbuild.noarchives=true \
-Djogl.cg=1 -Dx11.cg.lib=../../lib-linux-x86_64 \
-Dc.compiler.debug=true \
-Drootrel.build=build-x86_64 \
- -Dgluegen.cpptasks.detected.os=true \
- -DisUnix=true \
- -DisLinux=true \
- -DisLinuxAMD64=true \
- -DisX11=true \
+ -DuseKD=true \
+ -DuseOpenMAX=true \
$* 2>&1 | tee make.jogl.all.linux-x86_64.log
diff --git a/make/make.jogl.all.win32.bat b/make/make.jogl.all.win32.bat
index f4a52fa75..9ab77b051 100644
--- a/make/make.jogl.all.win32.bat
+++ b/make/make.jogl.all.win32.bat
@@ -9,4 +9,4 @@ REM -DuseOpenMAX=true
REM -DuseKD=true
REM -Djogl.cg=1 -D-Dwindows.cg.lib=C:\Cg-2.2
-ant -Drootrel.build=build-win32 -Djogl.cg=1 -Dwindows.cg.lib=C:\Cg-2.2\lib > make.jogl.all.win32.log 2>&1
+ant -Dbuild.noarchives=true -Dc.compiler.debug=true -Drootrel.build=build-win32 -Djogl.cg=1 -Dwindows.cg.lib=C:\Cg-2.2\lib > make.jogl.all.win32.log 2>&1
diff --git a/make/make.jogl.cdcfp.linux-x86.sh b/make/make.jogl.cdcfp.linux-x86.sh
index 67ef9fb65..4a2241669 100644
--- a/make/make.jogl.cdcfp.linux-x86.sh
+++ b/make/make.jogl.cdcfp.linux-x86.sh
@@ -23,7 +23,6 @@ ant -v \
-DisLinux=true \
-DisLinuxX86=true \
-DisX11=true \
- -DuseKD=true \
-DuseOpenMAX=true \
$* 2>&1 | tee make.jogl.cdcfp.linux-x86.log
diff --git a/make/stub_includes/egl/EGL/egl.h b/make/stub_includes/egl/EGL/egl.h
index 86ca4818f..fc6cc4c87 100755
--- a/make/stub_includes/egl/EGL/egl.h
+++ b/make/stub_includes/egl/EGL/egl.h
@@ -39,6 +39,8 @@ typedef void *EGLClientBuffer;
#define EGL_VERSION_1_3 1
#define EGL_VERSION_1_4 1
+#ifndef EGL_VERSION_1_X
+
/* EGL Enumerants. Bitmasks and other exceptional cases aside, most
* enums are assigned unique values starting at 0x3000.
*/
@@ -226,7 +228,10 @@ typedef void *EGLClientBuffer;
* a bug in Khronos Bugzilla against task "Registry".
*/
+#endif /* EGL_VERSION_1_X */
+#ifndef EGL_VERSION_1_X
+#define EGL_VERSION_1_X 1
/* EGL Functions */
@@ -300,6 +305,8 @@ EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers(EGLDisplay dpy, EGLSurface surface,
typedef void (* EGLAPIENTRY __EGLFuncPtr)(void);
EGLAPI __EGLFuncPtr eglGetProcAddress(const char *procname);
+#endif /* EGL_VERSION_1_X */
+
#ifdef __cplusplus
}
#endif
diff --git a/make/stub_includes/egl/EGL/eglext.h b/make/stub_includes/egl/EGL/eglext.h
index 5afa60118..7d7347e71 100755
--- a/make/stub_includes/egl/EGL/eglext.h
+++ b/make/stub_includes/egl/EGL/eglext.h
@@ -90,7 +90,7 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay display
#define EGL_KHR_image 1
#define EGL_NATIVE_PIXMAP_KHR 0x30B0 /* eglCreateImageKHR target */
typedef void *EGLImageKHR;
-#define EGL_NO_IMAGE_KHR ((EGLImageKHR)0)
+/* Manual: #define EGL_NO_IMAGE_KHR ((EGLImageKHR)0) */
#ifdef EGL_EGLEXT_PROTOTYPES
EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, EGLint *attr_list);
EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
@@ -160,8 +160,8 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGL
#define EGL_RAW_VALUE_NV 0x1239
#define EGL_PERCENTAGE_VALUE_NV 0x1240
#define EGL_BAD_CURRENT_PERFMONITOR_NV 0x1241
-#define EGL_NO_PERFMONITOR_NV ((EGLPerfMonitorNV)0)
-#define EGL_DEFAULT_PERFMARKER_NV ((EGLPerfMarkerNV)0)
+/* Manual: #define EGL_NO_PERFMONITOR_NV ((EGLPerfMonitorNV)0) */
+/* Manual: #define EGL_DEFAULT_PERFMARKER_NV ((EGLPerfMarkerNV)0) */
typedef void *EGLPerfMonitorNV;
typedef void *EGLPerfMarkerNV;
#ifdef USE_GLUEGEN
@@ -272,31 +272,10 @@ EGLAPI EGLBoolean EGLAPIENTRY eglNvmaOutputSurfacePbufferUnlock(EGLDisplay displ
#endif
-/* EGL_KHR_sync
+/**
+ * EGL_KHR_sync
*/
#ifndef EGL_KHR_sync
-#define EGL_KHR_sync 1
-typedef void* EGLSyncKHR;
-typedef void* NativeSyncKHR;
-typedef uint64_t EGLTimeKHR;
-#ifdef EGL_EGLEXT_PROTOTYPES
-EGLSyncKHR eglCreateFenceSyncKHR( EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list );
-NativeSyncKHR eglCreateNativeSyncKHR( EGLSyncKHR sync );
-EGLBoolean eglDestroySyncKHR( EGLSyncKHR sync );
-EGLBoolean eglFenceKHR( EGLSyncKHR sync );
-EGLint eglClientWaitSyncKHR( EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout );
-EGLBoolean eglSignalSyncKHR( EGLSyncKHR sync, EGLenum mode );
-EGLBoolean eglGetSyncAttribKHR( EGLSyncKHR sync, EGLint attribute, EGLint *value );
-#else
-typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATEFENCESYNCKHRPROC)( EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list );
-typedef NativeSyncKHR (EGLAPIENTRYP PFNEGLCREATENATIVESYNCKHRPROC)( EGLSyncKHR sync );
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC)( EGLSyncKHR sync );
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCEKHRPROC)( EGLSyncKHR sync );
-typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC)( EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout );
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC)( EGLSyncKHR sync, EGLenum mode );
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC)( EGLSyncKHR sync, EGLint attribute, EGLint *value );
-#endif
-
/* !!!!! TODO: Get correct values for these defines !!!!
Do not rely on these values...THEY WILL CHANGE!
And it WILL BREAK binary compatibility when they do! */
@@ -306,7 +285,7 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC)( EGLSyncKHR sync, E
#define EGL_SIGNALED_KHR 0x3103
#define EGL_UNSIGNALED_KHR 0x3104
#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001
-#define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull
+/* Manual: #define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull */
#define EGL_ALREADY_SIGNALED_KHR 0x3105
#define EGL_TIMEOUT_EXPIRED_KHR 0x3106
#define EGL_CONDITION_SATISFIED_KHR 0x3107
@@ -314,9 +293,32 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC)( EGLSyncKHR sync, E
#define EGL_SYNC_CONDITION_KHR 0x3109
#define EGL_SYNC_FENCE_KHR 0x310A
#define EGL_NO_SYNC_KHR 0x0000
-#endif
+typedef void* EGLSyncKHR;
+typedef void* NativeSyncKHR;
+typedef uint64_t EGLTimeKHR;
+
+#endif
+#ifndef EGL_KHR_sync
+#define EGL_KHR_sync 1
+#ifdef EGL_EGLEXT_PROTOTYPES
+EGLSyncKHR eglCreateFenceSyncKHR( EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list );
+NativeSyncKHR eglCreateNativeSyncKHR( EGLSyncKHR sync );
+EGLBoolean eglDestroySyncKHR( EGLSyncKHR sync );
+EGLBoolean eglFenceKHR( EGLSyncKHR sync );
+EGLint eglClientWaitSyncKHR( EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout );
+EGLBoolean eglSignalSyncKHR( EGLSyncKHR sync, EGLenum mode );
+EGLBoolean eglGetSyncAttribKHR( EGLSyncKHR sync, EGLint attribute, EGLint *value );
+#endif
+typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATEFENCESYNCKHRPROC)( EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list );
+typedef NativeSyncKHR (EGLAPIENTRYP PFNEGLCREATENATIVESYNCKHRPROC)( EGLSyncKHR sync );
+typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC)( EGLSyncKHR sync );
+typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCEKHRPROC)( EGLSyncKHR sync );
+typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC)( EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout );
+typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC)( EGLSyncKHR sync, EGLenum mode );
+typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC)( EGLSyncKHR sync, EGLint attribute, EGLint *value );
+#endif
/* EGL_NV_omx_il_sink
*/
diff --git a/make/stub_includes/opengl/GL/glext.h b/make/stub_includes/opengl/GL/glext.h
index e6c6fab40..b2c23a822 100644
--- a/make/stub_includes/opengl/GL/glext.h
+++ b/make/stub_includes/opengl/GL/glext.h
@@ -1185,6 +1185,13 @@ extern "C" {
#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
#endif
+#ifndef GL_EXT_texture_rectangle
+#define GL_TEXTURE_RECTANGLE_EXT 0x84F5
+#define GL_TEXTURE_BINDING_RECTANGLE_EXT 0x84F6
+#define GL_PROXY_TEXTURE_RECTANGLE_EXT 0x84F7
+#define GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT 0x84F8
+#endif
+
#ifndef GL_ARB_color_buffer_float
#define GL_RGBA_FLOAT_MODE_ARB 0x8820
#define GL_CLAMP_VERTEX_COLOR_ARB 0x891A
@@ -3150,16 +3157,6 @@ extern "C" {
#define GL_LOCAL_CONSTANT_DATATYPE_EXT 0x87ED
#endif
-/* Support for GL_EXT_texture_rectangle on non-nVidia cards */
-#ifndef GL_EXT_texture_rectangle
-#define GL_EXT_texture_rectangle 1
-#define GL_TEXTURE_RECTANGLE_EXT 0x84F5
-#define GL_TEXTURE_BINDING_RECTANGLE_EXT 0x84F6
-#define GL_PROXY_TEXTURE_RECTANGLE_EXT 0x84F7
-#define GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT 0x84F8
-#endif /* GL_TEXTURE_RECTANGLE_EXT */
-
-
#ifndef GL_ATI_vertex_streams
#define GL_MAX_VERTEX_STREAMS_ATI 0x876B
#define GL_VERTEX_STREAM0_ATI 0x876C
@@ -3318,6 +3315,23 @@ extern "C" {
#define GL_MODULATE_SUBTRACT_ATI 0x8746
#endif
+#ifndef GL_APPLE_float_pixels
+#define GL_HALF_APPLE 0x140B
+#define GL_COLOR_FLOAT_APPLE 0x8A0F
+#define GL_RGBA_FLOAT32_APPLE 0x8814
+#define GL_RGB_FLOAT32_APPLE 0x8815
+#define GL_ALPHA_FLOAT32_APPLE 0x8816
+#define GL_INTENSITY_FLOAT32_APPLE 0x8817
+#define GL_LUMINANCE_FLOAT32_APPLE 0x8818
+#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819
+#define GL_RGBA_FLOAT16_APPLE 0x881A
+#define GL_RGB_FLOAT16_APPLE 0x881B
+#define GL_ALPHA_FLOAT16_APPLE 0x881C
+#define GL_INTENSITY_FLOAT16_APPLE 0x881D
+#define GL_LUMINANCE_FLOAT16_APPLE 0x881E
+#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881F
+#endif
+
#ifndef GL_ATI_texture_float
#define GL_RGBA_FLOAT32_ATI 0x8814
#define GL_RGB_FLOAT32_ATI 0x8815
@@ -3549,8 +3563,8 @@ extern "C" {
#ifndef GL_EXT_framebuffer_blit
#define GL_READ_FRAMEBUFFER_EXT 0x8CA8
#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9
-#define GL_READ_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING_EXT
-#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CAA
+#define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING_EXT
+#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA
#endif
#ifndef GL_EXT_framebuffer_multisample
@@ -3792,7 +3806,7 @@ extern "C" {
#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV 0x8DA6
#endif
-#ifndef NV_parameter_buffer_object
+#ifndef GL_NV_parameter_buffer_object
#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8DA0
#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV 0x8DA1
#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV 0x8DA2
@@ -3810,9 +3824,9 @@ extern "C" {
#endif
#ifndef GL_EXT_texture_compression_rgtc
-#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB
-#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC
-#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD
+#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB
+#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC
+#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD
#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE
#endif
@@ -4475,7 +4489,7 @@ GLAPI void APIENTRY glEndTransformFeedback (void);
GLAPI void APIENTRY glBindBufferRange (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
GLAPI void APIENTRY glBindBufferBase (GLenum, GLuint, GLuint);
GLAPI void APIENTRY glTransformFeedbackVaryings (GLuint, GLsizei, const GLchar **, GLenum);
-GLAPI void APIENTRY glGetTransformFeedbackVarying (GLuint, GLuint, GLint *);
+GLAPI void APIENTRY glGetTransformFeedbackVarying (GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *);
GLAPI void APIENTRY glClampColor (GLenum, GLenum);
GLAPI void APIENTRY glBeginConditionalRender (GLuint, GLenum);
GLAPI void APIENTRY glEndConditionalRender (void);
@@ -4534,7 +4548,7 @@ typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC) (void);
typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer);
typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode);
-typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLint *location);
+typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
typedef void (APIENTRYP PFNGLCLAMPCOLORPROC) (GLenum target, GLenum clamp);
typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC) (GLuint id, GLenum mode);
typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC) (void);
@@ -5142,6 +5156,10 @@ typedef void (APIENTRYP PFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum *bufs)
#define GL_ARB_texture_rectangle 1
#endif
+#ifndef GL_EXT_texture_rectangle
+#define GL_EXT_texture_rectangle 1
+#endif
+
#ifndef GL_ARB_color_buffer_float
#define GL_ARB_color_buffer_float 1
#ifdef GL_GLEXT_PROTOTYPES
@@ -5255,10 +5273,10 @@ typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divi
#ifndef GL_ARB_map_buffer_range
#define GL_ARB_map_buffer_range 1
#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glMapBufferRange (GLenum, GLintptr, GLsizeiptr, GLbitfield);
+GLAPI GLvoid* APIENTRY glMapBufferRange (GLenum, GLintptr, GLsizeiptr, GLbitfield);
GLAPI void APIENTRY glFlushMappedBufferRange (GLenum, GLintptr, GLsizeiptr);
#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
+typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
#endif
@@ -7329,6 +7347,10 @@ typedef void (APIENTRYP PFNGLDRAWBUFFERSATIPROC) (GLsizei n, const GLenum *bufs)
#define GL_ATI_texture_env_combine3 1
#endif
+#ifndef GL_APPLE_float_pixels
+#define GL_APPLE_float_pixels 1
+#endif
+
#ifndef GL_ATI_texture_float
#define GL_ATI_texture_float 1
#endif
@@ -7970,14 +7992,493 @@ typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei
#define GL_EXT_texture_compression_rgtc 1
#endif
+#ifndef GL_NV_present_video
+#define GL_NV_present_video 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glPresentFrameKeyedNV (GLuint video_slot,
+ GLuint64EXT minPresentTime,
+ GLuint beginPresentTimeId,
+ GLuint presentDurationId,
+ GLenum type,
+ GLenum target0, GLuint fill0, GLuint key0,
+ GLenum target1, GLuint fill1, GLuint key1);
+GLAPI void APIENTRY glPresentFrameDualFillNV (GLuint video_slot,
+ GLuint64EXT minPresentTime,
+ GLuint beginPresentTimeId,
+ GLuint presentDurationId,
+ GLenum type,
+ GLenum target0, GLuint fill0,
+ GLenum target1, GLuint fill1,
+ GLenum target2, GLuint fill2,
+ GLenum target3, GLuint fill3);
+GLAPI void APIENTRY glGetVideoivNV (GLuint video_slot, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetVideouivNV (GLuint video_slot, GLenum pname, GLuint *params);
+GLAPI void APIENTRY glGetVideoi64vNV (GLuint video_slot, GLenum pname, GLint64EXT *params);
+GLAPI void APIENTRY glGetVideoui64vNV (GLuint video_slot, GLenum pname, GLuint64EXT *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPRESENTFRAMEKEYEDNVPROC) (GLuint video_slot,
+ GLuint64EXT minPresentTime,
+ GLuint beginPresentTimeId,
+ GLuint presentDurationId,
+ GLenum type,
+ GLenum target0, GLuint fill0, GLuint key0,
+ GLenum target1, GLuint fill1, GLuint key1);
+typedef void (APIENTRYP PFNGLPRESENTFRAMEDUALFILLNVPROC) (GLuint video_slot,
+ GLuint64EXT minPresentTime,
+ GLuint beginPresentTimeId,
+ GLuint presentDurationId,
+ GLenum type,
+ GLenum target0, GLuint fill0,
+ GLenum target1, GLuint fill1,
+ GLenum target2, GLuint fill2,
+ GLenum target3, GLuint fill3);
+typedef void (APIENTRYP PFNGLGETVIDEOIVNVPROC) (GLuint video_slot, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETVIDEOUIVNVPROC) (GLuint video_slot, GLenum pname, GLuint *params);
+typedef void (APIENTRYP PFNGLGETVIDEOI64VNVPROC) (GLuint video_slot, GLenum pname, GLint64EXT *params);
+typedef void (APIENTRYP PFNGLGETVIDEOUI64VNVPROC) (GLuint video_slot, GLenum pname, GLuint64EXT *params);
+#endif
+
+#ifndef GL_NV_conditional_render
+#define GL_NV_conditional_render 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBeginConditionalRenderNV (GLuint id, GLenum mode);
+GLAPI void APIENTRY glEndConditionalRenderNV (void);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode);
+typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERNVPROC) (void);
+#endif
+
+#ifndef GL_EXT_transform_feedback
+#define GL_EXT_transform_feedback 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBeginTransformFeedbackEXT (GLenum);
+GLAPI void APIENTRY glEndTransformFeedbackEXT (void);
+GLAPI void APIENTRY glBindBufferRangeEXT (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
+GLAPI void APIENTRY glBindBufferOffsetEXT (GLenum, GLuint, GLuint, GLintptr);
+GLAPI void APIENTRY glBindBufferBaseEXT (GLenum, GLuint, GLuint);
+GLAPI void APIENTRY glTransformFeedbackVaryingsEXT (GLuint, GLsizei, const GLchar **, GLenum);
+GLAPI void APIENTRY glGetTransformFeedbackVaryingEXT (GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKEXTPROC) (GLenum primitiveMode);
+typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKEXTPROC) (void);
+typedef void (APIENTRYP PFNGLBINDBUFFERRANGEEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+typedef void (APIENTRYP PFNGLBINDBUFFEROFFSETEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
+typedef void (APIENTRYP PFNGLBINDBUFFERBASEEXTPROC) (GLenum target, GLuint index, GLuint buffer);
+typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC) (GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode);
+typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+#endif
+
+#ifndef GL_EXT_direct_state_access
+#define GL_EXT_direct_state_access 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glClientAttribDefaultEXT (GLbitfield);
+GLAPI void APIENTRY glPushClientAttribDefaultEXT (GLbitfield);
+GLAPI void APIENTRY glMatrixLoadfEXT (GLenum, const GLfloat *);
+GLAPI void APIENTRY glMatrixLoaddEXT (GLenum, const GLdouble *);
+GLAPI void APIENTRY glMatrixMultfEXT (GLenum, const GLfloat *);
+GLAPI void APIENTRY glMatrixMultdEXT (GLenum, const GLdouble *);
+GLAPI void APIENTRY glMatrixLoadIdentityEXT (GLenum);
+GLAPI void APIENTRY glMatrixRotatefEXT (GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI void APIENTRY glMatrixRotatedEXT (GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI void APIENTRY glMatrixScalefEXT (GLenum, GLfloat, GLfloat, GLfloat);
+GLAPI void APIENTRY glMatrixScaledEXT (GLenum, GLdouble, GLdouble, GLdouble);
+GLAPI void APIENTRY glMatrixTranslatefEXT (GLenum, GLfloat, GLfloat, GLfloat);
+GLAPI void APIENTRY glMatrixTranslatedEXT (GLenum, GLdouble, GLdouble, GLdouble);
+GLAPI void APIENTRY glMatrixFrustumEXT (GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI void APIENTRY glMatrixOrthoEXT (GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI void APIENTRY glMatrixPopEXT (GLenum);
+GLAPI void APIENTRY glMatrixPushEXT (GLenum);
+GLAPI void APIENTRY glMatrixLoadTransposefEXT (GLenum, const GLfloat *);
+GLAPI void APIENTRY glMatrixLoadTransposedEXT (GLenum, const GLdouble *);
+GLAPI void APIENTRY glMatrixMultTransposefEXT (GLenum, const GLfloat *);
+GLAPI void APIENTRY glMatrixMultTransposedEXT (GLenum, const GLdouble *);
+GLAPI void APIENTRY glTextureParameterfEXT (GLuint, GLenum, GLenum, GLfloat);
+GLAPI void APIENTRY glTextureParameterfvEXT (GLuint, GLenum, GLenum, const GLfloat *);
+GLAPI void APIENTRY glTextureParameteriEXT (GLuint, GLenum, GLenum, GLint);
+GLAPI void APIENTRY glTextureParameterivEXT (GLuint, GLenum, GLenum, const GLint *);
+GLAPI void APIENTRY glTextureImage1DEXT (GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
+GLAPI void APIENTRY glTextureImage2DEXT (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
+GLAPI void APIENTRY glTextureSubImage1DEXT (GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
+GLAPI void APIENTRY glTextureSubImage2DEXT (GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
+GLAPI void APIENTRY glCopyTextureImage1DEXT (GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
+GLAPI void APIENTRY glCopyTextureImage2DEXT (GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
+GLAPI void APIENTRY glCopyTextureSubImage1DEXT (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei);
+GLAPI void APIENTRY glCopyTextureSubImage2DEXT (GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
+GLAPI void APIENTRY glGetTextureImageEXT (GLuint, GLenum, GLint, GLenum, GLenum, GLvoid *);
+GLAPI void APIENTRY glGetTextureParameterfvEXT (GLuint, GLenum, GLenum, GLfloat *);
+GLAPI void APIENTRY glGetTextureParameterivEXT (GLuint, GLenum, GLenum, GLint *);
+GLAPI void APIENTRY glGetTextureLevelParameterfvEXT (GLuint, GLenum, GLint, GLenum, GLfloat *);
+GLAPI void APIENTRY glGetTextureLevelParameterivEXT (GLuint, GLenum, GLint, GLenum, GLint *);
+GLAPI void APIENTRY glTextureImage3DEXT (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
+GLAPI void APIENTRY glTextureSubImage3DEXT (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
+GLAPI void APIENTRY glCopyTextureSubImage3DEXT (GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
+GLAPI void APIENTRY glMultiTexParameterfEXT (GLenum, GLenum, GLenum, GLfloat);
+GLAPI void APIENTRY glMultiTexParameterfvEXT (GLenum, GLenum, GLenum, const GLfloat *);
+GLAPI void APIENTRY glMultiTexParameteriEXT (GLenum, GLenum, GLenum, GLint);
+GLAPI void APIENTRY glMultiTexParameterivEXT (GLenum, GLenum, GLenum, const GLint *);
+GLAPI void APIENTRY glMultiTexImage1DEXT (GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
+GLAPI void APIENTRY glMultiTexImage2DEXT (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
+GLAPI void APIENTRY glMultiTexSubImage1DEXT (GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
+GLAPI void APIENTRY glMultiTexSubImage2DEXT (GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
+GLAPI void APIENTRY glCopyMultiTexImage1DEXT (GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
+GLAPI void APIENTRY glCopyMultiTexImage2DEXT (GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
+GLAPI void APIENTRY glCopyMultiTexSubImage1DEXT (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei);
+GLAPI void APIENTRY glCopyMultiTexSubImage2DEXT (GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
+GLAPI void APIENTRY glGetMultiTexImageEXT (GLenum, GLenum, GLint, GLenum, GLenum, GLvoid *);
+GLAPI void APIENTRY glGetMultiTexParameterfvEXT (GLenum, GLenum, GLenum, GLfloat *);
+GLAPI void APIENTRY glGetMultiTexParameterivEXT (GLenum, GLenum, GLenum, GLint *);
+GLAPI void APIENTRY glGetMultiTexLevelParameterfvEXT (GLenum, GLenum, GLint, GLenum, GLfloat *);
+GLAPI void APIENTRY glGetMultiTexLevelParameterivEXT (GLenum, GLenum, GLint, GLenum, GLint *);
+GLAPI void APIENTRY glMultiTexImage3DEXT (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
+GLAPI void APIENTRY glMultiTexSubImage3DEXT (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
+GLAPI void APIENTRY glCopyMultiTexSubImage3DEXT (GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
+GLAPI void APIENTRY glBindMultiTextureEXT (GLenum, GLenum, GLuint);
+GLAPI void APIENTRY glEnableClientStateIndexedEXT (GLenum, GLuint);
+GLAPI void APIENTRY glDisableClientStateIndexedEXT (GLenum, GLuint);
+GLAPI void APIENTRY glMultiTexCoordPointerEXT (GLenum, GLint, GLenum, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glMultiTexEnvfEXT (GLenum, GLenum, GLenum, GLfloat);
+GLAPI void APIENTRY glMultiTexEnvfvEXT (GLenum, GLenum, GLenum, const GLfloat *);
+GLAPI void APIENTRY glMultiTexEnviEXT (GLenum, GLenum, GLenum, GLint);
+GLAPI void APIENTRY glMultiTexEnvivEXT (GLenum, GLenum, GLenum, const GLint *);
+GLAPI void APIENTRY glMultiTexGendEXT (GLenum, GLenum, GLenum, GLdouble);
+GLAPI void APIENTRY glMultiTexGendvEXT (GLenum, GLenum, GLenum, const GLdouble *);
+GLAPI void APIENTRY glMultiTexGenfEXT (GLenum, GLenum, GLenum, GLfloat);
+GLAPI void APIENTRY glMultiTexGenfvEXT (GLenum, GLenum, GLenum, const GLfloat *);
+GLAPI void APIENTRY glMultiTexGeniEXT (GLenum, GLenum, GLenum, GLint);
+GLAPI void APIENTRY glMultiTexGenivEXT (GLenum, GLenum, GLenum, const GLint *);
+GLAPI void APIENTRY glGetMultiTexEnvfvEXT (GLenum, GLenum, GLenum, GLfloat *);
+GLAPI void APIENTRY glGetMultiTexEnvivEXT (GLenum, GLenum, GLenum, GLint *);
+GLAPI void APIENTRY glGetMultiTexGendvEXT (GLenum, GLenum, GLenum, GLdouble *);
+GLAPI void APIENTRY glGetMultiTexGenfvEXT (GLenum, GLenum, GLenum, GLfloat *);
+GLAPI void APIENTRY glGetMultiTexGenivEXT (GLenum, GLenum, GLenum, GLint *);
+GLAPI void APIENTRY glGetFloatIndexedvEXT (GLenum, GLuint, GLfloat *);
+GLAPI void APIENTRY glGetDoubleIndexedvEXT (GLenum, GLuint, GLdouble *);
+GLAPI void APIENTRY glGetPointerIndexedvEXT (GLenum, GLuint, GLvoid* *);
+GLAPI void APIENTRY glCompressedTextureImage3DEXT (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glCompressedTextureImage2DEXT (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glCompressedTextureImage1DEXT (GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glCompressedTextureSubImage3DEXT (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glCompressedTextureSubImage2DEXT (GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glCompressedTextureSubImage1DEXT (GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glGetCompressedTextureImageEXT (GLuint, GLenum, GLint, GLvoid *);
+GLAPI void APIENTRY glCompressedMultiTexImage3DEXT (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glCompressedMultiTexImage2DEXT (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glCompressedMultiTexImage1DEXT (GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glCompressedMultiTexSubImage3DEXT (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glCompressedMultiTexSubImage2DEXT (GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glCompressedMultiTexSubImage1DEXT (GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glGetCompressedMultiTexImageEXT (GLenum, GLenum, GLint, GLvoid *);
+GLAPI void APIENTRY glNamedProgramStringEXT (GLuint, GLenum, GLenum, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glNamedProgramLocalParameter4dEXT (GLuint, GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI void APIENTRY glNamedProgramLocalParameter4dvEXT (GLuint, GLenum, GLuint, const GLdouble *);
+GLAPI void APIENTRY glNamedProgramLocalParameter4fEXT (GLuint, GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI void APIENTRY glNamedProgramLocalParameter4fvEXT (GLuint, GLenum, GLuint, const GLfloat *);
+GLAPI void APIENTRY glGetNamedProgramLocalParameterdvEXT (GLuint, GLenum, GLuint, GLdouble *);
+GLAPI void APIENTRY glGetNamedProgramLocalParameterfvEXT (GLuint, GLenum, GLuint, GLfloat *);
+GLAPI void APIENTRY glGetNamedProgramivEXT (GLuint, GLenum, GLenum, GLint *);
+GLAPI void APIENTRY glGetNamedProgramStringEXT (GLuint, GLenum, GLenum, GLvoid *);
+GLAPI void APIENTRY glNamedProgramLocalParameters4fvEXT (GLuint, GLenum, GLuint, GLsizei, const GLfloat *);
+GLAPI void APIENTRY glNamedProgramLocalParameterI4iEXT (GLuint, GLenum, GLuint, GLint, GLint, GLint, GLint);
+GLAPI void APIENTRY glNamedProgramLocalParameterI4ivEXT (GLuint, GLenum, GLuint, const GLint *);
+GLAPI void APIENTRY glNamedProgramLocalParametersI4ivEXT (GLuint, GLenum, GLuint, GLsizei, const GLint *);
+GLAPI void APIENTRY glNamedProgramLocalParameterI4uiEXT (GLuint, GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
+GLAPI void APIENTRY glNamedProgramLocalParameterI4uivEXT (GLuint, GLenum, GLuint, const GLuint *);
+GLAPI void APIENTRY glNamedProgramLocalParametersI4uivEXT (GLuint, GLenum, GLuint, GLsizei, const GLuint *);
+GLAPI void APIENTRY glGetNamedProgramLocalParameterIivEXT (GLuint, GLenum, GLuint, GLint *);
+GLAPI void APIENTRY glGetNamedProgramLocalParameterIuivEXT (GLuint, GLenum, GLuint, GLuint *);
+GLAPI void APIENTRY glTextureParameterIivEXT (GLuint, GLenum, GLenum, const GLint *);
+GLAPI void APIENTRY glTextureParameterIuivEXT (GLuint, GLenum, GLenum, const GLuint *);
+GLAPI void APIENTRY glGetTextureParameterIivEXT (GLuint, GLenum, GLenum, GLint *);
+GLAPI void APIENTRY glGetTextureParameterIuivEXT (GLuint, GLenum, GLenum, GLuint *);
+GLAPI void APIENTRY glMultiTexParameterIivEXT (GLenum, GLenum, GLenum, const GLint *);
+GLAPI void APIENTRY glMultiTexParameterIuivEXT (GLenum, GLenum, GLenum, const GLuint *);
+GLAPI void APIENTRY glGetMultiTexParameterIivEXT (GLenum, GLenum, GLenum, GLint *);
+GLAPI void APIENTRY glGetMultiTexParameterIuivEXT (GLenum, GLenum, GLenum, GLuint *);
+GLAPI void APIENTRY glProgramUniform1fEXT (GLuint, GLint, GLfloat);
+GLAPI void APIENTRY glProgramUniform2fEXT (GLuint, GLint, GLfloat, GLfloat);
+GLAPI void APIENTRY glProgramUniform3fEXT (GLuint, GLint, GLfloat, GLfloat, GLfloat);
+GLAPI void APIENTRY glProgramUniform4fEXT (GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI void APIENTRY glProgramUniform1iEXT (GLuint, GLint, GLint);
+GLAPI void APIENTRY glProgramUniform2iEXT (GLuint, GLint, GLint, GLint);
+GLAPI void APIENTRY glProgramUniform3iEXT (GLuint, GLint, GLint, GLint, GLint);
+GLAPI void APIENTRY glProgramUniform4iEXT (GLuint, GLint, GLint, GLint, GLint, GLint);
+GLAPI void APIENTRY glProgramUniform1fvEXT (GLuint, GLint, GLsizei, const GLfloat *);
+GLAPI void APIENTRY glProgramUniform2fvEXT (GLuint, GLint, GLsizei, const GLfloat *);
+GLAPI void APIENTRY glProgramUniform3fvEXT (GLuint, GLint, GLsizei, const GLfloat *);
+GLAPI void APIENTRY glProgramUniform4fvEXT (GLuint, GLint, GLsizei, const GLfloat *);
+GLAPI void APIENTRY glProgramUniform1ivEXT (GLuint, GLint, GLsizei, const GLint *);
+GLAPI void APIENTRY glProgramUniform2ivEXT (GLuint, GLint, GLsizei, const GLint *);
+GLAPI void APIENTRY glProgramUniform3ivEXT (GLuint, GLint, GLsizei, const GLint *);
+GLAPI void APIENTRY glProgramUniform4ivEXT (GLuint, GLint, GLsizei, const GLint *);
+GLAPI void APIENTRY glProgramUniformMatrix2fvEXT (GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
+GLAPI void APIENTRY glProgramUniformMatrix3fvEXT (GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
+GLAPI void APIENTRY glProgramUniformMatrix4fvEXT (GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
+GLAPI void APIENTRY glProgramUniformMatrix2x3fvEXT (GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
+GLAPI void APIENTRY glProgramUniformMatrix3x2fvEXT (GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
+GLAPI void APIENTRY glProgramUniformMatrix2x4fvEXT (GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
+GLAPI void APIENTRY glProgramUniformMatrix4x2fvEXT (GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
+GLAPI void APIENTRY glProgramUniformMatrix3x4fvEXT (GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
+GLAPI void APIENTRY glProgramUniformMatrix4x3fvEXT (GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
+GLAPI void APIENTRY glProgramUniform1uiEXT (GLuint, GLint, GLuint);
+GLAPI void APIENTRY glProgramUniform2uiEXT (GLuint, GLint, GLuint, GLuint);
+GLAPI void APIENTRY glProgramUniform3uiEXT (GLuint, GLint, GLuint, GLuint, GLuint);
+GLAPI void APIENTRY glProgramUniform4uiEXT (GLuint, GLint, GLuint, GLuint, GLuint, GLuint);
+GLAPI void APIENTRY glProgramUniform1uivEXT (GLuint, GLint, GLsizei, const GLuint *);
+GLAPI void APIENTRY glProgramUniform2uivEXT (GLuint, GLint, GLsizei, const GLuint *);
+GLAPI void APIENTRY glProgramUniform3uivEXT (GLuint, GLint, GLsizei, const GLuint *);
+GLAPI void APIENTRY glProgramUniform4uivEXT (GLuint, GLint, GLsizei, const GLuint *);
+GLAPI void APIENTRY glNamedBufferDataEXT (GLuint, GLsizeiptr, const GLvoid *, GLenum);
+GLAPI void APIENTRY glNamedBufferSubDataEXT (GLuint, GLintptr, GLsizeiptr, const GLvoid *);
+GLAPI GLvoid* APIENTRY glMapNamedBufferEXT (GLuint, GLenum);
+GLAPI GLboolean APIENTRY glUnmapNamedBufferEXT (GLuint);
+GLAPI void APIENTRY glGetNamedBufferParameterivEXT (GLuint, GLenum, GLint *);
+GLAPI void APIENTRY glGetNamedBufferPointervEXT (GLuint, GLenum, GLvoid* *);
+GLAPI void APIENTRY glGetNamedBufferSubDataEXT (GLuint, GLintptr, GLsizeiptr, GLvoid *);
+GLAPI void APIENTRY glTextureBufferEXT (GLuint, GLenum, GLenum, GLuint);
+GLAPI void APIENTRY glMultiTexBufferEXT (GLenum, GLenum, GLenum, GLuint);
+GLAPI void APIENTRY glNamedRenderbufferStorageEXT (GLuint, GLenum, GLsizei, GLsizei);
+GLAPI void APIENTRY glGetNamedRenderbufferParameterivEXT (GLuint, GLenum, GLint *);
+GLAPI GLenum APIENTRY glCheckNamedFramebufferStatusEXT (GLuint, GLenum);
+GLAPI void APIENTRY glNamedFramebufferTexture1DEXT (GLuint, GLenum, GLenum, GLuint, GLint);
+GLAPI void APIENTRY glNamedFramebufferTexture2DEXT (GLuint, GLenum, GLenum, GLuint, GLint);
+GLAPI void APIENTRY glNamedFramebufferTexture3DEXT (GLuint, GLenum, GLenum, GLuint, GLint, GLint);
+GLAPI void APIENTRY glNamedFramebufferRenderbufferEXT (GLuint, GLenum, GLenum, GLuint);
+GLAPI void APIENTRY glGetNamedFramebufferAttachmentParameterivEXT (GLuint, GLenum, GLenum, GLint *);
+GLAPI void APIENTRY glGenerateTextureMipmapEXT (GLuint, GLenum);
+GLAPI void APIENTRY glGenerateMultiTexMipmapEXT (GLenum, GLenum);
+GLAPI void APIENTRY glFramebufferDrawBufferEXT (GLuint, GLenum);
+GLAPI void APIENTRY glFramebufferDrawBuffersEXT (GLuint, GLsizei, const GLenum *);
+GLAPI void APIENTRY glFramebufferReadBufferEXT (GLuint, GLenum);
+GLAPI void APIENTRY glGetFramebufferParameterivEXT (GLuint, GLenum, GLint *);
+GLAPI void APIENTRY glNamedRenderbufferStorageMultisampleEXT (GLuint, GLsizei, GLenum, GLsizei, GLsizei);
+GLAPI void APIENTRY glNamedRenderbufferStorageMultisampleCoverageEXT (GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei);
+GLAPI void APIENTRY glNamedFramebufferTextureEXT (GLuint, GLenum, GLuint, GLint);
+GLAPI void APIENTRY glNamedFramebufferTextureLayerEXT (GLuint, GLenum, GLuint, GLint, GLint);
+GLAPI void APIENTRY glNamedFramebufferTextureFaceEXT (GLuint, GLenum, GLuint, GLint, GLenum);
+GLAPI void APIENTRY glTextureRenderbufferEXT (GLuint, GLenum, GLuint);
+GLAPI void APIENTRY glMultiTexRenderbufferEXT (GLenum, GLenum, GLuint);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask);
+typedef void (APIENTRYP PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask);
+typedef void (APIENTRYP PFNGLMATRIXLOADFEXTPROC) (GLenum mode, const GLfloat *m);
+typedef void (APIENTRYP PFNGLMATRIXLOADDEXTPROC) (GLenum mode, const GLdouble *m);
+typedef void (APIENTRYP PFNGLMATRIXMULTFEXTPROC) (GLenum mode, const GLfloat *m);
+typedef void (APIENTRYP PFNGLMATRIXMULTDEXTPROC) (GLenum mode, const GLdouble *m);
+typedef void (APIENTRYP PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum mode);
+typedef void (APIENTRYP PFNGLMATRIXROTATEFEXTPROC) (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLMATRIXROTATEDEXTPROC) (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLMATRIXSCALEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLMATRIXSCALEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLMATRIXFRUSTUMEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+typedef void (APIENTRYP PFNGLMATRIXORTHOEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+typedef void (APIENTRYP PFNGLMATRIXPOPEXTPROC) (GLenum mode);
+typedef void (APIENTRYP PFNGLMATRIXPUSHEXTPROC) (GLenum mode);
+typedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m);
+typedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m);
+typedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m);
+typedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m);
+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLCOPYTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+typedef void (APIENTRYP PFNGLCOPYTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLGETTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
+typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);
+typedef void (APIENTRYP 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 (APIENTRYP 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 (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLMULTITEXPARAMETERFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLCOPYMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+typedef void (APIENTRYP PFNGLCOPYMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLGETMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
+typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);
+typedef void (APIENTRYP 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 (APIENTRYP 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 (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLBINDMULTITEXTUREEXTPROC) (GLenum texunit, GLenum target, GLuint texture);
+typedef void (APIENTRYP PFNGLENABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index);
+typedef void (APIENTRYP PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index);
+typedef void (APIENTRYP PFNGLMULTITEXCOORDPOINTEREXTPROC) (GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLMULTITEXENVFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLMULTITEXENVIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLMULTITEXGENDEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble param);
+typedef void (APIENTRYP PFNGLMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);
+typedef void (APIENTRYP PFNGLMULTITEXGENFEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLMULTITEXGENIEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETFLOATINDEXEDVEXTPROC) (GLenum target, GLuint index, GLfloat *data);
+typedef void (APIENTRYP PFNGLGETDOUBLEINDEXEDVEXTPROC) (GLenum target, GLuint index, GLdouble *data);
+typedef void (APIENTRYP PFNGLGETPOINTERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLvoid* *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP 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 (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint lod, GLvoid *img);
+typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP 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 (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint lod, GLvoid *img);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLdouble *params);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLfloat *params);
+typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble *params);
+typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMIVEXTPROC) (GLuint program, GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum pname, GLvoid *string);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLint *params);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLuint *params);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);
+typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLint *params);
+typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint *params);
+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLuint *params);
+typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLuint *params);
+typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLuint *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLuint *params);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage);
+typedef void (APIENTRYP PFNGLNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);
+typedef GLvoid* (APIENTRYP PFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, GLenum access);
+typedef GLboolean (APIENTRYP PFNGLUNMAPNAMEDBUFFEREXTPROC) (GLuint buffer);
+typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) (GLuint buffer, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPOINTERVEXTPROC) (GLuint buffer, GLenum pname, GLvoid* *params);
+typedef void (APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data);
+typedef void (APIENTRYP PFNGLTEXTUREBUFFEREXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);
+typedef void (APIENTRYP PFNGLMULTITEXBUFFEREXTPROC) (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);
+typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) (GLuint renderbuffer, GLenum pname, GLint *params);
+typedef GLenum (APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) (GLuint framebuffer, GLenum target);
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGENERATETEXTUREMIPMAPEXTPROC) (GLuint texture, GLenum target);
+typedef void (APIENTRYP PFNGLGENERATEMULTITEXMIPMAPEXTPROC) (GLenum texunit, GLenum target);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) (GLuint framebuffer, GLenum mode);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) (GLuint framebuffer, GLsizei n, const GLenum *bufs);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERREADBUFFEREXTPROC) (GLuint framebuffer, GLenum mode);
+typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);
+typedef void (APIENTRYP PFNGLTEXTURERENDERBUFFEREXTPROC) (GLuint texture, GLenum target, GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLMULTITEXRENDERBUFFEREXTPROC) (GLenum texunit, GLenum target, GLuint renderbuffer);
+#endif
+
/*
* ------------------------------------------------
* Everything here and below was added manually
- * by ckline, kbr and yvg to the version of glext.h obtained from:
+ * to the version of glext.h obtained from:
* http://oss.sgi.com/projects/ogl-sample/registry/index.html
* ------------------------------------------------
*/
+
+/**
+ * http://www.opengl.org/registry/specs/AMD/vertex_shader_tessellator.txt
+ */
+
+#ifndef GL_AMD_vertex_shader_tessellator
+#define GL_SAMPLER_BUFFER_AMD 0x9001
+#define GL_INT_SAMPLER_BUFFER_AMD 0x9002
+#define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD 0x9003
+#define GL_DISCRETE_AMD 0x9006
+#define GL_CONTINUOUS_AMD 0x9007
+#define GL_TESSELLATION_MODE_AMD 0x9004
+#define GL_TESSELLATION_FACTOR_AMD 0x9005
+#endif
+
+#ifndef GL_AMD_vertex_shader_tessellator
+#define GL_AMD_vertex_shader_tessellator 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTessellationFactorAMD(GLfloat factor);
+GLAPI void APIENTRY glTessellationModeAMD(GLenum mode);
+#endif
+typedef void (APIENTRYP PFNGLTESSELLATIONFACTORAMDPROC) (GLfloat factor);
+typedef void (APIENTRYP PFNGLTESSELLATIONMODEAMDPROC) (GLenum mode);
+#endif
+
#ifndef GL_NV_element_array
#define GL_ELEMENT_ARRAY_TYPE_NV 0x8769
#define GL_ELEMENT_ARRAY_POINTER_NV 0x876A
@@ -8044,23 +8545,6 @@ typedef void (APIENTRY * PFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei len
typedef void (APIENTRY * PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC) (GLenum target, GLenum pname, GLvoid **params);
#endif
-#ifndef GL_APPLE_float_pixels
-#define GL_HALF_APPLE 0x140B
-#define GL_COLOR_FLOAT_APPLE 0x8A0F
-#define GL_RGBA_FLOAT32_APPLE 0x8814
-#define GL_RGB_FLOAT32_APPLE 0x8815
-#define GL_ALPHA_FLOAT32_APPLE 0x8816
-#define GL_INTENSITY_FLOAT32_APPLE 0x8817
-#define GL_LUMINANCE_FLOAT32_APPLE 0x8818
-#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819
-#define GL_RGBA_FLOAT16_APPLE 0x881A
-#define GL_RGB_FLOAT16_APPLE 0x881B
-#define GL_ALPHA_FLOAT16_APPLE 0x881C
-#define GL_INTENSITY_FLOAT16_APPLE 0x881D
-#define GL_LUMINANCE_FLOAT16_APPLE 0x881E
-#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881F
-#endif
-
#ifndef GL_APPLE_pixel_buffer
#define GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8A10
#endif
diff --git a/make/stub_includes/opengl/GL/glu.h b/make/stub_includes/opengl/GL/glu.h
index bccda7f8e..e3a16f304 100644
--- a/make/stub_includes/opengl/GL/glu.h
+++ b/make/stub_includes/opengl/GL/glu.h
@@ -62,6 +62,13 @@ extern "C" {
/*************************************************************/
+/* Version */
+#define GLU_VERSION_1_1 1
+#define GLU_VERSION_1_2 1
+#define GLU_VERSION_1_3 1
+
+#ifndef GLU_VERSION_1_X
+
/* Extensions */
#define GLU_EXT_object_space_tess 1
#define GLU_EXT_nurbs_tessellator 1
@@ -70,11 +77,6 @@ extern "C" {
#define GLU_FALSE 0
#define GLU_TRUE 1
-/* Version */
-#define GLU_VERSION_1_1 1
-#define GLU_VERSION_1_2 1
-#define GLU_VERSION_1_3 1
-
/* StringName */
#define GLU_VERSION 100800
#define GLU_EXTENSIONS 100801
@@ -280,6 +282,11 @@ typedef GLUtesselator GLUtriangulatorObj;
/* Internal convenience typedefs */
typedef void (GLAPIENTRY *_GLUfuncptr)();
+#endif /* GLX_VERSION_1_X */
+
+#ifndef GLU_VERSION_1_X
+#define GLU_VERSION_1_X 1
+
GLAPI void GLAPIENTRY gluBeginCurve (GLUnurbs* nurb);
GLAPI void GLAPIENTRY gluBeginPolygon (GLUtesselator* tess);
GLAPI void GLAPIENTRY gluBeginSurface (GLUnurbs* nurb);
@@ -401,6 +408,8 @@ typedef void (GLAPIENTRY * PFNGLUTESSVERTEXPROC) (GLUtesselator* tess, GLdouble
typedef GLint (GLAPIENTRY * PFNGLUUNPROJECTPROC) (GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ);
typedef GLint (GLAPIENTRY * PFNGLUUNPROJECT4PROC) (GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble nearVal, GLdouble farVal, GLdouble* objX, GLdouble* objY, GLdouble* objZ, GLdouble* objW);
+#endif /* GLU_VERSION_1_X */
+
#ifdef __cplusplus
}
#endif
diff --git a/make/stub_includes/opengl/GL/glx.h b/make/stub_includes/opengl/GL/glx.h
index 4032f45da..67225e043 100644
--- a/make/stub_includes/opengl/GL/glx.h
+++ b/make/stub_includes/opengl/GL/glx.h
@@ -66,9 +66,9 @@ extern "C" {
#define GLX_VERSION_1_4 1
*/
-#define GLX_EXTENSION_NAME "GLX"
-
+#ifndef GLX_VERSION_1_X
+#define GLX_EXTENSION_NAME "GLX"
/*
* Tokens for glXChooseVisual and glXGetConfig:
@@ -192,8 +192,12 @@ typedef XID GLXContextID;
typedef XID GLXWindow;
typedef XID GLXPbuffer;
+#endif /* GLX_VERSION_1_X */
+#ifndef GLX_VERSION_1_X
+#define GLX_VERSION_1_X 1
+
extern XVisualInfo* glXChooseVisual( Display *dpy, int screen,
int *attribList );
@@ -300,6 +304,8 @@ extern void glXGetSelectedEvent( Display *dpy, GLXDrawable drawable,
/* GLX 1.4 and later */
extern void (*glXGetProcAddress(const GLubyte *procname))();
+#endif /* GLX_VERSION_1_X */
+
#ifndef GLX_GLXEXT_LEGACY
#include <GL/glxext.h>
diff --git a/make/stub_includes/opengl/GL/glxext.h b/make/stub_includes/opengl/GL/glxext.h
index 2d6036bcd..ad580022e 100644
--- a/make/stub_includes/opengl/GL/glxext.h
+++ b/make/stub_includes/opengl/GL/glxext.h
@@ -77,11 +77,14 @@ extern "C" {
#endif
#ifndef GLX_ARB_create_context
-#define GLX_CONTEXT_DEBUG_BIT_ARB 0x00000001
-#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
+#define GLX_CONTEXT_DEBUG_BIT_ARB 0x00000001
+#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
+#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
+#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
#define GLX_CONTEXT_FLAGS_ARB 0x2094
+#define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126
#endif
#ifndef GLX_SGIS_multisample
@@ -263,16 +266,13 @@ extern "C" {
typedef void (*__GLXextFuncPtr)(void);
-#ifdef GLX_GLXEXT_PROTOTYPES
-extern __GLXextFuncPtr glXGetProcAddress (const GLubyte *);
-#endif /* GLX_GLXEXT_PROTOTYPES */
-typedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName);
-
#ifndef GLX_ARB_get_proc_address
#define GLX_ARB_get_proc_address 1
#ifdef GLX_GLXEXT_PROTOTYPES
+extern __GLXextFuncPtr glXGetProcAddress (const GLubyte *);
extern __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *);
#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName);
typedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSARBPROC) (const GLubyte *procName);
#endif
@@ -865,9 +865,9 @@ typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display *dpy,
#endif
#ifndef GLX_NV_present_video
-#define GLX_NV_present_video
+#define GLX_NV_present_video 1
#ifdef GLX_GLXEXT_PROTOTYPES
-extern unsigned int *glXEnumerateVideoDevicesNV(Display *dpy,
+extern unsigned int* glXEnumerateVideoDevicesNV(Display *dpy,
int screen,
int *nelements);
extern int glXBindVideoDeviceNV(Display *dpy,
diff --git a/make/stub_includes/opengl/GL/wglext.h b/make/stub_includes/opengl/GL/wglext.h
index 6f367c09b..d581756c2 100644
--- a/make/stub_includes/opengl/GL/wglext.h
+++ b/make/stub_includes/opengl/GL/wglext.h
@@ -190,12 +190,15 @@ extern "C" {
#endif
#ifndef WGL_ARB_create_context
+#define WGL_CONTEXT_DEBUG_BIT_ARB 0x00000001
+#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
+#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
+#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092
#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
#define WGL_CONTEXT_FLAGS_ARB 0x2094
-#define WGL_CONTEXT_DEBUG_BIT_ARB 0x0001
-#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002
+#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126
#define ERROR_INVALID_VERSION_ARB 0x2095
#endif
diff --git a/make/stub_includes/opengl/GL3/gl3.h b/make/stub_includes/opengl/GL3/gl3.h
index e9123b43a..7db3851bd 100755
--- a/make/stub_includes/opengl/GL3/gl3.h
+++ b/make/stub_includes/opengl/GL3/gl3.h
@@ -77,15 +77,15 @@ extern "C" {
# else /* for use with static link lib build of Win32 edition only */
# define GLAPI extern
# endif /* _STATIC_MESA support */
-# define GLAPIENTRY __stdcall
+# define APIENTRY __stdcall
#else
/* non-Windows compilation */
# define GLAPI extern
-# define GLAPIENTRY
+# define APIENTRY
#endif /* WIN32 / CYGWIN bracket */
-#ifndef GLAPIENTRYP
-# define GLAPIENTRYP GLAPIENTRY*
+#ifndef APIENTRYP
+# define APIENTRYP APIENTRY*
#endif
#if (defined(__BEOS__) && defined(__POWERPC__)) || defined(__QUICKDRAW__)
@@ -113,14 +113,6 @@ extern "C" {
#pragma import on
#endif
-#ifndef APIENTRY
-#define APIENTRY GLAPIENTRY
-#endif
-
-#ifndef APIENTRY
-#define APIENTRY GLAPIENTRY
-#endif
-
#ifdef CENTERLINE_CLPP
#define signed
#endif
@@ -1067,7 +1059,7 @@ typedef void GLvoid;
#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45
#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
-#define GL_INVALID_INDEX 0xFFFFFFFFu
+/** Manual: #define GL_INVALID_INDEX -1 == (int) 0xFFFFFFFFu */
#endif
#ifndef GL_ARB_copy_buffer
@@ -1111,458 +1103,456 @@ typedef unsigned short GLhalfARB;
typedef unsigned short GLhalfNV;
#endif
-#include "glext-64bit-types.h"
-
#ifndef GL_VERSION_1_0
#define GL_VERSION_1_0 1
#ifdef GL3_PROTOTYPES
-GLAPI void GLAPIENTRY glCullFace (GLenum);
-GLAPI void GLAPIENTRY glFrontFace (GLenum);
-GLAPI void GLAPIENTRY glHint (GLenum, GLenum);
-GLAPI void GLAPIENTRY glLineWidth (GLfloat);
-GLAPI void GLAPIENTRY glPointSize (GLfloat);
-GLAPI void GLAPIENTRY glPolygonMode (GLenum, GLenum);
-GLAPI void GLAPIENTRY glScissor (GLint, GLint, GLsizei, GLsizei);
-GLAPI void GLAPIENTRY glTexParameterf (GLenum, GLenum, GLfloat);
-GLAPI void GLAPIENTRY glTexParameterfv (GLenum, GLenum, const GLfloat *);
-GLAPI void GLAPIENTRY glTexParameteri (GLenum, GLenum, GLint);
-GLAPI void GLAPIENTRY glTexParameteriv (GLenum, GLenum, const GLint *);
-GLAPI void GLAPIENTRY glTexImage1D (GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
-GLAPI void GLAPIENTRY glTexImage2D (GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
-GLAPI void GLAPIENTRY glDrawBuffer (GLenum);
-GLAPI void GLAPIENTRY glClear (GLbitfield);
-GLAPI void GLAPIENTRY glClearColor (GLclampf, GLclampf, GLclampf, GLclampf);
-GLAPI void GLAPIENTRY glClearStencil (GLint);
-GLAPI void GLAPIENTRY glClearDepth (GLclampd);
-GLAPI void GLAPIENTRY glStencilMask (GLuint);
-GLAPI void GLAPIENTRY glColorMask (GLboolean, GLboolean, GLboolean, GLboolean);
-GLAPI void GLAPIENTRY glDepthMask (GLboolean);
-GLAPI void GLAPIENTRY glDisable (GLenum);
-GLAPI void GLAPIENTRY glEnable (GLenum);
-GLAPI void GLAPIENTRY glFinish (void);
-GLAPI void GLAPIENTRY glFlush (void);
-GLAPI void GLAPIENTRY glBlendFunc (GLenum, GLenum);
-GLAPI void GLAPIENTRY glLogicOp (GLenum);
-GLAPI void GLAPIENTRY glStencilFunc (GLenum, GLint, GLuint);
-GLAPI void GLAPIENTRY glStencilOp (GLenum, GLenum, GLenum);
-GLAPI void GLAPIENTRY glDepthFunc (GLenum);
-GLAPI void GLAPIENTRY glPixelStoref (GLenum, GLfloat);
-GLAPI void GLAPIENTRY glPixelStorei (GLenum, GLint);
-GLAPI void GLAPIENTRY glReadBuffer (GLenum);
-GLAPI void GLAPIENTRY glReadPixels (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid *);
-GLAPI void GLAPIENTRY glGetBooleanv (GLenum, GLboolean *);
-GLAPI void GLAPIENTRY glGetDoublev (GLenum, GLdouble *);
-GLAPI GLenum GLAPIENTRY glGetError (void);
-GLAPI void GLAPIENTRY glGetFloatv (GLenum, GLfloat *);
-GLAPI void GLAPIENTRY glGetIntegerv (GLenum, GLint *);
-GLAPI const GLubyte * GLAPIENTRY glGetString (GLenum);
-GLAPI void GLAPIENTRY glGetTexImage (GLenum, GLint, GLenum, GLenum, GLvoid *);
-GLAPI void GLAPIENTRY glGetTexParameterfv (GLenum, GLenum, GLfloat *);
-GLAPI void GLAPIENTRY glGetTexParameteriv (GLenum, GLenum, GLint *);
-GLAPI void GLAPIENTRY glGetTexLevelParameterfv (GLenum, GLint, GLenum, GLfloat *);
-GLAPI void GLAPIENTRY glGetTexLevelParameteriv (GLenum, GLint, GLenum, GLint *);
-GLAPI GLboolean GLAPIENTRY glIsEnabled (GLenum);
-GLAPI void GLAPIENTRY glDepthRange (GLclampd, GLclampd);
-GLAPI void GLAPIENTRY glViewport (GLint, GLint, GLsizei, GLsizei);
+GLAPI void APIENTRY glCullFace (GLenum);
+GLAPI void APIENTRY glFrontFace (GLenum);
+GLAPI void APIENTRY glHint (GLenum, GLenum);
+GLAPI void APIENTRY glLineWidth (GLfloat);
+GLAPI void APIENTRY glPointSize (GLfloat);
+GLAPI void APIENTRY glPolygonMode (GLenum, GLenum);
+GLAPI void APIENTRY glScissor (GLint, GLint, GLsizei, GLsizei);
+GLAPI void APIENTRY glTexParameterf (GLenum, GLenum, GLfloat);
+GLAPI void APIENTRY glTexParameterfv (GLenum, GLenum, const GLfloat *);
+GLAPI void APIENTRY glTexParameteri (GLenum, GLenum, GLint);
+GLAPI void APIENTRY glTexParameteriv (GLenum, GLenum, const GLint *);
+GLAPI void APIENTRY glTexImage1D (GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
+GLAPI void APIENTRY glTexImage2D (GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
+GLAPI void APIENTRY glDrawBuffer (GLenum);
+GLAPI void APIENTRY glClear (GLbitfield);
+GLAPI void APIENTRY glClearColor (GLclampf, GLclampf, GLclampf, GLclampf);
+GLAPI void APIENTRY glClearStencil (GLint);
+GLAPI void APIENTRY glClearDepth (GLclampd);
+GLAPI void APIENTRY glStencilMask (GLuint);
+GLAPI void APIENTRY glColorMask (GLboolean, GLboolean, GLboolean, GLboolean);
+GLAPI void APIENTRY glDepthMask (GLboolean);
+GLAPI void APIENTRY glDisable (GLenum);
+GLAPI void APIENTRY glEnable (GLenum);
+GLAPI void APIENTRY glFinish (void);
+GLAPI void APIENTRY glFlush (void);
+GLAPI void APIENTRY glBlendFunc (GLenum, GLenum);
+GLAPI void APIENTRY glLogicOp (GLenum);
+GLAPI void APIENTRY glStencilFunc (GLenum, GLint, GLuint);
+GLAPI void APIENTRY glStencilOp (GLenum, GLenum, GLenum);
+GLAPI void APIENTRY glDepthFunc (GLenum);
+GLAPI void APIENTRY glPixelStoref (GLenum, GLfloat);
+GLAPI void APIENTRY glPixelStorei (GLenum, GLint);
+GLAPI void APIENTRY glReadBuffer (GLenum);
+GLAPI void APIENTRY glReadPixels (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid *);
+GLAPI void APIENTRY glGetBooleanv (GLenum, GLboolean *);
+GLAPI void APIENTRY glGetDoublev (GLenum, GLdouble *);
+GLAPI GLenum APIENTRY glGetError (void);
+GLAPI void APIENTRY glGetFloatv (GLenum, GLfloat *);
+GLAPI void APIENTRY glGetIntegerv (GLenum, GLint *);
+GLAPI const GLubyte * APIENTRY glGetString (GLenum);
+GLAPI void APIENTRY glGetTexImage (GLenum, GLint, GLenum, GLenum, GLvoid *);
+GLAPI void APIENTRY glGetTexParameterfv (GLenum, GLenum, GLfloat *);
+GLAPI void APIENTRY glGetTexParameteriv (GLenum, GLenum, GLint *);
+GLAPI void APIENTRY glGetTexLevelParameterfv (GLenum, GLint, GLenum, GLfloat *);
+GLAPI void APIENTRY glGetTexLevelParameteriv (GLenum, GLint, GLenum, GLint *);
+GLAPI GLboolean APIENTRY glIsEnabled (GLenum);
+GLAPI void APIENTRY glDepthRange (GLclampd, GLclampd);
+GLAPI void APIENTRY glViewport (GLint, GLint, GLsizei, GLsizei);
#endif /* GL3_PROTOTYPES */
-typedef void (GLAPIENTRYP PFNGLCULLFACEPROC) (GLenum mode);
-typedef void (GLAPIENTRYP PFNGLFRONTFACEPROC) (GLenum mode);
-typedef void (GLAPIENTRYP PFNGLHINTPROC) (GLenum target, GLenum mode);
-typedef void (GLAPIENTRYP PFNGLLINEWIDTHPROC) (GLfloat width);
-typedef void (GLAPIENTRYP PFNGLPOINTSIZEPROC) (GLfloat size);
-typedef void (GLAPIENTRYP PFNGLPOLYGONMODEPROC) (GLenum face, GLenum mode);
-typedef void (GLAPIENTRYP PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (GLAPIENTRYP PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param);
-typedef void (GLAPIENTRYP PFNGLTEXPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (GLAPIENTRYP PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
-typedef void (GLAPIENTRYP PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (GLAPIENTRYP PFNGLTEXIMAGE1DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (GLAPIENTRYP PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (GLAPIENTRYP PFNGLDRAWBUFFERPROC) (GLenum mode);
-typedef void (GLAPIENTRYP PFNGLCLEARPROC) (GLbitfield mask);
-typedef void (GLAPIENTRYP PFNGLCLEARCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
-typedef void (GLAPIENTRYP PFNGLCLEARSTENCILPROC) (GLint s);
-typedef void (GLAPIENTRYP PFNGLCLEARDEPTHPROC) (GLclampd depth);
-typedef void (GLAPIENTRYP PFNGLSTENCILMASKPROC) (GLuint mask);
-typedef void (GLAPIENTRYP PFNGLCOLORMASKPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
-typedef void (GLAPIENTRYP PFNGLDEPTHMASKPROC) (GLboolean flag);
-typedef void (GLAPIENTRYP PFNGLDISABLEPROC) (GLenum cap);
-typedef void (GLAPIENTRYP PFNGLENABLEPROC) (GLenum cap);
-typedef void (GLAPIENTRYP PFNGLFINISHPROC) (void);
-typedef void (GLAPIENTRYP PFNGLFLUSHPROC) (void);
-typedef void (GLAPIENTRYP PFNGLBLENDFUNCPROC) (GLenum sfactor, GLenum dfactor);
-typedef void (GLAPIENTRYP PFNGLLOGICOPPROC) (GLenum opcode);
-typedef void (GLAPIENTRYP PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask);
-typedef void (GLAPIENTRYP PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass);
-typedef void (GLAPIENTRYP PFNGLDEPTHFUNCPROC) (GLenum func);
-typedef void (GLAPIENTRYP PFNGLPIXELSTOREFPROC) (GLenum pname, GLfloat param);
-typedef void (GLAPIENTRYP PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param);
-typedef void (GLAPIENTRYP PFNGLREADBUFFERPROC) (GLenum mode);
-typedef void (GLAPIENTRYP PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
-typedef void (GLAPIENTRYP PFNGLGETBOOLEANVPROC) (GLenum pname, GLboolean *params);
-typedef void (GLAPIENTRYP PFNGLGETDOUBLEVPROC) (GLenum pname, GLdouble *params);
-typedef GLenum (GLAPIENTRYP PFNGLGETERRORPROC) (void);
-typedef void (GLAPIENTRYP PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *params);
-typedef void (GLAPIENTRYP PFNGLGETINTEGERVPROC) (GLenum pname, GLint *params);
-typedef const GLubyte * (GLAPIENTRYP PFNGLGETSTRINGPROC) (GLenum name);
-typedef void (GLAPIENTRYP PFNGLGETTEXIMAGEPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
-typedef void (GLAPIENTRYP PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (GLAPIENTRYP PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (GLAPIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC) (GLenum target, GLint level, GLenum pname, GLfloat *params);
-typedef void (GLAPIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC) (GLenum target, GLint level, GLenum pname, GLint *params);
-typedef GLboolean (GLAPIENTRYP PFNGLISENABLEDPROC) (GLenum cap);
-typedef void (GLAPIENTRYP PFNGLDEPTHRANGEPROC) (GLclampd near_val, GLclampd far_val); /* MSVC can't handle near or far var names */
-typedef void (GLAPIENTRYP PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLCULLFACEPROC) (GLenum mode);
+typedef void (APIENTRYP PFNGLFRONTFACEPROC) (GLenum mode);
+typedef void (APIENTRYP PFNGLHINTPROC) (GLenum target, GLenum mode);
+typedef void (APIENTRYP PFNGLLINEWIDTHPROC) (GLfloat width);
+typedef void (APIENTRYP PFNGLPOINTSIZEPROC) (GLfloat size);
+typedef void (APIENTRYP PFNGLPOLYGONMODEPROC) (GLenum face, GLenum mode);
+typedef void (APIENTRYP PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLTEXPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLTEXIMAGE1DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLDRAWBUFFERPROC) (GLenum mode);
+typedef void (APIENTRYP PFNGLCLEARPROC) (GLbitfield mask);
+typedef void (APIENTRYP PFNGLCLEARCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+typedef void (APIENTRYP PFNGLCLEARSTENCILPROC) (GLint s);
+typedef void (APIENTRYP PFNGLCLEARDEPTHPROC) (GLclampd depth);
+typedef void (APIENTRYP PFNGLSTENCILMASKPROC) (GLuint mask);
+typedef void (APIENTRYP PFNGLCOLORMASKPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
+typedef void (APIENTRYP PFNGLDEPTHMASKPROC) (GLboolean flag);
+typedef void (APIENTRYP PFNGLDISABLEPROC) (GLenum cap);
+typedef void (APIENTRYP PFNGLENABLEPROC) (GLenum cap);
+typedef void (APIENTRYP PFNGLFINISHPROC) (void);
+typedef void (APIENTRYP PFNGLFLUSHPROC) (void);
+typedef void (APIENTRYP PFNGLBLENDFUNCPROC) (GLenum sfactor, GLenum dfactor);
+typedef void (APIENTRYP PFNGLLOGICOPPROC) (GLenum opcode);
+typedef void (APIENTRYP PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask);
+typedef void (APIENTRYP PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass);
+typedef void (APIENTRYP PFNGLDEPTHFUNCPROC) (GLenum func);
+typedef void (APIENTRYP PFNGLPIXELSTOREFPROC) (GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLREADBUFFERPROC) (GLenum mode);
+typedef void (APIENTRYP PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
+typedef void (APIENTRYP PFNGLGETBOOLEANVPROC) (GLenum pname, GLboolean *params);
+typedef void (APIENTRYP PFNGLGETDOUBLEVPROC) (GLenum pname, GLdouble *params);
+typedef GLenum (APIENTRYP PFNGLGETERRORPROC) (void);
+typedef void (APIENTRYP PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETINTEGERVPROC) (GLenum pname, GLint *params);
+typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGPROC) (GLenum name);
+typedef void (APIENTRYP PFNGLGETTEXIMAGEPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
+typedef void (APIENTRYP PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC) (GLenum target, GLint level, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC) (GLenum target, GLint level, GLenum pname, GLint *params);
+typedef GLboolean (APIENTRYP PFNGLISENABLEDPROC) (GLenum cap);
+typedef void (APIENTRYP PFNGLDEPTHRANGEPROC) (GLclampd near_val, GLclampd far_val); /* MSVC can't handle near or far var names */
+typedef void (APIENTRYP PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
#endif
#ifndef GL_VERSION_1_1
#define GL_VERSION_1_1 1
#ifdef GL3_PROTOTYPES
-GLAPI void GLAPIENTRY glDrawArrays (GLenum, GLint, GLsizei);
-GLAPI void GLAPIENTRY glDrawElements (GLenum, GLsizei, GLenum, const GLvoid *);
-GLAPI void GLAPIENTRY glGetPointerv (GLenum, GLvoid* *);
-GLAPI void GLAPIENTRY glPolygonOffset (GLfloat, GLfloat);
-GLAPI void GLAPIENTRY glCopyTexImage1D (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
-GLAPI void GLAPIENTRY glCopyTexImage2D (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
-GLAPI void GLAPIENTRY glCopyTexSubImage1D (GLenum, GLint, GLint, GLint, GLint, GLsizei);
-GLAPI void GLAPIENTRY glCopyTexSubImage2D (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
-GLAPI void GLAPIENTRY glTexSubImage1D (GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void GLAPIENTRY glTexSubImage2D (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void GLAPIENTRY glBindTexture (GLenum, GLuint);
-GLAPI void GLAPIENTRY glDeleteTextures (GLsizei, const GLuint *);
-GLAPI void GLAPIENTRY glGenTextures (GLsizei, GLuint *);
-GLAPI GLboolean GLAPIENTRY glIsTexture (GLuint);
+GLAPI void APIENTRY glDrawArrays (GLenum, GLint, GLsizei);
+GLAPI void APIENTRY glDrawElements (GLenum, GLsizei, GLenum, const GLvoid *);
+GLAPI void APIENTRY glGetPointerv (GLenum, GLvoid* *);
+GLAPI void APIENTRY glPolygonOffset (GLfloat, GLfloat);
+GLAPI void APIENTRY glCopyTexImage1D (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
+GLAPI void APIENTRY glCopyTexImage2D (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
+GLAPI void APIENTRY glCopyTexSubImage1D (GLenum, GLint, GLint, GLint, GLint, GLsizei);
+GLAPI void APIENTRY glCopyTexSubImage2D (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
+GLAPI void APIENTRY glTexSubImage1D (GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
+GLAPI void APIENTRY glTexSubImage2D (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
+GLAPI void APIENTRY glBindTexture (GLenum, GLuint);
+GLAPI void APIENTRY glDeleteTextures (GLsizei, const GLuint *);
+GLAPI void APIENTRY glGenTextures (GLsizei, GLuint *);
+GLAPI GLboolean APIENTRY glIsTexture (GLuint);
#endif /* GL3_PROTOTYPES */
-typedef void (GLAPIENTRYP PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count);
-typedef void (GLAPIENTRYP PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
-typedef void (GLAPIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, GLvoid* *params);
-typedef void (GLAPIENTRYP PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat units);
-typedef void (GLAPIENTRYP PFNGLCOPYTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
-typedef void (GLAPIENTRYP PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
-typedef void (GLAPIENTRYP PFNGLCOPYTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
-typedef void (GLAPIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (GLAPIENTRYP PFNGLTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (GLAPIENTRYP PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (GLAPIENTRYP PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture);
-typedef void (GLAPIENTRYP PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint *textures);
-typedef void (GLAPIENTRYP PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures);
-typedef GLboolean (GLAPIENTRYP PFNGLISTEXTUREPROC) (GLuint texture);
+typedef void (APIENTRYP PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count);
+typedef void (APIENTRYP PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
+typedef void (APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, GLvoid* *params);
+typedef void (APIENTRYP PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat units);
+typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture);
+typedef void (APIENTRYP PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint *textures);
+typedef void (APIENTRYP PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures);
+typedef GLboolean (APIENTRYP PFNGLISTEXTUREPROC) (GLuint texture);
#endif
#ifndef GL_VERSION_1_2
#define GL_VERSION_1_2 1
#ifdef GL3_PROTOTYPES
-GLAPI void GLAPIENTRY glBlendColor (GLclampf, GLclampf, GLclampf, GLclampf);
-GLAPI void GLAPIENTRY glBlendEquation (GLenum);
-GLAPI void GLAPIENTRY glDrawRangeElements (GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *);
-GLAPI void GLAPIENTRY glTexImage3D (GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
-GLAPI void GLAPIENTRY glTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void GLAPIENTRY glCopyTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
+GLAPI void APIENTRY glBlendColor (GLclampf, GLclampf, GLclampf, GLclampf);
+GLAPI void APIENTRY glBlendEquation (GLenum);
+GLAPI void APIENTRY glDrawRangeElements (GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *);
+GLAPI void APIENTRY glTexImage3D (GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
+GLAPI void APIENTRY glTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
+GLAPI void APIENTRY glCopyTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
#endif /* GL3_PROTOTYPES */
-typedef void (GLAPIENTRYP PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
-typedef void (GLAPIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
-typedef void (GLAPIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
-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 PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
+typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
+typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP 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 (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
#endif
#ifndef GL_VERSION_1_3
#define GL_VERSION_1_3 1
#ifdef GL3_PROTOTYPES
-GLAPI void GLAPIENTRY glActiveTexture (GLenum);
-GLAPI void GLAPIENTRY glSampleCoverage (GLclampf, GLboolean);
-GLAPI void GLAPIENTRY glCompressedTexImage3D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void GLAPIENTRY glCompressedTexImage2D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void GLAPIENTRY glCompressedTexImage1D (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void GLAPIENTRY glCompressedTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void GLAPIENTRY glCompressedTexSubImage2D (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void GLAPIENTRY glCompressedTexSubImage1D (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void GLAPIENTRY glGetCompressedTexImage (GLenum, GLint, GLvoid *);
+GLAPI void APIENTRY glActiveTexture (GLenum);
+GLAPI void APIENTRY glSampleCoverage (GLclampf, GLboolean);
+GLAPI void APIENTRY glCompressedTexImage3D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glCompressedTexImage2D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glCompressedTexImage1D (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glCompressedTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glCompressedTexSubImage2D (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glCompressedTexSubImage1D (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glGetCompressedTexImage (GLenum, GLint, GLvoid *);
#endif /* GL3_PROTOTYPES */
-typedef void (GLAPIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
-typedef void (GLAPIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);
-typedef void (GLAPIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (GLAPIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (GLAPIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (GLAPIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (GLAPIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (GLAPIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (GLAPIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, GLvoid *img);
+typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
+typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, GLvoid *img);
#endif
#ifndef GL_VERSION_1_4
#define GL_VERSION_1_4 1
#ifdef GL3_PROTOTYPES
-GLAPI void GLAPIENTRY glBlendFuncSeparate (GLenum, GLenum, GLenum, GLenum);
-GLAPI void GLAPIENTRY glMultiDrawArrays (GLenum, GLint *, GLsizei *, GLsizei);
-GLAPI void GLAPIENTRY glMultiDrawElements (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
-GLAPI void GLAPIENTRY glPointParameterf (GLenum, GLfloat);
-GLAPI void GLAPIENTRY glPointParameterfv (GLenum, const GLfloat *);
-GLAPI void GLAPIENTRY glPointParameteri (GLenum, GLint);
-GLAPI void GLAPIENTRY glPointParameteriv (GLenum, const GLint *);
+GLAPI void APIENTRY glBlendFuncSeparate (GLenum, GLenum, GLenum, GLenum);
+GLAPI void APIENTRY glMultiDrawArrays (GLenum, GLint *, GLsizei *, GLsizei);
+GLAPI void APIENTRY glMultiDrawElements (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
+GLAPI void APIENTRY glPointParameterf (GLenum, GLfloat);
+GLAPI void APIENTRY glPointParameterfv (GLenum, const GLfloat *);
+GLAPI void APIENTRY glPointParameteri (GLenum, GLint);
+GLAPI void APIENTRY glPointParameteriv (GLenum, const GLint *);
#endif /* GL3_PROTOTYPES */
-typedef void (GLAPIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
-typedef void (GLAPIENTRYP PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
-typedef void (GLAPIENTRYP PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
-typedef void (GLAPIENTRYP PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
-typedef void (GLAPIENTRYP PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);
-typedef void (GLAPIENTRYP PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param);
-typedef void (GLAPIENTRYP PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
+typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params);
#endif
#ifndef GL_VERSION_1_5
#define GL_VERSION_1_5 1
#ifdef GL3_PROTOTYPES
-GLAPI void GLAPIENTRY glGenQueries (GLsizei, GLuint *);
-GLAPI void GLAPIENTRY glDeleteQueries (GLsizei, const GLuint *);
-GLAPI GLboolean GLAPIENTRY glIsQuery (GLuint);
-GLAPI void GLAPIENTRY glBeginQuery (GLenum, GLuint);
-GLAPI void GLAPIENTRY glEndQuery (GLenum);
-GLAPI void GLAPIENTRY glGetQueryiv (GLenum, GLenum, GLint *);
-GLAPI void GLAPIENTRY glGetQueryObjectiv (GLuint, GLenum, GLint *);
-GLAPI void GLAPIENTRY glGetQueryObjectuiv (GLuint, GLenum, GLuint *);
-GLAPI void GLAPIENTRY glBindBuffer (GLenum, GLuint);
-GLAPI void GLAPIENTRY glDeleteBuffers (GLsizei, const GLuint *);
-GLAPI void GLAPIENTRY glGenBuffers (GLsizei, GLuint *);
-GLAPI GLboolean GLAPIENTRY glIsBuffer (GLuint);
-GLAPI void GLAPIENTRY glBufferData (GLenum, GLsizeiptr, const GLvoid *, GLenum);
-GLAPI void GLAPIENTRY glBufferSubData (GLenum, GLintptr, GLsizeiptr, const GLvoid *);
-GLAPI void GLAPIENTRY glGetBufferSubData (GLenum, GLintptr, GLsizeiptr, GLvoid *);
-GLAPI GLvoid* GLAPIENTRY glMapBuffer (GLenum, GLenum);
-GLAPI GLboolean GLAPIENTRY glUnmapBuffer (GLenum);
-GLAPI void GLAPIENTRY glGetBufferParameteriv (GLenum, GLenum, GLint *);
-GLAPI void GLAPIENTRY glGetBufferPointerv (GLenum, GLenum, GLvoid* *);
+GLAPI void APIENTRY glGenQueries (GLsizei, GLuint *);
+GLAPI void APIENTRY glDeleteQueries (GLsizei, const GLuint *);
+GLAPI GLboolean APIENTRY glIsQuery (GLuint);
+GLAPI void APIENTRY glBeginQuery (GLenum, GLuint);
+GLAPI void APIENTRY glEndQuery (GLenum);
+GLAPI void APIENTRY glGetQueryiv (GLenum, GLenum, GLint *);
+GLAPI void APIENTRY glGetQueryObjectiv (GLuint, GLenum, GLint *);
+GLAPI void APIENTRY glGetQueryObjectuiv (GLuint, GLenum, GLuint *);
+GLAPI void APIENTRY glBindBuffer (GLenum, GLuint);
+GLAPI void APIENTRY glDeleteBuffers (GLsizei, const GLuint *);
+GLAPI void APIENTRY glGenBuffers (GLsizei, GLuint *);
+GLAPI GLboolean APIENTRY glIsBuffer (GLuint);
+GLAPI void APIENTRY glBufferData (GLenum, GLsizeiptr, const GLvoid *, GLenum);
+GLAPI void APIENTRY glBufferSubData (GLenum, GLintptr, GLsizeiptr, const GLvoid *);
+GLAPI void APIENTRY glGetBufferSubData (GLenum, GLintptr, GLsizeiptr, GLvoid *);
+GLAPI GLvoid* APIENTRY glMapBuffer (GLenum, GLenum);
+GLAPI GLboolean APIENTRY glUnmapBuffer (GLenum);
+GLAPI void APIENTRY glGetBufferParameteriv (GLenum, GLenum, GLint *);
+GLAPI void APIENTRY glGetBufferPointerv (GLenum, GLenum, GLvoid* *);
#endif /* GL3_PROTOTYPES */
-typedef void (GLAPIENTRYP PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids);
-typedef void (GLAPIENTRYP PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids);
-typedef GLboolean (GLAPIENTRYP PFNGLISQUERYPROC) (GLuint id);
-typedef void (GLAPIENTRYP PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
-typedef void (GLAPIENTRYP PFNGLENDQUERYPROC) (GLenum target);
-typedef void (GLAPIENTRYP PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (GLAPIENTRYP PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint *params);
-typedef void (GLAPIENTRYP PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params);
-typedef void (GLAPIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
-typedef void (GLAPIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
-typedef void (GLAPIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
-typedef GLboolean (GLAPIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);
-typedef void (GLAPIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
-typedef void (GLAPIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
-typedef void (GLAPIENTRYP PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
-typedef GLvoid* (GLAPIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
-typedef GLboolean (GLAPIENTRYP PFNGLUNMAPBUFFERPROC) (GLenum target);
-typedef void (GLAPIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (GLAPIENTRYP PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, GLvoid* *params);
+typedef void (APIENTRYP PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids);
+typedef void (APIENTRYP PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids);
+typedef GLboolean (APIENTRYP PFNGLISQUERYPROC) (GLuint id);
+typedef void (APIENTRYP PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
+typedef void (APIENTRYP PFNGLENDQUERYPROC) (GLenum target);
+typedef void (APIENTRYP PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params);
+typedef void (APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
+typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
+typedef void (APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
+typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);
+typedef void (APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
+typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
+typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
+typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
+typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC) (GLenum target);
+typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, GLvoid* *params);
#endif
#ifndef GL_VERSION_2_0
#define GL_VERSION_2_0 1
#ifdef GL3_PROTOTYPES
-GLAPI void GLAPIENTRY glBlendEquationSeparate (GLenum, GLenum);
-GLAPI void GLAPIENTRY glDrawBuffers (GLsizei, const GLenum *);
-GLAPI void GLAPIENTRY glStencilOpSeparate (GLenum, GLenum, GLenum, GLenum);
-GLAPI void GLAPIENTRY glStencilFuncSeparate (GLenum, GLenum, GLint, GLuint);
-GLAPI void GLAPIENTRY glStencilMaskSeparate (GLenum, GLuint);
-GLAPI void GLAPIENTRY glAttachShader (GLuint, GLuint);
-GLAPI void GLAPIENTRY glBindAttribLocation (GLuint, GLuint, const GLchar *);
-GLAPI void GLAPIENTRY glCompileShader (GLuint);
-GLAPI GLuint GLAPIENTRY glCreateProgram (void);
-GLAPI GLuint GLAPIENTRY glCreateShader (GLenum);
-GLAPI void GLAPIENTRY glDeleteProgram (GLuint);
-GLAPI void GLAPIENTRY glDeleteShader (GLuint);
-GLAPI void GLAPIENTRY glDetachShader (GLuint, GLuint);
-GLAPI void GLAPIENTRY glDisableVertexAttribArray (GLuint);
-GLAPI void GLAPIENTRY glEnableVertexAttribArray (GLuint);
-GLAPI void GLAPIENTRY glGetActiveAttrib (GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *);
-GLAPI void GLAPIENTRY glGetActiveUniform (GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *);
-GLAPI void GLAPIENTRY glGetAttachedShaders (GLuint, GLsizei, GLsizei *, GLuint *);
-GLAPI GLint GLAPIENTRY glGetAttribLocation (GLuint, const GLchar *);
-GLAPI void GLAPIENTRY glGetProgramiv (GLuint, GLenum, GLint *);
-GLAPI void GLAPIENTRY glGetProgramInfoLog (GLuint, GLsizei, GLsizei *, GLchar *);
-GLAPI void GLAPIENTRY glGetShaderiv (GLuint, GLenum, GLint *);
-GLAPI void GLAPIENTRY glGetShaderInfoLog (GLuint, GLsizei, GLsizei *, GLchar *);
-GLAPI void GLAPIENTRY glGetShaderSource (GLuint, GLsizei, GLsizei *, GLchar *);
-GLAPI GLint GLAPIENTRY glGetUniformLocation (GLuint, const GLchar *);
-GLAPI void GLAPIENTRY glGetUniformfv (GLuint, GLint, GLfloat *);
-GLAPI void GLAPIENTRY glGetUniformiv (GLuint, GLint, GLint *);
-GLAPI void GLAPIENTRY glGetVertexAttribdv (GLuint, GLenum, GLdouble *);
-GLAPI void GLAPIENTRY glGetVertexAttribfv (GLuint, GLenum, GLfloat *);
-GLAPI void GLAPIENTRY glGetVertexAttribiv (GLuint, GLenum, GLint *);
-GLAPI void GLAPIENTRY glGetVertexAttribPointerv (GLuint, GLenum, GLvoid* *);
-GLAPI GLboolean GLAPIENTRY glIsProgram (GLuint);
-GLAPI GLboolean GLAPIENTRY glIsShader (GLuint);
-GLAPI void GLAPIENTRY glLinkProgram (GLuint);
-GLAPI void GLAPIENTRY glShaderSource (GLuint, GLsizei, const GLchar* *, const GLint *);
-GLAPI void GLAPIENTRY glUseProgram (GLuint);
-GLAPI void GLAPIENTRY glUniform1f (GLint, GLfloat);
-GLAPI void GLAPIENTRY glUniform2f (GLint, GLfloat, GLfloat);
-GLAPI void GLAPIENTRY glUniform3f (GLint, GLfloat, GLfloat, GLfloat);
-GLAPI void GLAPIENTRY glUniform4f (GLint, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void GLAPIENTRY glUniform1i (GLint, GLint);
-GLAPI void GLAPIENTRY glUniform2i (GLint, GLint, GLint);
-GLAPI void GLAPIENTRY glUniform3i (GLint, GLint, GLint, GLint);
-GLAPI void GLAPIENTRY glUniform4i (GLint, GLint, GLint, GLint, GLint);
-GLAPI void GLAPIENTRY glUniform1fv (GLint, GLsizei, const GLfloat *);
-GLAPI void GLAPIENTRY glUniform2fv (GLint, GLsizei, const GLfloat *);
-GLAPI void GLAPIENTRY glUniform3fv (GLint, GLsizei, const GLfloat *);
-GLAPI void GLAPIENTRY glUniform4fv (GLint, GLsizei, const GLfloat *);
-GLAPI void GLAPIENTRY glUniform1iv (GLint, GLsizei, const GLint *);
-GLAPI void GLAPIENTRY glUniform2iv (GLint, GLsizei, const GLint *);
-GLAPI void GLAPIENTRY glUniform3iv (GLint, GLsizei, const GLint *);
-GLAPI void GLAPIENTRY glUniform4iv (GLint, GLsizei, const GLint *);
-GLAPI void GLAPIENTRY glUniformMatrix2fv (GLint, GLsizei, GLboolean, const GLfloat *);
-GLAPI void GLAPIENTRY glUniformMatrix3fv (GLint, GLsizei, GLboolean, const GLfloat *);
-GLAPI void GLAPIENTRY glUniformMatrix4fv (GLint, GLsizei, GLboolean, const GLfloat *);
-GLAPI void GLAPIENTRY glValidateProgram (GLuint);
-GLAPI void GLAPIENTRY glVertexAttrib1d (GLuint, GLdouble);
-GLAPI void GLAPIENTRY glVertexAttrib1dv (GLuint, const GLdouble *);
-GLAPI void GLAPIENTRY glVertexAttrib1f (GLuint, GLfloat);
-GLAPI void GLAPIENTRY glVertexAttrib1fv (GLuint, const GLfloat *);
-GLAPI void GLAPIENTRY glVertexAttrib1s (GLuint, GLshort);
-GLAPI void GLAPIENTRY glVertexAttrib1sv (GLuint, const GLshort *);
-GLAPI void GLAPIENTRY glVertexAttrib2d (GLuint, GLdouble, GLdouble);
-GLAPI void GLAPIENTRY glVertexAttrib2dv (GLuint, const GLdouble *);
-GLAPI void GLAPIENTRY glVertexAttrib2f (GLuint, GLfloat, GLfloat);
-GLAPI void GLAPIENTRY glVertexAttrib2fv (GLuint, const GLfloat *);
-GLAPI void GLAPIENTRY glVertexAttrib2s (GLuint, GLshort, GLshort);
-GLAPI void GLAPIENTRY glVertexAttrib2sv (GLuint, const GLshort *);
-GLAPI void GLAPIENTRY glVertexAttrib3d (GLuint, GLdouble, GLdouble, GLdouble);
-GLAPI void GLAPIENTRY glVertexAttrib3dv (GLuint, const GLdouble *);
-GLAPI void GLAPIENTRY glVertexAttrib3f (GLuint, GLfloat, GLfloat, GLfloat);
-GLAPI void GLAPIENTRY glVertexAttrib3fv (GLuint, const GLfloat *);
-GLAPI void GLAPIENTRY glVertexAttrib3s (GLuint, GLshort, GLshort, GLshort);
-GLAPI void GLAPIENTRY glVertexAttrib3sv (GLuint, const GLshort *);
-GLAPI void GLAPIENTRY glVertexAttrib4Nbv (GLuint, const GLbyte *);
-GLAPI void GLAPIENTRY glVertexAttrib4Niv (GLuint, const GLint *);
-GLAPI void GLAPIENTRY glVertexAttrib4Nsv (GLuint, const GLshort *);
-GLAPI void GLAPIENTRY glVertexAttrib4Nub (GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
-GLAPI void GLAPIENTRY glVertexAttrib4Nubv (GLuint, const GLubyte *);
-GLAPI void GLAPIENTRY glVertexAttrib4Nuiv (GLuint, const GLuint *);
-GLAPI void GLAPIENTRY glVertexAttrib4Nusv (GLuint, const GLushort *);
-GLAPI void GLAPIENTRY glVertexAttrib4bv (GLuint, const GLbyte *);
-GLAPI void GLAPIENTRY glVertexAttrib4d (GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void GLAPIENTRY glVertexAttrib4dv (GLuint, const GLdouble *);
-GLAPI void GLAPIENTRY glVertexAttrib4f (GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void GLAPIENTRY glVertexAttrib4fv (GLuint, const GLfloat *);
-GLAPI void GLAPIENTRY glVertexAttrib4iv (GLuint, const GLint *);
-GLAPI void GLAPIENTRY glVertexAttrib4s (GLuint, GLshort, GLshort, GLshort, GLshort);
-GLAPI void GLAPIENTRY glVertexAttrib4sv (GLuint, const GLshort *);
-GLAPI void GLAPIENTRY glVertexAttrib4ubv (GLuint, const GLubyte *);
-GLAPI void GLAPIENTRY glVertexAttrib4uiv (GLuint, const GLuint *);
-GLAPI void GLAPIENTRY glVertexAttrib4usv (GLuint, const GLushort *);
-GLAPI void GLAPIENTRY glVertexAttribPointer (GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glBlendEquationSeparate (GLenum, GLenum);
+GLAPI void APIENTRY glDrawBuffers (GLsizei, const GLenum *);
+GLAPI void APIENTRY glStencilOpSeparate (GLenum, GLenum, GLenum, GLenum);
+GLAPI void APIENTRY glStencilFuncSeparate (GLenum, GLenum, GLint, GLuint);
+GLAPI void APIENTRY glStencilMaskSeparate (GLenum, GLuint);
+GLAPI void APIENTRY glAttachShader (GLuint, GLuint);
+GLAPI void APIENTRY glBindAttribLocation (GLuint, GLuint, const GLchar *);
+GLAPI void APIENTRY glCompileShader (GLuint);
+GLAPI GLuint APIENTRY glCreateProgram (void);
+GLAPI GLuint APIENTRY glCreateShader (GLenum);
+GLAPI void APIENTRY glDeleteProgram (GLuint);
+GLAPI void APIENTRY glDeleteShader (GLuint);
+GLAPI void APIENTRY glDetachShader (GLuint, GLuint);
+GLAPI void APIENTRY glDisableVertexAttribArray (GLuint);
+GLAPI void APIENTRY glEnableVertexAttribArray (GLuint);
+GLAPI void APIENTRY glGetActiveAttrib (GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *);
+GLAPI void APIENTRY glGetActiveUniform (GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *);
+GLAPI void APIENTRY glGetAttachedShaders (GLuint, GLsizei, GLsizei *, GLuint *);
+GLAPI GLint APIENTRY glGetAttribLocation (GLuint, const GLchar *);
+GLAPI void APIENTRY glGetProgramiv (GLuint, GLenum, GLint *);
+GLAPI void APIENTRY glGetProgramInfoLog (GLuint, GLsizei, GLsizei *, GLchar *);
+GLAPI void APIENTRY glGetShaderiv (GLuint, GLenum, GLint *);
+GLAPI void APIENTRY glGetShaderInfoLog (GLuint, GLsizei, GLsizei *, GLchar *);
+GLAPI void APIENTRY glGetShaderSource (GLuint, GLsizei, GLsizei *, GLchar *);
+GLAPI GLint APIENTRY glGetUniformLocation (GLuint, const GLchar *);
+GLAPI void APIENTRY glGetUniformfv (GLuint, GLint, GLfloat *);
+GLAPI void APIENTRY glGetUniformiv (GLuint, GLint, GLint *);
+GLAPI void APIENTRY glGetVertexAttribdv (GLuint, GLenum, GLdouble *);
+GLAPI void APIENTRY glGetVertexAttribfv (GLuint, GLenum, GLfloat *);
+GLAPI void APIENTRY glGetVertexAttribiv (GLuint, GLenum, GLint *);
+GLAPI void APIENTRY glGetVertexAttribPointerv (GLuint, GLenum, GLvoid* *);
+GLAPI GLboolean APIENTRY glIsProgram (GLuint);
+GLAPI GLboolean APIENTRY glIsShader (GLuint);
+GLAPI void APIENTRY glLinkProgram (GLuint);
+GLAPI void APIENTRY glShaderSource (GLuint, GLsizei, const GLchar* *, const GLint *);
+GLAPI void APIENTRY glUseProgram (GLuint);
+GLAPI void APIENTRY glUniform1f (GLint, GLfloat);
+GLAPI void APIENTRY glUniform2f (GLint, GLfloat, GLfloat);
+GLAPI void APIENTRY glUniform3f (GLint, GLfloat, GLfloat, GLfloat);
+GLAPI void APIENTRY glUniform4f (GLint, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI void APIENTRY glUniform1i (GLint, GLint);
+GLAPI void APIENTRY glUniform2i (GLint, GLint, GLint);
+GLAPI void APIENTRY glUniform3i (GLint, GLint, GLint, GLint);
+GLAPI void APIENTRY glUniform4i (GLint, GLint, GLint, GLint, GLint);
+GLAPI void APIENTRY glUniform1fv (GLint, GLsizei, const GLfloat *);
+GLAPI void APIENTRY glUniform2fv (GLint, GLsizei, const GLfloat *);
+GLAPI void APIENTRY glUniform3fv (GLint, GLsizei, const GLfloat *);
+GLAPI void APIENTRY glUniform4fv (GLint, GLsizei, const GLfloat *);
+GLAPI void APIENTRY glUniform1iv (GLint, GLsizei, const GLint *);
+GLAPI void APIENTRY glUniform2iv (GLint, GLsizei, const GLint *);
+GLAPI void APIENTRY glUniform3iv (GLint, GLsizei, const GLint *);
+GLAPI void APIENTRY glUniform4iv (GLint, GLsizei, const GLint *);
+GLAPI void APIENTRY glUniformMatrix2fv (GLint, GLsizei, GLboolean, const GLfloat *);
+GLAPI void APIENTRY glUniformMatrix3fv (GLint, GLsizei, GLboolean, const GLfloat *);
+GLAPI void APIENTRY glUniformMatrix4fv (GLint, GLsizei, GLboolean, const GLfloat *);
+GLAPI void APIENTRY glValidateProgram (GLuint);
+GLAPI void APIENTRY glVertexAttrib1d (GLuint, GLdouble);
+GLAPI void APIENTRY glVertexAttrib1dv (GLuint, const GLdouble *);
+GLAPI void APIENTRY glVertexAttrib1f (GLuint, GLfloat);
+GLAPI void APIENTRY glVertexAttrib1fv (GLuint, const GLfloat *);
+GLAPI void APIENTRY glVertexAttrib1s (GLuint, GLshort);
+GLAPI void APIENTRY glVertexAttrib1sv (GLuint, const GLshort *);
+GLAPI void APIENTRY glVertexAttrib2d (GLuint, GLdouble, GLdouble);
+GLAPI void APIENTRY glVertexAttrib2dv (GLuint, const GLdouble *);
+GLAPI void APIENTRY glVertexAttrib2f (GLuint, GLfloat, GLfloat);
+GLAPI void APIENTRY glVertexAttrib2fv (GLuint, const GLfloat *);
+GLAPI void APIENTRY glVertexAttrib2s (GLuint, GLshort, GLshort);
+GLAPI void APIENTRY glVertexAttrib2sv (GLuint, const GLshort *);
+GLAPI void APIENTRY glVertexAttrib3d (GLuint, GLdouble, GLdouble, GLdouble);
+GLAPI void APIENTRY glVertexAttrib3dv (GLuint, const GLdouble *);
+GLAPI void APIENTRY glVertexAttrib3f (GLuint, GLfloat, GLfloat, GLfloat);
+GLAPI void APIENTRY glVertexAttrib3fv (GLuint, const GLfloat *);
+GLAPI void APIENTRY glVertexAttrib3s (GLuint, GLshort, GLshort, GLshort);
+GLAPI void APIENTRY glVertexAttrib3sv (GLuint, const GLshort *);
+GLAPI void APIENTRY glVertexAttrib4Nbv (GLuint, const GLbyte *);
+GLAPI void APIENTRY glVertexAttrib4Niv (GLuint, const GLint *);
+GLAPI void APIENTRY glVertexAttrib4Nsv (GLuint, const GLshort *);
+GLAPI void APIENTRY glVertexAttrib4Nub (GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
+GLAPI void APIENTRY glVertexAttrib4Nubv (GLuint, const GLubyte *);
+GLAPI void APIENTRY glVertexAttrib4Nuiv (GLuint, const GLuint *);
+GLAPI void APIENTRY glVertexAttrib4Nusv (GLuint, const GLushort *);
+GLAPI void APIENTRY glVertexAttrib4bv (GLuint, const GLbyte *);
+GLAPI void APIENTRY glVertexAttrib4d (GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI void APIENTRY glVertexAttrib4dv (GLuint, const GLdouble *);
+GLAPI void APIENTRY glVertexAttrib4f (GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI void APIENTRY glVertexAttrib4fv (GLuint, const GLfloat *);
+GLAPI void APIENTRY glVertexAttrib4iv (GLuint, const GLint *);
+GLAPI void APIENTRY glVertexAttrib4s (GLuint, GLshort, GLshort, GLshort, GLshort);
+GLAPI void APIENTRY glVertexAttrib4sv (GLuint, const GLshort *);
+GLAPI void APIENTRY glVertexAttrib4ubv (GLuint, const GLubyte *);
+GLAPI void APIENTRY glVertexAttrib4uiv (GLuint, const GLuint *);
+GLAPI void APIENTRY glVertexAttrib4usv (GLuint, const GLushort *);
+GLAPI void APIENTRY glVertexAttribPointer (GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *);
#endif /* GL3_PROTOTYPES */
-typedef void (GLAPIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
-typedef void (GLAPIENTRYP PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs);
-typedef void (GLAPIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
-typedef void (GLAPIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
-typedef void (GLAPIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
-typedef void (GLAPIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
-typedef void (GLAPIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
-typedef void (GLAPIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);
-typedef GLuint (GLAPIENTRYP PFNGLCREATEPROGRAMPROC) (void);
-typedef GLuint (GLAPIENTRYP PFNGLCREATESHADERPROC) (GLenum type);
-typedef void (GLAPIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program);
-typedef void (GLAPIENTRYP PFNGLDELETESHADERPROC) (GLuint shader);
-typedef void (GLAPIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
-typedef void (GLAPIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
-typedef void (GLAPIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
-typedef void (GLAPIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
-typedef void (GLAPIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
-typedef void (GLAPIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
-typedef GLint (GLAPIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
-typedef void (GLAPIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
-typedef void (GLAPIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
-typedef void (GLAPIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
-typedef void (GLAPIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
-typedef void (GLAPIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
-typedef GLint (GLAPIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
-typedef void (GLAPIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
-typedef void (GLAPIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
-typedef void (GLAPIENTRYP PFNGLGETVERTEXATTRIBDVPROC) (GLuint index, GLenum pname, GLdouble *params);
-typedef void (GLAPIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
-typedef void (GLAPIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
-typedef void (GLAPIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
-typedef GLboolean (GLAPIENTRYP PFNGLISPROGRAMPROC) (GLuint program);
-typedef GLboolean (GLAPIENTRYP PFNGLISSHADERPROC) (GLuint shader);
-typedef void (GLAPIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);
-typedef void (GLAPIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar* *string, const GLint *length);
-typedef void (GLAPIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);
-typedef void (GLAPIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
-typedef void (GLAPIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
-typedef void (GLAPIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
-typedef void (GLAPIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
-typedef void (GLAPIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
-typedef void (GLAPIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
-typedef void (GLAPIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
-typedef void (GLAPIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
-typedef void (GLAPIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
-typedef void (GLAPIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
-typedef void (GLAPIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
-typedef void (GLAPIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
-typedef void (GLAPIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
-typedef void (GLAPIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
-typedef void (GLAPIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
-typedef void (GLAPIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
-typedef void (GLAPIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (GLAPIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (GLAPIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (GLAPIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort *v);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
+typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs);
+typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
+typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
+typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
+typedef void (APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
+typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
+typedef void (APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);
+typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC) (void);
+typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC) (GLenum type);
+typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program);
+typedef void (APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader);
+typedef void (APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
+typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
+typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
+typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
+typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
+typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
+typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
+typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+typedef void (APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
+typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
+typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC) (GLuint index, GLenum pname, GLdouble *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
+typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC) (GLuint program);
+typedef GLboolean (APIENTRYP PFNGLISSHADERPROC) (GLuint shader);
+typedef void (APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);
+typedef void (APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar* *string, const GLint *length);
+typedef void (APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);
+typedef void (APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
+typedef void (APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
+typedef void (APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+typedef void (APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+typedef void (APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
+typedef void (APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
+typedef void (APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
+typedef void (APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+typedef void (APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
#endif
#ifndef GL_VERSION_2_1
#define GL_VERSION_2_1 1
#ifdef GL3_PROTOTYPES
-GLAPI void GLAPIENTRY glUniformMatrix2x3fv (GLint, GLsizei, GLboolean, const GLfloat *);
-GLAPI void GLAPIENTRY glUniformMatrix3x2fv (GLint, GLsizei, GLboolean, const GLfloat *);
-GLAPI void GLAPIENTRY glUniformMatrix2x4fv (GLint, GLsizei, GLboolean, const GLfloat *);
-GLAPI void GLAPIENTRY glUniformMatrix4x2fv (GLint, GLsizei, GLboolean, const GLfloat *);
-GLAPI void GLAPIENTRY glUniformMatrix3x4fv (GLint, GLsizei, GLboolean, const GLfloat *);
-GLAPI void GLAPIENTRY glUniformMatrix4x3fv (GLint, GLsizei, GLboolean, const GLfloat *);
+GLAPI void APIENTRY glUniformMatrix2x3fv (GLint, GLsizei, GLboolean, const GLfloat *);
+GLAPI void APIENTRY glUniformMatrix3x2fv (GLint, GLsizei, GLboolean, const GLfloat *);
+GLAPI void APIENTRY glUniformMatrix2x4fv (GLint, GLsizei, GLboolean, const GLfloat *);
+GLAPI void APIENTRY glUniformMatrix4x2fv (GLint, GLsizei, GLboolean, const GLfloat *);
+GLAPI void APIENTRY glUniformMatrix3x4fv (GLint, GLsizei, GLboolean, const GLfloat *);
+GLAPI void APIENTRY glUniformMatrix4x3fv (GLint, GLsizei, GLboolean, const GLfloat *);
#endif /* GL3_PROTOTYPES */
-typedef void (GLAPIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (GLAPIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (GLAPIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (GLAPIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (GLAPIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (GLAPIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
#endif
#ifndef GL_VERSION_3_0
@@ -1572,83 +1562,83 @@ typedef void (GLAPIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei
/* ARB_map_buffer_range */
/* ARB_vertex_array_object */
#ifdef GL3_PROTOTYPES
-GLAPI void GLAPIENTRY glColorMaski (GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
-GLAPI void GLAPIENTRY glGetBooleani_v (GLenum, GLuint, GLboolean *);
-GLAPI void GLAPIENTRY glGetIntegeri_v (GLenum, GLuint, GLint *);
-GLAPI void GLAPIENTRY glEnablei (GLenum, GLuint);
-GLAPI void GLAPIENTRY glDisablei (GLenum, GLuint);
-GLAPI GLboolean GLAPIENTRY glIsEnabledi (GLenum, GLuint);
-GLAPI void GLAPIENTRY glBeginTransformFeedback (GLenum);
-GLAPI void GLAPIENTRY glEndTransformFeedback (void);
-GLAPI void GLAPIENTRY glBindBufferRange (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
-GLAPI void GLAPIENTRY glBindBufferBase (GLenum, GLuint, GLuint);
-GLAPI void GLAPIENTRY glTransformFeedbackVaryings (GLuint, GLsizei, const GLchar* *, GLenum);
-GLAPI void GLAPIENTRY glGetTransformFeedbackVarying (GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *);
-GLAPI void GLAPIENTRY glClampColor (GLenum, GLenum);
-GLAPI void GLAPIENTRY glBeginConditionalRender (GLuint, GLenum);
-GLAPI void GLAPIENTRY glEndConditionalRender (void);
-GLAPI void GLAPIENTRY glVertexAttribIPointer (GLuint, GLint, GLenum, GLsizei, const GLvoid *);
-GLAPI void GLAPIENTRY glGetVertexAttribIiv (GLuint, GLenum, GLint *);
-GLAPI void GLAPIENTRY glGetVertexAttribIuiv (GLuint, GLenum, GLuint *);
-GLAPI void GLAPIENTRY glGetUniformuiv (GLuint, GLint, GLuint *);
-GLAPI void GLAPIENTRY glBindFragDataLocation (GLuint, GLuint, const GLchar *);
-GLAPI GLint GLAPIENTRY glGetFragDataLocation (GLuint, const GLchar *);
-GLAPI void GLAPIENTRY glUniform1ui (GLint, GLuint);
-GLAPI void GLAPIENTRY glUniform2ui (GLint, GLuint, GLuint);
-GLAPI void GLAPIENTRY glUniform3ui (GLint, GLuint, GLuint, GLuint);
-GLAPI void GLAPIENTRY glUniform4ui (GLint, GLuint, GLuint, GLuint, GLuint);
-GLAPI void GLAPIENTRY glUniform1uiv (GLint, GLsizei, const GLuint *);
-GLAPI void GLAPIENTRY glUniform2uiv (GLint, GLsizei, const GLuint *);
-GLAPI void GLAPIENTRY glUniform3uiv (GLint, GLsizei, const GLuint *);
-GLAPI void GLAPIENTRY glUniform4uiv (GLint, GLsizei, const GLuint *);
-GLAPI void GLAPIENTRY glTexParameterIiv (GLenum, GLenum, const GLint *);
-GLAPI void GLAPIENTRY glTexParameterIuiv (GLenum, GLenum, const GLuint *);
-GLAPI void GLAPIENTRY glGetTexParameterIiv (GLenum, GLenum, GLint *);
-GLAPI void GLAPIENTRY glGetTexParameterIuiv (GLenum, GLenum, GLuint *);
-GLAPI void GLAPIENTRY glClearBufferiv (GLenum, GLint, const GLint *);
-GLAPI void GLAPIENTRY glClearBufferuiv (GLenum, GLint, const GLuint *);
-GLAPI void GLAPIENTRY glClearBufferfv (GLenum, GLint, const GLfloat *);
-GLAPI void GLAPIENTRY glClearBufferfi (GLenum, GLint, GLfloat, GLint);
-GLAPI const GLubyte * GLAPIENTRY glGetStringi (GLenum, GLuint);
+GLAPI void APIENTRY glColorMaski (GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
+GLAPI void APIENTRY glGetBooleani_v (GLenum, GLuint, GLboolean *);
+GLAPI void APIENTRY glGetIntegeri_v (GLenum, GLuint, GLint *);
+GLAPI void APIENTRY glEnablei (GLenum, GLuint);
+GLAPI void APIENTRY glDisablei (GLenum, GLuint);
+GLAPI GLboolean APIENTRY glIsEnabledi (GLenum, GLuint);
+GLAPI void APIENTRY glBeginTransformFeedback (GLenum);
+GLAPI void APIENTRY glEndTransformFeedback (void);
+GLAPI void APIENTRY glBindBufferRange (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
+GLAPI void APIENTRY glBindBufferBase (GLenum, GLuint, GLuint);
+GLAPI void APIENTRY glTransformFeedbackVaryings (GLuint, GLsizei, const GLchar* *, GLenum);
+GLAPI void APIENTRY glGetTransformFeedbackVarying (GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *);
+GLAPI void APIENTRY glClampColor (GLenum, GLenum);
+GLAPI void APIENTRY glBeginConditionalRender (GLuint, GLenum);
+GLAPI void APIENTRY glEndConditionalRender (void);
+GLAPI void APIENTRY glVertexAttribIPointer (GLuint, GLint, GLenum, GLsizei, const GLvoid *);
+GLAPI void APIENTRY glGetVertexAttribIiv (GLuint, GLenum, GLint *);
+GLAPI void APIENTRY glGetVertexAttribIuiv (GLuint, GLenum, GLuint *);
+GLAPI void APIENTRY glGetUniformuiv (GLuint, GLint, GLuint *);
+GLAPI void APIENTRY glBindFragDataLocation (GLuint, GLuint, const GLchar *);
+GLAPI GLint APIENTRY glGetFragDataLocation (GLuint, const GLchar *);
+GLAPI void APIENTRY glUniform1ui (GLint, GLuint);
+GLAPI void APIENTRY glUniform2ui (GLint, GLuint, GLuint);
+GLAPI void APIENTRY glUniform3ui (GLint, GLuint, GLuint, GLuint);
+GLAPI void APIENTRY glUniform4ui (GLint, GLuint, GLuint, GLuint, GLuint);
+GLAPI void APIENTRY glUniform1uiv (GLint, GLsizei, const GLuint *);
+GLAPI void APIENTRY glUniform2uiv (GLint, GLsizei, const GLuint *);
+GLAPI void APIENTRY glUniform3uiv (GLint, GLsizei, const GLuint *);
+GLAPI void APIENTRY glUniform4uiv (GLint, GLsizei, const GLuint *);
+GLAPI void APIENTRY glTexParameterIiv (GLenum, GLenum, const GLint *);
+GLAPI void APIENTRY glTexParameterIuiv (GLenum, GLenum, const GLuint *);
+GLAPI void APIENTRY glGetTexParameterIiv (GLenum, GLenum, GLint *);
+GLAPI void APIENTRY glGetTexParameterIuiv (GLenum, GLenum, GLuint *);
+GLAPI void APIENTRY glClearBufferiv (GLenum, GLint, const GLint *);
+GLAPI void APIENTRY glClearBufferuiv (GLenum, GLint, const GLuint *);
+GLAPI void APIENTRY glClearBufferfv (GLenum, GLint, const GLfloat *);
+GLAPI void APIENTRY glClearBufferfi (GLenum, GLint, GLfloat, GLint);
+GLAPI const GLubyte * APIENTRY glGetStringi (GLenum, GLuint);
#endif /* GL3_PROTOTYPES */
-typedef void (GLAPIENTRYP PFNGLCOLORMASKIPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
-typedef void (GLAPIENTRYP PFNGLGETBOOLEANI_VPROC) (GLenum target, GLuint index, GLboolean *data);
-typedef void (GLAPIENTRYP PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint *data);
-typedef void (GLAPIENTRYP PFNGLENABLEIPROC) (GLenum target, GLuint index);
-typedef void (GLAPIENTRYP PFNGLDISABLEIPROC) (GLenum target, GLuint index);
-typedef GLboolean (GLAPIENTRYP PFNGLISENABLEDIPROC) (GLenum target, GLuint index);
-typedef void (GLAPIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode);
-typedef void (GLAPIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC) (void);
-typedef void (GLAPIENTRYP PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
-typedef void (GLAPIENTRYP PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer);
-typedef void (GLAPIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode);
-typedef void (GLAPIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
-typedef void (GLAPIENTRYP PFNGLCLAMPCOLORPROC) (GLenum target, GLenum clamp);
-typedef void (GLAPIENTRYP PFNGLBEGINCONDITIONALRENDERPROC) (GLuint id, GLenum mode);
-typedef void (GLAPIENTRYP PFNGLENDCONDITIONALRENDERPROC) (void);
-typedef void (GLAPIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-typedef void (GLAPIENTRYP PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint *params);
-typedef void (GLAPIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint *params);
-typedef void (GLAPIENTRYP PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint *params);
-typedef void (GLAPIENTRYP PFNGLBINDFRAGDATALOCATIONPROC) (GLuint program, GLuint color, const GLchar *name);
-typedef GLint (GLAPIENTRYP PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar *name);
-typedef void (GLAPIENTRYP PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0);
-typedef void (GLAPIENTRYP PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1);
-typedef void (GLAPIENTRYP PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);
-typedef void (GLAPIENTRYP PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-typedef void (GLAPIENTRYP PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint *value);
-typedef void (GLAPIENTRYP PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint *value);
-typedef void (GLAPIENTRYP PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint *value);
-typedef void (GLAPIENTRYP PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint *value);
-typedef void (GLAPIENTRYP PFNGLTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (GLAPIENTRYP PFNGLTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, const GLuint *params);
-typedef void (GLAPIENTRYP PFNGLGETTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (GLAPIENTRYP PFNGLGETTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, GLuint *params);
-typedef void (GLAPIENTRYP PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint *value);
-typedef void (GLAPIENTRYP PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint *value);
-typedef void (GLAPIENTRYP PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat *value);
-typedef void (GLAPIENTRYP PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
-typedef const GLubyte * (GLAPIENTRYP PFNGLGETSTRINGIPROC) (GLenum name, GLuint index);
+typedef void (APIENTRYP PFNGLCOLORMASKIPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
+typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC) (GLenum target, GLuint index, GLboolean *data);
+typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint *data);
+typedef void (APIENTRYP PFNGLENABLEIPROC) (GLenum target, GLuint index);
+typedef void (APIENTRYP PFNGLDISABLEIPROC) (GLenum target, GLuint index);
+typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC) (GLenum target, GLuint index);
+typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode);
+typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC) (void);
+typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer);
+typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode);
+typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+typedef void (APIENTRYP PFNGLCLAMPCOLORPROC) (GLenum target, GLenum clamp);
+typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC) (GLuint id, GLenum mode);
+typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC) (void);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint *params);
+typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint *params);
+typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC) (GLuint program, GLuint color, const GLchar *name);
+typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar *name);
+typedef void (APIENTRYP PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0);
+typedef void (APIENTRYP PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1);
+typedef void (APIENTRYP PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);
+typedef void (APIENTRYP PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, const GLuint *params);
+typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, GLuint *params);
+typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint *value);
+typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint *value);
+typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat *value);
+typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
+typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGIPROC) (GLenum name, GLuint index);
#endif
#ifndef GL_VERSION_3_1
@@ -1657,115 +1647,119 @@ typedef const GLubyte * (GLAPIENTRYP PFNGLGETSTRINGIPROC) (GLenum name, GLuint i
/* ARB_copy_buffer */
/* ARB_uniform_buffer_object */
#ifdef GL3_PROTOTYPES
-GLAPI void GLAPIENTRY glDrawArraysInstanced (GLenum, GLint, GLsizei, GLsizei);
-GLAPI void GLAPIENTRY glDrawElementsInstanced (GLenum, GLsizei, GLenum, const GLvoid *, GLsizei);
-GLAPI void GLAPIENTRY glTexBuffer (GLenum, GLenum, GLuint);
-GLAPI void GLAPIENTRY glPrimitiveRestartIndex (GLuint);
+GLAPI void APIENTRY glDrawArraysInstanced (GLenum, GLint, GLsizei, GLsizei);
+GLAPI void APIENTRY glDrawElementsInstanced (GLenum, GLsizei, GLenum, const GLvoid *, GLsizei);
+GLAPI void APIENTRY glTexBuffer (GLenum, GLenum, GLuint);
+GLAPI void APIENTRY glPrimitiveRestartIndex (GLuint);
#endif /* GL3_PROTOTYPES */
-typedef void (GLAPIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
-typedef void (GLAPIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
-typedef void (GLAPIENTRYP PFNGLTEXBUFFERPROC) (GLenum target, GLenum internalformat, GLuint buffer);
-typedef void (GLAPIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC) (GLuint index);
+typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
+typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
+typedef void (APIENTRYP PFNGLTEXBUFFERPROC) (GLenum target, GLenum internalformat, GLuint buffer);
+typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC) (GLuint index);
#endif
#ifndef GL_ARB_framebuffer_object
#define GL_ARB_framebuffer_object 1
#ifdef GL3_PROTOTYPES
-GLAPI GLboolean GLAPIENTRY glIsRenderbuffer (GLuint);
-GLAPI void GLAPIENTRY glBindRenderbuffer (GLenum, GLuint);
-GLAPI void GLAPIENTRY glDeleteRenderbuffers (GLsizei, const GLuint *);
-GLAPI void GLAPIENTRY glGenRenderbuffers (GLsizei, GLuint *);
-GLAPI void GLAPIENTRY glRenderbufferStorage (GLenum, GLenum, GLsizei, GLsizei);
-GLAPI void GLAPIENTRY glGetRenderbufferParameteriv (GLenum, GLenum, GLint *);
-GLAPI GLboolean GLAPIENTRY glIsFramebuffer (GLuint);
-GLAPI void GLAPIENTRY glBindFramebuffer (GLenum, GLuint);
-GLAPI void GLAPIENTRY glDeleteFramebuffers (GLsizei, const GLuint *);
-GLAPI void GLAPIENTRY glGenFramebuffers (GLsizei, GLuint *);
-GLAPI GLenum GLAPIENTRY glCheckFramebufferStatus (GLenum);
-GLAPI void GLAPIENTRY glFramebufferTexture1D (GLenum, GLenum, GLenum, GLuint, GLint);
-GLAPI void GLAPIENTRY glFramebufferTexture2D (GLenum, GLenum, GLenum, GLuint, GLint);
-GLAPI void GLAPIENTRY glFramebufferTexture3D (GLenum, GLenum, GLenum, GLuint, GLint, GLint);
-GLAPI void GLAPIENTRY glFramebufferRenderbuffer (GLenum, GLenum, GLenum, GLuint);
-GLAPI void GLAPIENTRY glGetFramebufferAttachmentParameteriv (GLenum, GLenum, GLenum, GLint *);
-GLAPI void GLAPIENTRY glGenerateMipmap (GLenum);
-GLAPI void GLAPIENTRY glBlitFramebuffer (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
-GLAPI void GLAPIENTRY glRenderbufferStorageMultisample (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
-GLAPI void GLAPIENTRY glFramebufferTextureLayer (GLenum, GLenum, GLuint, GLint, GLint);
+GLAPI GLboolean APIENTRY glIsRenderbuffer (GLuint);
+GLAPI void APIENTRY glBindRenderbuffer (GLenum, GLuint);
+GLAPI void APIENTRY glDeleteRenderbuffers (GLsizei, const GLuint *);
+GLAPI void APIENTRY glGenRenderbuffers (GLsizei, GLuint *);
+GLAPI void APIENTRY glRenderbufferStorage (GLenum, GLenum, GLsizei, GLsizei);
+GLAPI void APIENTRY glGetRenderbufferParameteriv (GLenum, GLenum, GLint *);
+GLAPI GLboolean APIENTRY glIsFramebuffer (GLuint);
+GLAPI void APIENTRY glBindFramebuffer (GLenum, GLuint);
+GLAPI void APIENTRY glDeleteFramebuffers (GLsizei, const GLuint *);
+GLAPI void APIENTRY glGenFramebuffers (GLsizei, GLuint *);
+GLAPI GLenum APIENTRY glCheckFramebufferStatus (GLenum);
+GLAPI void APIENTRY glFramebufferTexture1D (GLenum, GLenum, GLenum, GLuint, GLint);
+GLAPI void APIENTRY glFramebufferTexture2D (GLenum, GLenum, GLenum, GLuint, GLint);
+GLAPI void APIENTRY glFramebufferTexture3D (GLenum, GLenum, GLenum, GLuint, GLint, GLint);
+GLAPI void APIENTRY glFramebufferRenderbuffer (GLenum, GLenum, GLenum, GLuint);
+GLAPI void APIENTRY glGetFramebufferAttachmentParameteriv (GLenum, GLenum, GLenum, GLint *);
+GLAPI void APIENTRY glGenerateMipmap (GLenum);
+GLAPI void APIENTRY glBlitFramebuffer (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
+GLAPI void APIENTRY glRenderbufferStorageMultisample (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
+GLAPI void APIENTRY glFramebufferTextureLayer (GLenum, GLenum, GLuint, GLint, GLint);
#endif /* GL3_PROTOTYPES */
-typedef GLboolean (GLAPIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
-typedef void (GLAPIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
-typedef void (GLAPIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);
-typedef void (GLAPIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);
-typedef void (GLAPIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
-typedef void (GLAPIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef GLboolean (GLAPIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
-typedef void (GLAPIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
-typedef void (GLAPIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);
-typedef void (GLAPIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
-typedef GLenum (GLAPIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
-typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
-typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
-typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
-typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
-typedef void (GLAPIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
-typedef void (GLAPIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);
-typedef void (GLAPIENTRYP PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
-typedef void (GLAPIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
-typedef void (GLAPIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);
+typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);
+typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
+typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
+typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);
+typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
+typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);
+typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
#endif
#ifndef GL_ARB_map_buffer_range
#define GL_ARB_map_buffer_range 1
#ifdef GL3_PROTOTYPES
-GLAPI GLvoid* GLAPIENTRY glMapBufferRange (GLenum, GLintptr, GLsizeiptr, GLbitfield);
-GLAPI void GLAPIENTRY glFlushMappedBufferRange (GLenum, GLintptr, GLsizeiptr);
+GLAPI GLvoid* APIENTRY glMapBufferRange (GLenum, GLintptr, GLsizeiptr, GLbitfield);
+GLAPI void APIENTRY glFlushMappedBufferRange (GLenum, GLintptr, GLsizeiptr);
#endif /* GL3_PROTOTYPES */
-typedef GLvoid* (GLAPIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
-typedef void (GLAPIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
+typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
+typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
#endif
#ifndef GL_ARB_vertex_array_object
#define GL_ARB_vertex_array_object 1
#ifdef GL3_PROTOTYPES
-GLAPI void GLAPIENTRY glBindVertexArray (GLuint);
-GLAPI void GLAPIENTRY glDeleteVertexArrays (GLsizei, const GLuint *);
-GLAPI void GLAPIENTRY glGenVertexArrays (GLsizei, GLuint *);
-GLAPI GLboolean GLAPIENTRY glIsVertexArray (GLuint);
+GLAPI void APIENTRY glBindVertexArray (GLuint);
+GLAPI void APIENTRY glDeleteVertexArrays (GLsizei, const GLuint *);
+GLAPI void APIENTRY glGenVertexArrays (GLsizei, GLuint *);
+GLAPI GLboolean APIENTRY glIsVertexArray (GLuint);
#endif /* GL3_PROTOTYPES */
-typedef void (GLAPIENTRYP PFNGLBINDVERTEXARRAYPROC) (GLuint array);
-typedef void (GLAPIENTRYP PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint *arrays);
-typedef void (GLAPIENTRYP PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays);
-typedef GLboolean (GLAPIENTRYP PFNGLISVERTEXARRAYPROC) (GLuint array);
+typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC) (GLuint array);
+typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint *arrays);
+typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays);
+typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC) (GLuint array);
#endif
#ifndef GL_ARB_uniform_buffer_object
#define GL_ARB_uniform_buffer_object 1
#ifdef GL3_PROTOTYPES
-GLAPI void GLAPIENTRY glGetUniformIndices (GLuint, GLsizei, const GLchar* *, GLuint *);
-GLAPI void GLAPIENTRY glGetActiveUniformsiv (GLuint, GLsizei, const GLuint *, GLenum, GLint *);
-GLAPI void GLAPIENTRY glGetActiveUniformName (GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
-GLAPI GLuint GLAPIENTRY glGetUniformBlockIndex (GLuint, const GLchar *);
-GLAPI void GLAPIENTRY glGetActiveUniformBlockiv (GLuint, GLuint, GLenum, GLint *);
-GLAPI void GLAPIENTRY glGetActiveUniformBlockName (GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
-GLAPI void GLAPIENTRY glUniformBlockBinding (GLuint, GLuint, GLuint);
+GLAPI void APIENTRY glGetUniformIndices (GLuint, GLsizei, const GLchar* *, GLuint *);
+GLAPI void APIENTRY glGetActiveUniformsiv (GLuint, GLsizei, const GLuint *, GLenum, GLint *);
+GLAPI void APIENTRY glGetActiveUniformName (GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
+GLAPI GLuint APIENTRY glGetUniformBlockIndex (GLuint, const GLchar *);
+GLAPI void APIENTRY glGetActiveUniformBlockiv (GLuint, GLuint, GLenum, GLint *);
+GLAPI void APIENTRY glGetActiveUniformBlockName (GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
+GLAPI void APIENTRY glUniformBlockBinding (GLuint, GLuint, GLuint);
#endif /* GL3_PROTOTYPES */
-typedef void (GLAPIENTRYP PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar* *uniformNames, GLuint *uniformIndices);
-typedef void (GLAPIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
-typedef void (GLAPIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
-typedef GLuint (GLAPIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar *uniformBlockName);
-typedef void (GLAPIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
-typedef void (GLAPIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
-typedef void (GLAPIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
+typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar* *uniformNames, GLuint *uniformIndices);
+typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
+typedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar *uniformBlockName);
+typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
+typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
#endif
#ifndef GL_ARB_copy_buffer
#define GL_ARB_copy_buffer 1
#ifdef GL3_PROTOTYPES
-GLAPI void GLAPIENTRY glCopyBufferSubData (GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr);
+GLAPI void APIENTRY glCopyBufferSubData (GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr);
#endif /* GL3_PROTOTYPES */
-typedef void (GLAPIENTRYP PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
+typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
#endif
+/* Include Post-GL 3.1 changes and extensions */
+#include <GL3/gl3ext.h>
+
+
#ifdef __cplusplus
}
diff --git a/make/stub_includes/opengl/GL3/gl3ext.h b/make/stub_includes/opengl/GL3/gl3ext.h
index 2042a3acd..7d391921f 100644
--- a/make/stub_includes/opengl/GL3/gl3ext.h
+++ b/make/stub_includes/opengl/GL3/gl3ext.h
@@ -1,6 +1,354 @@
#ifndef __gl3ext_h_
#define __gl3ext_h_
+#include "gl3-64bit-types.h"
+
+/*
+ * ------------------------------------------------
+ * Everything here and below was added manually
+ * to the version of glext.h obtained from:
+ * http://oss.sgi.com/projects/ogl-sample/registry/index.html
+ * ------------------------------------------------
+ *
+ * Structure is:
+ * #ifndef GL_EXTENSION_NAME
+ * Add DEFINES here
+ * #endif
+ * #ifndef GL_EXTENSION_NAME
+ * Add TYPEDEFS here
+ * #endif
+ * #ifndef GL_EXTENSION_NAME
+ * #define GL_EXTENSION_NAME 1
+ * #ifdef GL_GL3EXT_PROTOTYPES
+ * Add FUNCTION DECLARATIONS here
+ * #endif
+ * FUNCTION POINTER DECLARATIONS NOT NEEDED
+ * #endif
+ */
+
+#ifndef GL_VERSION_3_2
+#define GL_VERSION_3_2 1
+/* OpenGL 3.2 also reuses entry points from these extensions: */
+/* ARB_vertex_array_bgra */
+/* ARB_draw_elements_base_vertex */
+/* ARB_fragment_coord_conventions */
+/* ARB_provoking_vertex */
+/* ARB_seamless_cube_map */
+/* ARB_texture_multisample */
+/* ARB_depth_clamp */
+/* ARB_geometry_shader4 */
+/* ARB_sync */
+#ifdef GL_GL3EXT_PROTOTYPES
+#endif /* GL3_PROTOTYPES */
+#endif
+
+/**
+ * http://www.opengl.org/registry/specs/ARB/vertex_array_bgra.txt
+ */
+#ifndef GL_ARB_vertex_array_bgra
+#define GL_BGRA 0x80E1
+#endif
+#ifndef GL_ARB_vertex_array_bgra
+#define GL_ARB_vertex_array_bgra 1
+#ifdef GL_GL3EXT_PROTOTYPES
+/* No FUNCTIONS */
+#endif
+/* No need for explicit function pointer: we force generation of ProcAddress .. */
+#endif
+
+/**
+ * http://www.opengl.org/registry/specs/ARB/draw_elements_base_vertex.txt
+ */
+#ifndef GL_ARB_draw_elements_base_vertex
+/* No TOKENS */
+#endif
+#ifndef GL_ARB_draw_elements_base_vertex
+#define GL_ARB_draw_elements_base_vertex 1
+#ifdef GL_GL3EXT_PROTOTYPES
+GLAPI void APIENTRY glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type,
+ GLvoid *indices, GLint basevertex);
+GLAPI void APIENTRY glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end,
+ GLsizei count, GLenum type, GLvoid *indices, GLint basevertex);
+GLAPI void APIENTRY glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count,
+ GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex);
+GLAPI void APIENTRY glMultiDrawElementsBaseVertex(GLenum mode, GLsizei *count, GLenum type,
+ GLvoid **indices, GLsizei primcount, GLint *basevertex);
+#endif
+/* No need for explicit function pointer: we force generation of ProcAddress .. */
+#endif
+
+/**
+ * http://www.opengl.org/registry/specs/ARB/fragment_coord_conventions.txt
+ */
+#ifndef GL_ARB_fragment_coord_conventions
+/* No Tokens */
+#endif
+#ifndef GL_ARB_fragment_coord_conventions
+#define GL_ARB_fragment_coord_conventions 1
+#ifdef GL_GL3EXT_PROTOTYPES
+/* No Functions */
+#endif
+/* No need for explicit function pointer: we force generation of ProcAddress .. */
+#endif
+
+/**
+ * http://www.opengl.org/registry/specs/ARB/provoking_vertex.txt
+ */
+#ifndef GL_ARB_provoking_vertex
+#define GL_FIRST_VERTEX_CONVENTION 0x8E4D
+#define GL_LAST_VERTEX_CONVENTION 0x8E4E
+#define GL_PROVOKING_VERTEX 0x8E4F
+#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C
+#endif
+#ifndef GL_ARB_provoking_vertex
+#define GL_ARB_provoking_vertex 1
+#ifdef GL_GL3EXT_PROTOTYPES
+GLAPI void APIENTRY glProvokingVertex(GLenum mode);
+#endif
+/* No need for explicit function pointer: we force generation of ProcAddress .. */
+#endif
+
+/**
+ * http://www.opengl.org/registry/specs/ARB/seamless_cube_map.txt
+ */
+#ifndef GL_ARB_seamless_cube_map
+#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F
+#endif
+#ifndef GL_ARB_seamless_cube_map
+#define GL_ARB_seamless_cube_map 1
+#ifdef GL_GL3EXT_PROTOTYPES
+/* No Functions */
+#endif
+/* No need for explicit function pointer: we force generation of ProcAddress .. */
+#endif
+
+/**
+ * http://www.opengl.org/registry/specs/ARB/texture_multisample.txt
+ */
+#ifndef GL_ARB_texture_multisample
+#define GL_SAMPLE_POSITION 0x8E50
+#define GL_SAMPLE_MASK 0x8E51
+#define GL_SAMPLE_MASK_VALUE 0x8E52
+#define GL_TEXTURE_2D_MULTISAMPLE 0x9100
+#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101
+#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102
+#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103
+#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59
+#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E
+#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F
+#define GL_MAX_INTEGER_SAMPLES 0x9110
+#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104
+#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105
+#define GL_TEXTURE_SAMPLES 0x9106
+#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107
+#define GL_SAMPLER_2D_MULTISAMPLE 0x9108
+#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109
+#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
+#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B
+#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C
+#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D
+#endif
+#ifndef GL_ARB_texture_multisample
+#define GL_ARB_texture_multisample 1
+#ifdef GL_GL3EXT_PROTOTYPES
+GLAPI void APIENTRY glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat,
+ GLsizei width, GLsizei height,
+ GLboolean fixedsamplelocations);
+GLAPI void APIENTRY glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat,
+ GLsizei width, GLsizei height, GLsizei depth,
+ GLboolean fixedsamplelocations);
+GLAPI void APIENTRY glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val);
+GLAPI void APIENTRY glSampleMaski(GLuint index, GLbitfield mask);
+#endif
+/* No need for explicit function pointer: we force generation of ProcAddress .. */
+#endif
+
+/**
+ * http://www.opengl.org/registry/specs/ARB/depth_clamp.txt
+ */
+#ifndef GL_ARB_depth_clamp
+#define GL_DEPTH_CLAMP 0x864F
+#endif
+#ifndef GL_ARB_depth_clamp
+#define GL_ARB_depth_clamp 1
+#ifdef GL_GL3EXT_PROTOTYPES
+/* No FUNCTIONS */
+#endif
+/* No need for explicit function pointer: we force generation of ProcAddress .. */
+#endif
+
+/**
+ * http://www.opengl.org/registry/specs/ARB/geometry_shader4.txt
+ */
+#ifndef GL_ARB_geometry_shader4
+#define GL_LINES_ADJACENCY_ARB 0x000A
+#define GL_LINE_STRIP_ADJACENCY_ARB 0x000B
+#define GL_TRIANGLES_ADJACENCY_ARB 0x000C
+#define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0x000D
+#define GL_PROGRAM_POINT_SIZE_ARB 0x8642
+#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29
+#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9
+#define GL_GEOMETRY_SHADER_ARB 0x8DD9
+#define GL_GEOMETRY_VERTICES_OUT_ARB 0x8DDA
+#define GL_GEOMETRY_INPUT_TYPE_ARB 0x8DDB
+#define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8DDC
+#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD
+#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE
+#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF
+#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0
+#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1
+/* reuse GL_MAX_VARYING_COMPONENTS */
+/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
+#endif
+#ifndef GL_ARB_geometry_shader4
+#define GL_ARB_geometry_shader4 1
+#ifdef GL_GL3EXT_PROTOTYPES
+GLAPI void APIENTRY glProgramParameteriARB (GLuint, GLenum, GLint);
+GLAPI void APIENTRY glFramebufferTextureARB (GLenum, GLenum, GLuint, GLint);
+GLAPI void APIENTRY glFramebufferTextureLayerARB (GLenum, GLenum, GLuint, GLint, GLint);
+GLAPI void APIENTRY glFramebufferTextureFaceARB (GLenum, GLenum, GLuint, GLint, GLenum);
+#endif
+/* No need for explicit function pointer: we force generation of ProcAddress .. */
+#endif
+
+/**
+ * http://www.opengl.org/registry/specs/ARB/sync.txt
+ */
+#ifndef GL_ARB_sync
+#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
+#define GL_OBJECT_TYPE 0x9112
+#define GL_SYNC_CONDITION 0x9113
+#define GL_SYNC_STATUS 0x9114
+#define GL_SYNC_FLAGS 0x9115
+#define GL_SYNC_FENCE 0x9116
+#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
+#define GL_UNSIGNALED 0x9118
+#define GL_SIGNALED 0x9119
+#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
+/* Manual: #define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFul */
+#define GL_ALREADY_SIGNALED 0x911A
+#define GL_TIMEOUT_EXPIRED 0x911B
+#define GL_CONDITION_SATISFIED 0x911C
+#define GL_WAIT_FAILED 0x911D
+#endif
+#ifndef GL_ARB_sync
+typedef int64_t GLint64;
+typedef uint64_t GLuint64;
+typedef struct __GLsync *GLsync;
+#endif
+#ifndef GL_ARB_sync
+#define GL_ARB_sync 1
+#ifdef GL_GL3EXT_PROTOTYPES
+GLAPI GLsync APIENTRY glFenceSync(GLenum condition, GLbitfield flags);
+GLAPI GLboolean APIENTRY glIsSync(GLsync sync);
+GLAPI void APIENTRY glDeleteSync(GLsync sync);
+GLAPI GLenum APIENTRY glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
+GLAPI void APIENTRY glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
+GLAPI void APIENTRY glGetInteger64v(GLenum pname, GLint64 *params);
+GLAPI void APIENTRY glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
+#endif
+/* No need for explicit function pointer: we force generation of ProcAddress .. */
+#endif
+
+/**
+ * Convenient names only .. actually subsumed into core
+ */
+#ifndef GL_ARB_texture_rectangle
+#define GL_TEXTURE_RECTANGLE_ARB 0x84F5
+#define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
+#define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7
+#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
+#endif
+
+#ifndef GL_ARB_texture_rectangle
+#define GL_ARB_texture_rectangle 1
+#endif
+
+/**
+ * http://www.opengl.org/registry/specs/AMD/vertex_shader_tessellator.txt
+ */
+#ifndef GL_AMD_vertex_shader_tessellator
+#define GL_SAMPLER_BUFFER_AMD 0x9001
+#define GL_INT_SAMPLER_BUFFER_AMD 0x9002
+#define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD 0x9003
+#define GL_DISCRETE_AMD 0x9006
+#define GL_CONTINUOUS_AMD 0x9007
+#define GL_TESSELLATION_MODE_AMD 0x9004
+#define GL_TESSELLATION_FACTOR_AMD 0x9005
+#endif
+#ifndef GL_AMD_vertex_shader_tessellator
+#define GL_AMD_vertex_shader_tessellator 1
+#ifdef GL_GL3EXT_PROTOTYPES
+GLAPI void APIENTRY glTessellationFactorAMD(GLfloat factor);
+GLAPI void APIENTRY glTessellationModeAMD(GLenum mode);
+#endif
+typedef void (APIENTRYP PFNGLTESSELLATIONFACTORAMDPROC) (GLfloat factor);
+typedef void (APIENTRYP PFNGLTESSELLATIONMODEAMDPROC) (GLenum mode);
+#endif
+
+#ifndef GL_APPLE_float_pixels
+#define GL_HALF_APPLE 0x140B
+#define GL_COLOR_FLOAT_APPLE 0x8A0F
+#define GL_RGBA_FLOAT32_APPLE 0x8814
+#define GL_RGB_FLOAT32_APPLE 0x8815
+#define GL_ALPHA_FLOAT32_APPLE 0x8816
+#define GL_INTENSITY_FLOAT32_APPLE 0x8817
+#define GL_LUMINANCE_FLOAT32_APPLE 0x8818
+#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819
+#define GL_RGBA_FLOAT16_APPLE 0x881A
+#define GL_RGB_FLOAT16_APPLE 0x881B
+#define GL_ALPHA_FLOAT16_APPLE 0x881C
+#define GL_INTENSITY_FLOAT16_APPLE 0x881D
+#define GL_LUMINANCE_FLOAT16_APPLE 0x881E
+#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881F
+#endif
+
+#ifndef GL_APPLE_float_pixels
+#define GL_APPLE_float_pixels 1
+#endif
+
+#ifndef GL_ATI_texture_float
+#define GL_RGBA_FLOAT32_ATI 0x8814
+#define GL_RGB_FLOAT32_ATI 0x8815
+#define GL_ALPHA_FLOAT32_ATI 0x8816
+#define GL_INTENSITY_FLOAT32_ATI 0x8817
+#define GL_LUMINANCE_FLOAT32_ATI 0x8818
+#define GL_LUMINANCE_ALPHA_FLOAT32_ATI 0x8819
+#define GL_RGBA_FLOAT16_ATI 0x881A
+#define GL_RGB_FLOAT16_ATI 0x881B
+#define GL_ALPHA_FLOAT16_ATI 0x881C
+#define GL_INTENSITY_FLOAT16_ATI 0x881D
+#define GL_LUMINANCE_FLOAT16_ATI 0x881E
+#define GL_LUMINANCE_ALPHA_FLOAT16_ATI 0x881F
+#endif
+
+#ifndef GL_ATI_texture_float
+#define GL_ATI_texture_float 1
+#endif
+
+#ifndef GL_NV_float_buffer
+#define GL_FLOAT_R_NV 0x8880
+#define GL_FLOAT_RG_NV 0x8881
+#define GL_FLOAT_RGB_NV 0x8882
+#define GL_FLOAT_RGBA_NV 0x8883
+#define GL_FLOAT_R16_NV 0x8884
+#define GL_FLOAT_R32_NV 0x8885
+#define GL_FLOAT_RG16_NV 0x8886
+#define GL_FLOAT_RG32_NV 0x8887
+#define GL_FLOAT_RGB16_NV 0x8888
+#define GL_FLOAT_RGB32_NV 0x8889
+#define GL_FLOAT_RGBA16_NV 0x888A
+#define GL_FLOAT_RGBA32_NV 0x888B
+#define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888C
+#define GL_FLOAT_CLEAR_COLOR_VALUE_NV 0x888D
+#define GL_FLOAT_RGBA_MODE_NV 0x888E
+#endif
+
+#ifndef GL_NV_float_buffer
+#define GL_NV_float_buffer 1
#endif
+#endif /* __gl3ext_h_ */
diff --git a/make/stub_includes/opengl/GLES/gl.h b/make/stub_includes/opengl/GLES/gl.h
index da71230b5..41afe2239 100755
--- a/make/stub_includes/opengl/GLES/gl.h
+++ b/make/stub_includes/opengl/GLES/gl.h
@@ -71,6 +71,8 @@ typedef int GLsizeiptr;
#define GL_VERSION_ES_CM_1_1 1
#define GL_VERSION_ES_CL_1_1 1
+#ifndef GL_VERSION_ES_1_0
+
/* ClearBufferMask */
#define GL_DEPTH_BUFFER_BIT 0x00000100
#define GL_STENCIL_BUFFER_BIT 0x00000400
@@ -576,6 +578,8 @@ typedef int GLsizeiptr;
#define GL_DOT3_RGB 0x86AE
#define GL_DOT3_RGBA 0x86AF
+#endif /* GL_VERSION_ES_1_0 */
+
/*------------------------------------------------------------------------*
* required OES extension tokens
*------------------------------------------------------------------------*/
@@ -617,6 +621,8 @@ typedef int GLsizeiptr;
/*************************************************************/
+#ifndef GL_VERSION_ES_CM
+#define GL_VERSION_ES_CM 1
/* Available only in Common profile */
GL_API void GL_APIENTRY glAlphaFunc (GLenum func, GLclampf ref);
GL_API void GL_APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
@@ -658,7 +664,10 @@ GL_API void GL_APIENTRY glTexEnvfv (GLenum target, GLenum pname, const GLfloat *
GL_API void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
GL_API void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
GL_API void GL_APIENTRY glTranslatef (GLfloat x, GLfloat y, GLfloat z);
+#endif /* GL_VERSION_ES_CM */
+#ifndef GL_VERSION_ES_CL_CM
+#define GL_VERSION_ES_CL 1
/* Available in both Common and Common-Lite profiles */
GL_API void GL_APIENTRY glActiveTexture (GLenum texture);
GL_API void GL_APIENTRY glAlphaFuncx (GLenum func, GLclampx ref);
@@ -768,6 +777,7 @@ GL_API void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffs
GL_API void GL_APIENTRY glTranslatex (GLfixed x, GLfixed y, GLfixed z);
GL_API void GL_APIENTRY glVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
GL_API void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
+#endif /* GL_VERSION_ES_CL */
/*------------------------------------------------------------------------*
* Required OES extension functions
diff --git a/make/stub_includes/opengl/GLES/glext.h b/make/stub_includes/opengl/GLES/glext.h
index ee6ebae20..f9e181dd0 100755
--- a/make/stub_includes/opengl/GLES/glext.h
+++ b/make/stub_includes/opengl/GLES/glext.h
@@ -244,7 +244,6 @@ typedef void* GLeglImageOES;
#define GL_3DC_XY_AMD 0x87FA
#endif
-/* GL_AMD_compressed_ATC_texture */
#ifndef GL_AMD_compressed_ATC_texture
#define GL_ATC_RGB_AMD 0x8C92
#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
@@ -634,7 +633,6 @@ typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum
#define GL_AMD_compressed_3DC_texture 1
#endif
-/* GL_AMD_compressed_ATC_texture */
#ifndef GL_AMD_compressed_ATC_texture
#define GL_AMD_compressed_ATC_texture 1
#endif
diff --git a/make/stub_includes/opengl/GLES2/gl2.h b/make/stub_includes/opengl/GLES2/gl2.h
index 9c68b1e7a..44338000e 100755
--- a/make/stub_includes/opengl/GLES2/gl2.h
+++ b/make/stub_includes/opengl/GLES2/gl2.h
@@ -99,8 +99,7 @@ typedef int GLclampx;
typedef int GLintptr;
typedef int GLsizeiptr;
-/* OpenGL ES core versions */
-#define GL_ES_VERSION_2_0 1
+#ifndef GL_ES_VERSION_2_0
/* ClearBufferMask */
#define GL_DEPTH_BUFFER_BIT 0x00000100
@@ -532,10 +531,14 @@ typedef int GLsizeiptr;
#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
+#endif /* GL_ES_VERSION_2_0 */
+
/*-------------------------------------------------------------------------
* GL core functions.
*-----------------------------------------------------------------------*/
+#ifndef GL_ES_VERSION_2_0
+#define GL_ES_VERSION_2_0 1
GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture);
GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const char* name);
@@ -678,6 +681,7 @@ GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint indx, GLfloat x, GL
GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint indx, const GLfloat* values);
GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* ptr);
GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
+#endif /* GL_ES_VERSION_2_0 */
#ifdef __cplusplus
}
diff --git a/make/stub_includes/opengl/GLES2/gl2ext.h b/make/stub_includes/opengl/GLES2/gl2ext.h
index 8580e2bdf..e3bbede8a 100755
--- a/make/stub_includes/opengl/GLES2/gl2ext.h
+++ b/make/stub_includes/opengl/GLES2/gl2ext.h
@@ -61,9 +61,7 @@ extern "C" {
#define GL_NVIDIA_PLATFORM_BINARY_NV 0x890B
-#define GL_OES_EGL_image 1
-
-#ifdef GL_OES_EGL_image
+#ifndef GL_OES_EGL_image
/** sgothel: wrong defines and/or numbers:
*
#define GL_TEXTURE_2D_OES 0x1
@@ -76,12 +74,17 @@ extern "C" {
#define GL_RENDERBUFFER_OES 0x9
#define GL_TEXTURE_RECTANGLE_NV_OES 0xb
*/
+#endif /* GL_OES_EGL_image */
+#ifndef GL_OES_EGL_image
typedef void *GLeglImageOES;
+#endif /* GL_OES_EGL_image */
+
+#ifndef GL_OES_EGL_image
+#define GL_OES_EGL_image 1
GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image);
#ifdef GL_GLEXT_PROTOTYPES
typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
-
#endif
#endif
diff --git a/make/stub_includes/opengl/gl2es12.c b/make/stub_includes/opengl/gl2es12.c
index 75cb4acfc..bc9d24ace 100644
--- a/make/stub_includes/opengl/gl2es12.c
+++ b/make/stub_includes/opengl/gl2es12.c
@@ -6,8 +6,3 @@
#include <GL/gl.h>
-// removed due to renaming and the fact that the renamed version is not included
-// in the super interfaces ..
-GLAPI void APIENTRY glWeightPointer (GLint, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glMatrixIndexPointer (GLint, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCurrentPaletteMatrix (GLint);
diff --git a/make/stub_includes/opengl/gl3-64bit-types.h b/make/stub_includes/opengl/gl3-64bit-types.h
new file mode 100644
index 000000000..fc8b4ce05
--- /dev/null
+++ b/make/stub_includes/opengl/gl3-64bit-types.h
@@ -0,0 +1,41 @@
+#ifndef __gl3_64bit_types_h_
+#define __gl3_64bit_types_h_
+
+#ifndef GL3_64_TYPES_DEFINED
+ /* This code block is duplicated in glext.h, so must be protected */
+ #define GL3_64_TYPES_DEFINED
+ /* Define int32_t, int64_t, and uint64_t types for UST/MSC */
+ /* (as used in the GL_EXT_timer_query extension). */
+ #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+ #include <inttypes.h>
+ #elif defined(__sun__)
+ #include <inttypes.h>
+ #if defined(__STDC__)
+ #if defined(__arch64__)
+ typedef long int int64_t;
+ typedef unsigned long int uint64_t;
+ #else
+ typedef long long int int64_t;
+ typedef unsigned long long int uint64_t;
+ #endif /* __arch64__ */
+ #endif /* __STDC__ */
+ #elif defined( __VMS )
+ #include <inttypes.h>
+ #elif defined(__SCO__) || defined(__USLC__)
+ #include <stdint.h>
+ #elif defined(__UNIXOS2__) || defined(__SOL64__)
+ typedef long int int32_t;
+ typedef long long int int64_t;
+ typedef unsigned long long int uint64_t;
+ #elif defined(WIN32) && defined(__GNUC__)
+ #include <stdint.h>
+ #elif defined(_WIN32)
+ typedef __int32 int32_t;
+ typedef __int64 int64_t;
+ typedef unsigned __int64 uint64_t;
+ #else
+ #include <inttypes.h> /* Fallback option */
+ #endif
+#endif
+
+#endif /* __gl3_64bit_types_h_ */
diff --git a/make/stub_includes/opengl/gl3.c b/make/stub_includes/opengl/gl3.c
index 3326c58ad..5e9d87ccd 100644
--- a/make/stub_includes/opengl/gl3.c
+++ b/make/stub_includes/opengl/gl3.c
@@ -4,4 +4,8 @@
// "gl3.h" are parsed.
#define GL3_PROTOTYPES
+// Define GL_GL3EXT_PROTOTYPES so that the OpenGL extension prototypes in
+// "gl3ext.h" are parsed.
+#define GL_GL3EXT_PROTOTYPES
+
#include <GL3/gl3.h>
diff --git a/make/stub_includes/opengl/glu-impl.c b/make/stub_includes/opengl/glu-impl.c
deleted file mode 100644
index 2328639d8..000000000
--- a/make/stub_includes/opengl/glu-impl.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <GL/glu.h>
-
-
diff --git a/make/stub_includes/win32/wingdi.h b/make/stub_includes/win32/wingdi.h
index 4d980755b..46aeec2b6 100644
--- a/make/stub_includes/win32/wingdi.h
+++ b/make/stub_includes/win32/wingdi.h
@@ -6,6 +6,8 @@
*
*/
+#ifndef WGL_GDI_VERSION_1_X
+
typedef struct tagRGBQUAD {
BYTE rgbBlue;
BYTE rgbGreen;
@@ -163,6 +165,11 @@ typedef struct tagPIXELFORMATDESCRIPTOR
#define SW_FORCEMINIMIZE 11
#define SW_MAX 11
+#endif /* WGL_GDI_VERSION_1_X */
+
+#ifndef WGL_GDI_VERSION_1_X
+#define WGL_GDI_VERSION_1_X
+
// Windows routines
WINBASEAPI DWORD WINAPI GetLastError(VOID);
WINBASEAPI HMODULE WINAPI LoadLibraryA(LPCSTR lpLibFileName);
@@ -214,3 +221,5 @@ WINUSERAPI BOOL WINAPI DestroyWindow(HWND hWnd);
// Routines for changing gamma ramp of display device
WINGDIAPI BOOL WINAPI GetDeviceGammaRamp(HDC,LPVOID);
WINGDIAPI BOOL WINAPI SetDeviceGammaRamp(HDC,LPVOID);
+
+#endif /* WGL_GDI_VERSION_1_X */