aboutsummaryrefslogtreecommitdiffstats
path: root/make
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2008-07-21 00:18:02 +0000
committerSven Gothel <[email protected]>2008-07-21 00:18:02 +0000
commit3e43ef1a81bca32d2840c714c8e791d192ad88cc (patch)
treef607023a72696db5112b0e1f2236f0e4467964a3 /make
parentde0eaef37caf13314114ab37cc53edc48610a7bf (diff)
- New profile GL2ES12 (desktop)
- Intersection of GL2 + GLES1 + GLES2 - Common set of GLES1 + GLES2 - Utilized new 'ExtendedInterfaceSymbolsOnly' gluegen config - DroppingUniqVendorExtension + 3DFX + APPLE - Some APPLE enumerates are manually provided! - Removing of 'jogl.oswin.jar' - since it is redundant now! - Proper partitioning of 'jogl.gl2' and 'jogl.gl2es12' for - x11, win and osx - Profile selection/trial for e.g. GL2ES1 is now in the following order: 1) GLES1 2) GL2ES12 3) GL2 - Footprint for all profiles below 1/2 MB, NEWT: ES1: 284 kB ES2: 280 kB GL2ES12: 332 kB GL2: 456 kB git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1729 232f8b59-042b-4e1e-8c03-345bb8c30851
Diffstat (limited to 'make')
-rw-r--r--make/build.xml168
-rw-r--r--make/cgl-macosx.cfg1
-rw-r--r--make/gl-common-extensions.cfg5
-rwxr-xr-xmake/gl-es1.cfg12
-rwxr-xr-xmake/gl-es2.cfg4
-rw-r--r--make/gl-gl2.cfg8
-rw-r--r--make/gl-gl2es12.cfg63
-rwxr-xr-xmake/gl-if-gl2_es1.cfg4
-rwxr-xr-xmake/gl-if-gl2_es2.cfg2
-rw-r--r--make/gl-impl-CustomJavaCode-gl2es12.java326
-rwxr-xr-xmake/glu-CustomJavaCode-base.java4
-rw-r--r--make/glx-x11.cfg57
-rw-r--r--make/lstjars.sh26
-rw-r--r--make/wgl-win32.cfg1
14 files changed, 571 insertions, 110 deletions
diff --git a/make/build.xml b/make/build.xml
index 82a0dfe2b..6c89758b4 100644
--- a/make/build.xml
+++ b/make/build.xml
@@ -155,8 +155,26 @@
<property name="java.part.glugl2"
value="com/sun/opengl/impl/glu/gl2/**, com/sun/opengl/impl/glu/nurbs/**, com/sun/opengl/impl/glu/registry/**, javax/media/opengl/glu/gl2/**"/>
- <property name="java.part.gl2"
- value="com/sun/opengl/impl/**/gl2/**, com/sun/opengl/impl/**/glx/**, com/sun/opengl/impl/**/wgl/**, com/sun/opengl/impl/**/cgl/**"/>
+ <property name="java.part.gl2es12.x11"
+ value="com/sun/opengl/impl/gl2es12/**, com/sun/opengl/impl/x11/glx/*, com/sun/opengl/impl/x11/*"/>
+
+ <property name="java.part.gl2es12.win"
+ value="com/sun/opengl/impl/gl2es12/**, com/sun/opengl/impl/windows/wgl/*"/>
+
+ <property name="java.part.gl2es12.osx"
+ value="com/sun/opengl/impl/gl2es12/**, com/sun/opengl/impl/macosx/cgl/*"/>
+
+ <property name="java.part.gl2es12.dbg"
+ value="javax/media/opengl/TraceGL2ES12.*, javax/media/opengl/DebugGL2ES12.*"/>
+
+ <property name="java.part.gl2.x11"
+ value="com/sun/opengl/impl/**/gl2/**, com/sun/opengl/impl/x11/glx/*, com/sun/opengl/impl/x11/*"/>
+
+ <property name="java.part.gl2.win"
+ value="com/sun/opengl/impl/**/gl2/**, com/sun/opengl/impl/windows/wgl/*"/>
+
+ <property name="java.part.gl2.osx"
+ value="com/sun/opengl/impl/**/gl2/**, com/sun/opengl/impl/macosx/cgl/*"/>
<property name="java.part.gl2.dbg"
value="javax/media/opengl/TraceGL2.*, javax/media/opengl/DebugGL2.*"/>
@@ -174,29 +192,17 @@
value="javax/media/opengl/TraceGLES2.*, javax/media/opengl/DebugGLES2.*"/>
<property name="java.part.awt"
- value="javax/media/opengl/awt/**, javax/media/opengl/util/awt/**, com/sun/opengl/impl/awt/**, com/sun/opengl/impl/egl/awt/*, com/sun/opengl/impl/packrect/*"/>
+ value="com/sun/opengl/impl/jawt/**, javax/media/opengl/awt/**, com/sun/opengl/impl/**/awt/**, com/sun/opengl/impl/packrect/*"/>
<property name="java.part.util"
value="com/sun/opengl/util/io/**, com/sun/opengl/util/texture/**"/>
<property name="java.part.util.awt"
- value="com/sun/opengl/util/**/awt/**"/>
+ value="javax/media/opengl/util/awt/**, com/sun/opengl/util/**/awt/**"/>
<property name="java.part.util.gl2"
value="com/sun/opengl/util/glut/**, com/sun/opengl/util/**/gl2/**"/>
- <property name="java.part.x11"
- value="com/sun/opengl/**/x11/**"/>
-
- <property name="java.part.win"
- value="com/sun/opengl/**/windows/**"/>
-
- <property name="java.part.macosx"
- value="com/sun/opengl/**/macosx/**"/>
-
- <property name="java.part.oswin"
- value="${java.part.x11}, ${java.part.win}, ${java.part.macosx}, com/sun/opengl/impl/jawt/*"/>
-
<property name="java.part.newt"
value="com/sun/javafx/newt/*, com/sun/javafx/newt/x11/*, com/sun/javafx/newt/windows/*"/>
@@ -214,7 +220,7 @@
</condition>
<condition property="java.excludes.gl2"
- value="${java.part.gl2}, ${java.part.gl2.dbg}, ${java.part.util.gl2}, ${java.part.glugl2}">
+ value="${java.part.gl2es12.x11}, ${java.part.gl2es12.win}, ${java.part.gl2es12.osx}, ${java.part.gl2es12.dbg}, ${java.part.gl2.x11}, ${java.part.gl2.win}, ${java.part.gl2.osx}, ${java.part.gl2.dbg}, ${java.part.util.gl2}, ${java.part.glugl2}">
<isset property="jogl.nogl2"/>
</condition>
@@ -258,14 +264,6 @@
<isset property="jogl.nonewt"/>
</condition>
- <condition property="java.excludes.oswin"
- value="${java.part.oswin}">
- <or>
- <isset property="jogl.cdcfp"/>
- <isset property="jogl.noX11WindowsMacOsX"/>
- </or>
- </condition>
-
<condition property="java.excludes.cdcfp"
value="com/sun/opengl/util/io/TGAWriter*, com/sun/opengl/util/texture/**">
<isset property="jogl.cdcfp"/>
@@ -277,7 +275,7 @@
<property name="java.excludes.fixme"
value="com/sun/opengl/impl/gl2/fixme/** com/sun/javafx/audio/windows/waveout/TestSpatialization.java" />
- <property name="java.excludes.all" value="${java.excludes.fixme} ${java.excludes.egl}, ${java.excludes.gl2}, ${java.excludes.es1}, ${java.excludes.es2}, ${java.excludes.awt}, ${java.excludes.glugl2}, ${java.excludes.util}, ${java.excludes.x11}, ${java.excludes.win}, ${java.excludes.macosx}, ${java.excludes.newt}, ${java.excludes.oswin}, ${java.excludes.cdcfp}" />
+ <property name="java.excludes.all" value="${java.excludes.fixme} ${java.excludes.egl}, ${java.excludes.gl2}, ${java.excludes.es1}, ${java.excludes.es2}, ${java.excludes.awt}, ${java.excludes.glugl2}, ${java.excludes.util}, ${java.excludes.x11}, ${java.excludes.win}, ${java.excludes.macosx}, ${java.excludes.newt}, ${java.excludes.cdcfp}" />
<echo message="java.excludes.all: ${java.excludes.all}" />
@@ -433,12 +431,17 @@
<property name="jogl.glutess.jar" value="${build}/jogl.glu.tess.jar" />
<property name="jogl.glugl2es1.jar" value="${build}/jogl.glu.gl2es1.jar" />
<property name="jogl.glugl2.jar" value="${build}/jogl.glu.gl2.jar" />
- <property name="jogl.gl2.jar" value="${build}/jogl.gl2.jar" />
+ <property name="jogl.gl2es12.x11.jar" value="${build}/jogl.gl2es12.x11.jar" />
+ <property name="jogl.gl2es12.win.jar" value="${build}/jogl.gl2es12.win.jar" />
+ <property name="jogl.gl2es12.osx.jar" value="${build}/jogl.gl2es12.osx.jar" />
+ <property name="jogl.gl2es12.dbg.jar" value="${build}/jogl.gl2es12.dbg.jar" />
+ <property name="jogl.gl2.x11.jar" value="${build}/jogl.gl2.x11.jar" />
+ <property name="jogl.gl2.win.jar" value="${build}/jogl.gl2.win.jar" />
+ <property name="jogl.gl2.osx.jar" value="${build}/jogl.gl2.osx.jar" />
<property name="jogl.gl2.dbg.jar" value="${build}/jogl.gl2.dbg.jar" />
<property name="jogl.awt.jar" value="${build}/jogl.awt.jar" />
<property name="newt.jar" value="${build}/newt.jar" />
<property name="newt.awt.jar" value="${build}/newt.awt.jar" />
- <property name="jogl.oswin.jar" value="${build}/jogl.oswin.jar" />
<property name="jogl.util.jar" value="${build}/jogl.util.jar" />
<property name="jogl.util.gl2.jar" value="${build}/jogl.util.gl2.jar" />
<property name="jogl.util.awt.jar" value="${build}/jogl.util.awt.jar" />
@@ -621,6 +624,16 @@
</gluegen>
</target>
+ <target name="java.generate.gl2es12">
+ <echo message="Generating GL2ES12 interface and implementation" />
+ <gluegen src="${stub.includes.common}/gl.c"
+ config="${config}/gl-gl2es12.cfg"
+ includeRefid="stub.includes.fileset.all.gl2"
+ emitter="com.sun.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ </target>
+
<target name="java.generate.gles1">
<echo message="Generating GLES1 interface and implementation" />
<gluegen src="${stub.includes.common}/gles1.c"
@@ -641,7 +654,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.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, 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" />
@@ -907,6 +920,21 @@
</target>
+ <target name="java.generate.composable.pipeline.check.gl2es12" unless="jogl.nogl2">
+ <!-- Blow away the DebugGL*.java and TraceGL*.java sources if GL*.class has changed
+ (the uptodate element doesn't support arbitrary source and destination files) -->
+ <dependset>
+ <srcfilelist dir="${classes}/javax/media/opengl" files="GL2ES12.class" />
+ <targetfileset dir="${src.generated.java}/javax/media/opengl"
+ includes="DebugGL2ES12.java,TraceGL2ES12.java" />
+ </dependset>
+
+ <!-- Now choose one of the two to test to see if we have to regenerate -->
+ <uptodate property="java.generate.composable.pipeline.skip.gl2es12"
+ srcfile="${classes}/javax/media/opengl/GL2ES12.class"
+ targetfile="${src.generated.java}/javax/media/opengl/DebugGL2ES12.java" />
+ </target>
+
<target name="java.generate.composable.pipeline.check.gl2" unless="jogl.nogl2">
<!-- Blow away the DebugGL*.java and TraceGL*.java sources if GL*.class has changed
(the uptodate element doesn't support arbitrary source and destination files) -->
@@ -938,6 +966,14 @@
</java>
</target>
+ <target name="java.generate.composable.pipeline.gl2es12" depends="java.generate.composable.pipeline.check.gl2es12" unless="java.generate.composable.pipeline.skip.gl2es12">
+ <java classname="com.sun.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true">
+ <arg value="javax.media.opengl.GL2ES12" />
+ <arg value="${src.generated.java}/javax/media/opengl" />
+ <classpath refid="pipeline.classpath" />
+ </java>
+ </target>
+
<target name="java.generate.composable.pipeline.gl2" depends="java.generate.composable.pipeline.check.gl2" unless="java.generate.composable.pipeline.skip.gl2">
<java classname="com.sun.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true">
<arg value="javax.media.opengl.GL2" />
@@ -1267,6 +1303,25 @@
<!--include name="${rootrel.src.c.jogl}/Mixer.cpp" if="isWindows"/-->
</patternset>
+ <patternset id="c.src.files.jogl.gl2es12">
+ <include name="${rootrel.src.c.jogl}/XineramaHelper.c" if="isX11"/>
+ <!-- Xinerama supporting functions for Linux only (for now) -->
+ <!-- Also supported on Solaris, but works differently -->
+ <include name="${rootrel.src.c.jogl}/Xinerama.c" if="isLinux"/>
+ <include name="${rootrel.src.c.jogl}/MacOSXWindowSystemInterface.m" if="isOSX"/>
+ <include name="${rootrel.generated.c.jogl}/X11/X11Lib_JNI.c" if="isX11"/>
+ <include name="${rootrel.src.c.jogl}/InternalBufferUtils.c"/>
+ <include name="${rootrel.src.c.jogl}/ContextUpdater.m" if="isOSX"/>
+ <include name="${rootrel.generated.c.jogl}/gl2es12/GL2ES12Impl_JNI.c"/>
+ <!--include name="${rootrel.generated.c.jogl}/GLU_JNI.c"/ EMPTY -->
+ <!--include name="${rootrel.generated.c.jogl}/gl2es12/GLUgl2es12_JNI.c"/ SKIPPED -->
+ <include name="${rootrel.generated.c.jogl}/X11/GLX*.c" if="isX11"/>
+ <include name="${rootrel.generated.c.jogl}/OSX/CGL*.c" if="isOSX"/>
+ <include name="${rootrel.generated.c.jogl}/Windows/WGL*.c" if="isWindows"/>
+ <!-- FIXME: the Mixer should be moved to another library -->
+ <!--include name="${rootrel.src.c.jogl}/Mixer.cpp" if="isWindows"/-->
+ </patternset>
+
<patternset id="c.src.files.jogl.es2">
<include name="${rootrel.src.c.jogl}/XineramaHelper.c" if="isX11"/>
<!-- Xinerama supporting functions for Linux only (for now) -->
@@ -1369,7 +1424,7 @@
<arg value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries/libjawt.dylib" />
<arg value="/System/Library/Frameworks/JavaVM.framework/Libraries/libjawt.dylib" />
<srcfile />
- <fileset dir="${obj}" includes="libjogl_awt.jnilib, libjogl_gl2.jnilib, libjogl_es2.jnilib, libjogl_es1.jnilib, libjogl_cg.jnilib" />
+ <fileset dir="${obj}" includes="libjogl_awt.jnilib, libjogl_gl2.jnilib, libjogl_gl2es12.jnilib, libjogl_es2.jnilib, libjogl_es1.jnilib, libjogl_cg.jnilib" />
</apply>
</target>
@@ -1411,6 +1466,13 @@
linker.cfg.id="${linker.cfg.id.gl2}"/>
</target>
+ <target name="c.build.jogl.gl2es12" unless="jogl.nogl2">
+ <c.build c.compiler.src.files="c.src.files.jogl.gl2es12"
+ output.lib.name="jogl_gl2es12"
+ compiler.cfg.id="${compiler.cfg.id}"
+ linker.cfg.id="${linker.cfg.id.gl2}"/>
+ </target>
+
<target name="c.build.jogl.es2" unless="jogl.noes1">
<c.build c.compiler.src.files="c.src.files.jogl.es2"
output.lib.name="jogl_es2"
@@ -1460,7 +1522,7 @@
<antcall target="c.manifest.cg" inheritRefs="true" />
</target>
- <target name="c.build.jogl" depends="c.configure,c.build.jogl.prepare,c.build.jogl.awt,c.build.newt,c.build.jogl.gl2,c.build.jogl.es2,c.build.jogl.es1,c.build.jogl.cg">
+ <target name="c.build.jogl" depends="c.configure,c.build.jogl.prepare,c.build.jogl.awt,c.build.newt,c.build.jogl.gl2es12,c.build.jogl.gl2,c.build.jogl.es2,c.build.jogl.es1,c.build.jogl.cg">
<antcall target="c.fixup.jawt.version.macosx" inheritrefs="true" />
<antcall target="c.manifest" inheritRefs="true" />
</target>
@@ -1490,7 +1552,7 @@
<jar manifest="tempversion" destfile="${jogl.core.jar}">
<fileset dir="${classes}"
includes="javax/media/opengl/**, com/sun/gluegen/runtime/**, com/sun/opengl/**"
- excludes="${java.excludes.fixme} ${java.part.egl}, ${java.part.gl2}, ${java.part.gl2.dbg}, ${java.part.es1}, ${java.part.es1.dbg}, ${java.part.es2}, ${java.part.es2.dbg}, ${java.part.awt}, ${java.part.glutess}, ${java.part.glugl2es1}, ${java.part.glugl2}, ${java.part.util} ${java.part.util.awt} ${java.part.util.gl2}, ${java.part.oswin}, ${java.part.newt}, ${java.part.newt.awt}"/>
+ excludes="${java.excludes.fixme} ${java.part.egl}, ${java.part.gl2es12.x11}, ${java.part.gl2es12.win}, ${java.part.gl2es12.osx}, ${java.part.gl2es12.dbg}, ${java.part.gl2.x11}, ${java.part.gl2.win}, ${java.part.gl2.osx}, ${java.part.gl2.dbg}, ${java.part.es1}, ${java.part.es1.dbg}, ${java.part.es2}, ${java.part.es2.dbg}, ${java.part.awt}, ${java.part.glutess}, ${java.part.glugl2es1}, ${java.part.glugl2}, ${java.part.util} ${java.part.util.awt} ${java.part.util.gl2}, ${java.part.newt}, ${java.part.newt.awt}"/>
</jar>
<jar manifest="tempversion" destfile="${jogl.gles1.jar}">
<fileset dir="${classes}"
@@ -1515,9 +1577,38 @@
includes="${java.part.egl}"
excludes="${java.part.awt}"/>
</jar>
- <jar manifest="tempversion" destfile="${jogl.gl2.jar}">
+ <jar manifest="tempversion" destfile="${jogl.gl2es12.x11.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.gl2es12.x11}"
+ excludes="${java.part.gl2es12.dbg}, ${java.part.glugl2}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.gl2es12.win.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.gl2es12.win}"
+ excludes="${java.part.gl2es12.dbg}, ${java.part.glugl2}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.gl2es12.osx.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.gl2es12.osx}"
+ excludes="${java.part.gl2es12.dbg}, ${java.part.glugl2}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.gl2es12.dbg.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.gl2es12.dbg}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.gl2.x11.jar}">
<fileset dir="${classes}"
- includes="${java.part.gl2}"
+ includes="${java.part.gl2.x11}"
+ excludes="${java.part.gl2.dbg}, ${java.part.glugl2}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.gl2.win.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.gl2.win}"
+ excludes="${java.part.gl2.dbg}, ${java.part.glugl2}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.gl2.osx.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.gl2.osx}"
excludes="${java.part.gl2.dbg}, ${java.part.glugl2}"/>
</jar>
<jar manifest="tempversion" destfile="${jogl.gl2.dbg.jar}">
@@ -1538,9 +1629,9 @@
</jar>
<jar manifest="tempversion" destfile="${jogl.awt.jar}">
<fileset dir="${classes}"
- includes="${java.part.awt}"
- excludes="com/sun/opengl/impl/x11/**, com/sun/opengl/impl/windows/**, com/sun/opengl/impl/macosx/**"/>
+ includes="${java.part.awt}" />
</jar>
+ <!-- excludes="com/sun/opengl/impl/x11/**, com/sun/opengl/impl/windows/**, com/sun/opengl/impl/macosx/**" -->
<jar manifest="tempversion" destfile="${newt.jar}">
<fileset dir="${classes}"
includes="${java.part.newt}"/>
@@ -1549,11 +1640,6 @@
<fileset dir="${classes}"
includes="${java.part.newt.awt}"/>
</jar>
- <jar manifest="tempversion" destfile="${jogl.oswin.jar}">
- <fileset dir="${classes}"
- includes="${java.part.oswin}"
- excludes="com/sun/opengl/impl/**/glx/**, com/sun/opengl/impl/**/wgl/**, com/sun/opengl/impl/**/cgl/**"/>
- </jar>
<jar manifest="tempversion" destfile="${jogl.util.jar}">
<fileset dir="${classes}"
includes="${java.part.util}"
diff --git a/make/cgl-macosx.cfg b/make/cgl-macosx.cfg
index 6270d06b7..515565d6d 100644
--- a/make/cgl-macosx.cfg
+++ b/make/cgl-macosx.cfg
@@ -7,6 +7,7 @@ Package com.sun.opengl.impl.macosx.cgl
JavaClass CGL
Style allstatic
Include gl-common-gl2.cfg
+Include gl-common-extensions.cfg
Include gl-desktop.cfg
Opaque long void *
diff --git a/make/gl-common-extensions.cfg b/make/gl-common-extensions.cfg
index 2adf4cc42..5b1d57fb0 100644
--- a/make/gl-common-extensions.cfg
+++ b/make/gl-common-extensions.cfg
@@ -1,7 +1,7 @@
+DropUniqVendorExtensions 3DFX
DropUniqVendorExtensions AMD
-# We need GL_APPLE_float_pixels for our pbuffer implementation
-# DropUniqVendorExtensions APPLE
+DropUniqVendorExtensions APPLE
DropUniqVendorExtensions ATI
DropUniqVendorExtensions HP
DropUniqVendorExtensions IBM
@@ -61,5 +61,4 @@ RenameJavaMethod glGetFramebufferAttachmentParameterivEXT glGetFramebufferAttach
RenameJavaMethod glGetRenderbufferParameterivEXT glGetRenderbufferParameteriv
RenameJavaMethod glIsFramebufferEXT glIsFramebuffer
RenameJavaMethod glIsRenderbufferEXT glIsRenderbuffer
-RenameJavaMethod glMatrixIndexPointerARB glMatrixIndexPointer
RenameJavaMethod glRenderbufferStorageEXT glRenderbufferStorage
diff --git a/make/gl-es1.cfg b/make/gl-es1.cfg
index db236180c..c19b05b98 100755
--- a/make/gl-es1.cfg
+++ b/make/gl-es1.cfg
@@ -2,8 +2,8 @@
JavaOutputDir ../build/gensrc/classes
NativeOutputDir ../build/gensrc/native/jogl/es1
-IgnoreExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL.java
-IgnoreExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL2ES1.java
+ExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL2ES1.java
# There are a few routines we don't handle yet
Ignore glGetBufferPointervOES
@@ -41,6 +41,14 @@ LocalProcAddressCallingConvention __ALL__ GL_APIENTRY
# Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums
TagNativeBinding true
+CustomJavaCode GLES1 public void glOrtho(double left, double right, double bottom, double top, double near_val, double far_val);
+CustomJavaCode GLES1Impl public void glOrtho(double left, double right, double bottom, double top, double near_val, double far_val) {
+CustomJavaCode GLES1Impl glOrtho((float) left, (float) right, (float) bottom, (float) top, (float) near_val, (float) far_val); }
+
+CustomJavaCode GLES1 public void glFrustum(double left, double right, double bottom, double top, double zNear, double zFar);
+CustomJavaCode GLES1Impl public void glFrustum(double left, double right, double bottom, double top, double zNear, double zFar) {
+CustomJavaCode GLES1Impl glFrustumf((float) left, (float) right, (float) bottom, (float) top, (float) zNear, (float) zFar); }
+
CustomJavaCode GLES1 public void glClearDepth(double depth);
CustomJavaCode GLES1Impl public void glClearDepth(double depth) {
CustomJavaCode GLES1Impl glClearDepthf((float)depth); }
diff --git a/make/gl-es2.cfg b/make/gl-es2.cfg
index 9c7605ba6..167ad1fbe 100755
--- a/make/gl-es2.cfg
+++ b/make/gl-es2.cfg
@@ -2,8 +2,8 @@
JavaOutputDir ../build/gensrc/classes
NativeOutputDir ../build/gensrc/native/jogl/es2
-IgnoreExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL.java
-IgnoreExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL2ES2.java
+ExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL2ES2.java
Package javax.media.opengl
Style InterfaceAndImpl
diff --git a/make/gl-gl2.cfg b/make/gl-gl2.cfg
index bb60938f3..f8e940a4a 100644
--- a/make/gl-gl2.cfg
+++ b/make/gl-gl2.cfg
@@ -2,9 +2,9 @@
JavaOutputDir ../build/gensrc/classes
NativeOutputDir ../build/gensrc/native/jogl/gl2
-IgnoreExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL.java
-IgnoreExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL2ES1.java
-IgnoreExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL2ES2.java
+ExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL2ES1.java
+ExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL2ES2.java
Package javax.media.opengl
Style InterfaceAndImpl
@@ -34,6 +34,8 @@ Ignore GL_STENCIL_INDEX16_EXT
TagNativeBinding true
CustomJavaCode GL2 public static final int GL_STENCIL_INDEX16 = 0x8D49;
+CustomJavaCode GL2 public static final int GL_RGBA_FLOAT32_APPLE = 0x8814;
+CustomJavaCode GL2 public static final int GL_RGBA_FLOAT16_APPLE = 0x881A;
CustomJavaCode GL2 public void glFrustumf(float left, float right, float bottom, float top, float zNear, float zFar);
CustomJavaCode GL2Impl public void glFrustumf(float left, float right, float bottom, float top, float zNear, float zFar) {
diff --git a/make/gl-gl2es12.cfg b/make/gl-gl2es12.cfg
new file mode 100644
index 000000000..4eea286d8
--- /dev/null
+++ b/make/gl-gl2es12.cfg
@@ -0,0 +1,63 @@
+# This .cfg file is used to generate the GL interface and implementing class.
+JavaOutputDir ../build/gensrc/classes
+NativeOutputDir ../build/gensrc/native/jogl/gl2es12
+
+ExtendedInterfaceSymbolsOnly ../build/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbolsOnly ../build/gensrc/classes/javax/media/opengl/GL2ES1.java
+ExtendedInterfaceSymbolsOnly ../build/gensrc/classes/javax/media/opengl/GL2ES2.java
+
+Package javax.media.opengl
+Style InterfaceAndImpl
+JavaClass GL2ES12
+Extends GL2ES12 GL
+Extends GL2ES12 GL2ES1
+Extends GL2ES12 GL2ES2
+ImplPackage com.sun.opengl.impl.gl2es12
+ImplJavaClass GL2ES12Impl
+Implements GL2ES12Impl GL
+Implements GL2ES12Impl GL2ES1
+Implements GL2ES12Impl GL2ES2
+
+Include gl-common-gl2.cfg
+Include gl-common-extensions.cfg
+Include gl-desktop.cfg
+
+EmitProcAddressTable true
+ProcAddressTableClassName GL2ES12ProcAddressTable
+GetProcAddressTableExpr ((GL2ES12ProcAddressTable)_context.getGLProcAddressTable())
+
+# Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums
+TagNativeBinding true
+
+CustomJavaCode GL2ES12 public static final int GL_STENCIL_INDEX16 = 0x8D49;
+CustomJavaCode GL2ES12 public static final int GL_RGBA_FLOAT32_APPLE = 0x8814;
+CustomJavaCode GL2ES12 public static final int GL_RGBA_FLOAT16_APPLE = 0x881A;
+
+CustomJavaCode GL2ES12 public void glFrustumf(float left, float right, float bottom, float top, float zNear, float zFar);
+CustomJavaCode GL2ES12Impl public void glFrustumf(float left, float right, float bottom, float top, float zNear, float zFar) {
+CustomJavaCode GL2ES12Impl glFrustum((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar); }
+
+CustomJavaCode GL2ES12 public void glOrthof(float left, float right, float bottom, float top, float zNear, float zFar);
+CustomJavaCode GL2ES12Impl public void glOrthof(float left, float right, float bottom, float top, float zNear, float zFar) {
+CustomJavaCode GL2ES12Impl glOrtho((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar); }
+
+CustomJavaCode GL2ES12 public void glClearDepthf(float depth);
+CustomJavaCode GL2ES12Impl public void glClearDepthf(float depth) {
+CustomJavaCode GL2ES12Impl glClearDepth((double)depth); }
+
+CustomJavaCode GL2ES12 public void glDepthRangef(float zNear, float zFar);
+CustomJavaCode GL2ES12Impl public void glDepthRangef(float zNear, float zFar) {
+CustomJavaCode GL2ES12Impl glDepthRange((double)zNear, (double)zFar); }
+
+Include gl-headers.cfg
+Include intptr.cfg
+
+IncludeAs CustomJavaCode GL2ES12Impl gl-impl-CustomJavaCode-common.java
+IncludeAs CustomJavaCode GL2ES12Impl gl-impl-CustomJavaCode-gl2es12.java
+IncludeAs CustomJavaCode GL2ES12Impl gl-impl-CustomJavaCode-gl2_es2.java
+IncludeAs CustomCCode gl-impl-CustomCCode.c
+
+Import javax.media.opengl.GLES1
+Import javax.media.opengl.GLES2
+Import javax.media.opengl.GL2ES12
+Import javax.media.opengl.util.BufferUtil
diff --git a/make/gl-if-gl2_es1.cfg b/make/gl-if-gl2_es1.cfg
index 4135ffa0c..ada1314fa 100755
--- a/make/gl-if-gl2_es1.cfg
+++ b/make/gl-if-gl2_es1.cfg
@@ -4,7 +4,7 @@ Style InterfaceOnly
JavaClass GL2ES1
Extends GL2ES1 GL
-IgnoreExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL.java
HierarchicalNativeOutput false
Include gl-common.cfg
@@ -57,6 +57,8 @@ Ignore glTranslatex
Ignore glLoadPaletteFromModelViewMatrix
Ignore glGetFixedv
+CustomJavaCode GL2ES1 public void glOrtho(double left, double right, double bottom, double top, double near_val, double far_val);
+CustomJavaCode GL2ES1 public void glFrustum(double left, double right, double bottom, double top, double zNear, double zFar);
CustomJavaCode GL2ES1 public void glClearDepth( double depth );
CustomJavaCode GL2ES1 public void glDepthRange(double zNear, double zFar);
diff --git a/make/gl-if-gl2_es2.cfg b/make/gl-if-gl2_es2.cfg
index 549cfcdc8..56a776035 100755
--- a/make/gl-if-gl2_es2.cfg
+++ b/make/gl-if-gl2_es2.cfg
@@ -4,7 +4,7 @@ Style InterfaceOnly
JavaClass GL2ES2
Extends GL2ES2 GL
-IgnoreExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL.java
HierarchicalNativeOutput false
Include gl-common.cfg
diff --git a/make/gl-impl-CustomJavaCode-gl2es12.java b/make/gl-impl-CustomJavaCode-gl2es12.java
new file mode 100644
index 000000000..0fe69bccd
--- /dev/null
+++ b/make/gl-impl-CustomJavaCode-gl2es12.java
@@ -0,0 +1,326 @@
+// Tracks glBegin/glEnd calls to determine whether it is legal to
+// query Vertex Buffer Object state
+private boolean inBeginEndPair;
+
+/* FIXME: refactor dependence on Java 2D / JOGL bridge
+
+// Tracks creation and destruction of server-side OpenGL objects when
+// the Java2D/OpenGL pipeline is enabled and it is using frame buffer
+// objects (FBOs) to do its rendering
+private GLObjectTracker tracker;
+
+public void setObjectTracker(GLObjectTracker tracker) {
+ this.tracker = tracker;
+}
+
+*/
+
+public GL2ES12Impl(GLContextImpl context) {
+ this._context = context;
+ this.bufferSizeTracker = context.getBufferSizeTracker();
+}
+
+public boolean isFunctionAvailable(String glFunctionName) {
+ return _context.isFunctionAvailable(glFunctionName);
+}
+
+public boolean isExtensionAvailable(String glExtensionName) {
+ return _context.isExtensionAvailable(glExtensionName);
+}
+
+public Object getExtension(String extensionName) {
+ // At this point we don't expose any extensions using this mechanism
+ return null;
+}
+
+/** Returns the context this GL object is associated with for better
+ error checking by DebugGL. */
+public GLContext getContext() {
+ return _context;
+}
+
+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 Object getPlatformGLExtensions() {
+ return _context.getPlatformGLExtensions();
+}
+
+//
+// Helpers for ensuring the correct amount of texture data
+//
+
+/** Returns the number of bytes required to fill in the appropriate
+ texture. This is regrettably a lower bound as in certain
+ circumstances OpenGL state such as unpack alignment can cause more
+ data to be required. However this should be close enough that it
+ should catch most crashes. The logic in this routine is based on
+ code in the SGI OpenGL sample implementation. */
+
+private int imageSizeInBytes(int format, int type, int w, int h, int d) {
+ int elements = 0;
+ int esize = 0;
+
+ if (w < 0) return 0;
+ if (h < 0) return 0;
+ if (d < 0) return 0;
+ switch (format) {
+ case GL_STENCIL_INDEX:
+ elements = 1;
+ break;
+ case GL_ALPHA:
+ case GL_LUMINANCE:
+ case GL_DEPTH_COMPONENT:
+ elements = 1;
+ break;
+ case GL_LUMINANCE_ALPHA:
+ elements = 2;
+ break;
+ case GL_RGB:
+ elements = 3;
+ break;
+ case GL_RGBA:
+ elements = 4;
+ break;
+ /* FIXME ??
+ case GL_HILO_NV:
+ elements = 2;
+ break; */
+ default:
+ return 0;
+ }
+ switch (type) {
+ case GL_BYTE:
+ case GL_UNSIGNED_BYTE:
+ esize = 1;
+ break;
+ case GL_SHORT:
+ case GL_UNSIGNED_SHORT:
+ esize = 2;
+ break;
+ case GL_UNSIGNED_SHORT_5_6_5:
+ case GL_UNSIGNED_SHORT_4_4_4_4:
+ case GL_UNSIGNED_SHORT_5_5_5_1:
+ esize = 2;
+ elements = 1;
+ break;
+ case GL_INT:
+ case GL_UNSIGNED_INT:
+ case GL_FLOAT:
+ esize = 4;
+ break;
+ default:
+ return 0;
+ }
+ return (elements * esize * w * h * d);
+}
+
+private GLBufferStateTracker bufferStateTracker = new GLBufferStateTracker();
+private GLBufferSizeTracker bufferSizeTracker;
+
+private boolean bufferObjectExtensionsInitialized = false;
+private boolean haveARBPixelBufferObject;
+private boolean haveEXTPixelBufferObject;
+private boolean haveGL15;
+private boolean haveGL21;
+private boolean haveARBVertexBufferObject;
+
+private void initBufferObjectExtensionChecks() {
+ if (bufferObjectExtensionsInitialized)
+ return;
+ bufferObjectExtensionsInitialized = true;
+ haveARBPixelBufferObject = isExtensionAvailable("GL_ARB_pixel_buffer_object");
+ haveEXTPixelBufferObject = isExtensionAvailable("GL_EXT_pixel_buffer_object");
+ haveGL15 = isExtensionAvailable("GL_VERSION_1_5");
+ haveGL21 = isExtensionAvailable("GL_VERSION_2_1");
+ haveARBVertexBufferObject = isExtensionAvailable("GL_ARB_vertex_buffer_object");
+}
+
+private void checkBufferObject(boolean extension1,
+ boolean extension2,
+ boolean extension3,
+ boolean enabled,
+ int state,
+ String kind) {
+ if (inBeginEndPair) {
+ throw new GLException("May not call this between glBegin and glEnd");
+ }
+ boolean avail = (extension1 || extension2 || extension3);
+ if (!avail) {
+ if (!enabled)
+ return;
+ throw new GLUnsupportedException("Required extensions not available to call this function");
+ }
+ int buffer = bufferStateTracker.getBoundBufferObject(state, this);
+ if (enabled) {
+ if (buffer == 0) {
+ throw new GLException(kind + " must be enabled to call this method");
+ }
+ } else {
+ if (buffer != 0) {
+ throw new GLException(kind + " must be disabled to call this method");
+ }
+ }
+}
+
+private void checkArrayVBODisabled() {
+ initBufferObjectExtensionChecks();
+ checkBufferObject(haveGL15,
+ haveARBVertexBufferObject,
+ false,
+ false,
+ GL.GL_ARRAY_BUFFER,
+ "array vertex_buffer_object");
+}
+
+private void checkArrayVBOEnabled() {
+ initBufferObjectExtensionChecks();
+ checkBufferObject(haveGL15,
+ haveARBVertexBufferObject,
+ false,
+ true,
+ GL.GL_ARRAY_BUFFER,
+ "array vertex_buffer_object");
+}
+
+private void checkElementVBODisabled() {
+ initBufferObjectExtensionChecks();
+ checkBufferObject(haveGL15,
+ haveARBVertexBufferObject,
+ false,
+ false,
+ GL.GL_ELEMENT_ARRAY_BUFFER,
+ "element vertex_buffer_object");
+}
+
+private void checkElementVBOEnabled() {
+ initBufferObjectExtensionChecks();
+ checkBufferObject(haveGL15,
+ haveARBVertexBufferObject,
+ false,
+ true,
+ GL.GL_ELEMENT_ARRAY_BUFFER,
+ "element vertex_buffer_object");
+}
+
+private void checkUnpackPBODisabled() {
+ initBufferObjectExtensionChecks();
+ checkBufferObject(haveARBPixelBufferObject,
+ haveEXTPixelBufferObject,
+ haveGL21,
+ false,
+ GL2.GL_PIXEL_UNPACK_BUFFER,
+ "unpack pixel_buffer_object");
+}
+
+private void checkUnpackPBOEnabled() {
+ initBufferObjectExtensionChecks();
+ checkBufferObject(haveARBPixelBufferObject,
+ haveEXTPixelBufferObject,
+ haveGL21,
+ true,
+ GL2.GL_PIXEL_UNPACK_BUFFER,
+ "unpack pixel_buffer_object");
+}
+
+private void checkPackPBODisabled() {
+ initBufferObjectExtensionChecks();
+ checkBufferObject(haveARBPixelBufferObject,
+ haveEXTPixelBufferObject,
+ haveGL21,
+ false,
+ GL2.GL_PIXEL_PACK_BUFFER,
+ "pack pixel_buffer_object");
+}
+
+private void checkPackPBOEnabled() {
+ initBufferObjectExtensionChecks();
+ checkBufferObject(haveARBPixelBufferObject,
+ haveEXTPixelBufferObject,
+ haveGL21,
+ true,
+ GL2.GL_PIXEL_PACK_BUFFER,
+ "pack pixel_buffer_object");
+}
+
+// Attempt to return the same ByteBuffer object from glMapBuffer if
+// the vertex buffer object's base address and size haven't changed
+private static class ARBVBOKey {
+ private long addr;
+ private int capacity;
+
+ ARBVBOKey(long addr, int capacity) {
+ this.addr = addr;
+ this.capacity = capacity;
+ }
+
+ public int hashCode() {
+ return (int) addr;
+ }
+
+ public boolean equals(Object o) {
+ if ((o == null) || (!(o instanceof ARBVBOKey))) {
+ return false;
+ }
+
+ ARBVBOKey other = (ARBVBOKey) o;
+ return ((addr == other.addr) && (capacity == other.capacity));
+ }
+}
+
+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_ = ((GL2ES12ProcAddressTable)_context.getGLProcAddressTable())._addressof_glMapBuffer;
+ if (__addr_ == 0) {
+ throw new GLUnsupportedException("Method \"glMapBuffer\" not available");
+ }
+ int sz = bufferSizeTracker.getBufferSize(bufferStateTracker,
+ target,
+ this);
+ long addr;
+ addr = dispatch_glMapBuffer(target, access, __addr_);
+ if (addr == 0 || sz == 0) {
+ return null;
+ }
+ ARBVBOKey key = new ARBVBOKey(addr, sz);
+ ByteBuffer _res = (ByteBuffer) arbVBOCache.get(key);
+ if (_res == null) {
+ _res = InternalBufferUtils.newDirectByteBuffer(addr, sz);
+ _res.order(ByteOrder.nativeOrder());
+ arbVBOCache.put(key, _res);
+ }
+ _res.position(0);
+ return _res;
+}
+
+/** Encapsulates function pointer for OpenGL function <br>: <code> LPVOID glMapBuffer(GLenum target, GLenum access); </code> */
+native private long dispatch_glMapBuffer(int target, int access, long glProcAddress);
+
+ /** Dummy implementation for the ES 2.0 function: <br> <code> void {@native glShaderBinary}(GLint n, const GLuint * shaders, GLenum binaryformat, const void * binary, GLint length); </code> <br> Always throws a GLException! */
+ public void glShaderBinary(int n, java.nio.IntBuffer shaders, int binaryformat, java.nio.Buffer binary, int length) {
+ throw new GLUnsupportedException("Method \"glShaderBinary\" not available");
+ }
+
+ /** Dummy implementation for the ES 2.0 function: <br> <code> void {@native glShaderBinary}(GLint n, const GLuint * shaders, GLenum binaryformat, const void * binary, GLint length); </code> <br> Always throws a GLException! */
+ public void glShaderBinary(int n, int[] shaders, int shaders_offset, int binaryformat, java.nio.Buffer binary, int length) {
+ throw new GLUnsupportedException("Method \"glShaderBinary\" not available");
+ }
+
+ public void glReleaseShaderCompiler() {
+ // nothing to do
+ }
+
+
diff --git a/make/glu-CustomJavaCode-base.java b/make/glu-CustomJavaCode-base.java
index f7cb4b1b3..26396e71f 100755
--- a/make/glu-CustomJavaCode-base.java
+++ b/make/glu-CustomJavaCode-base.java
@@ -87,12 +87,12 @@ public static final GLU createGLU(String profile) throws GLUnsupportedException
}
} catch (GLUnsupportedException e) { System.out.println(e); }
try {
- if(GLProfile.GL2.equals(profile) || GLProfile.GLES1.equals(profile)) {
+ if(GLProfile.GL2ES12.equals(profile) || GLProfile.GL2.equals(profile) || GLProfile.GLES1.equals(profile)) {
return (GLU) GLReflection.createInstance("javax.media.opengl.glu.gl2es1.GLUgl2es1");
}
} catch (GLUnsupportedException e) { System.out.println(e); }
try {
- if(GLProfile.GL2.equals(profile) || GLProfile.GLES2.equals(profile)) {
+ if(GLProfile.GL2ES12.equals(profile) || GLProfile.GL2.equals(profile) || GLProfile.GLES2.equals(profile)) {
return (GLU) GLReflection.createInstance("javax.media.opengl.glu.gl2es2.GLUgl2es2");
}
} catch (GLUnsupportedException e) { System.out.println(e); }
diff --git a/make/glx-x11.cfg b/make/glx-x11.cfg
index fa2ad4790..0b669805c 100644
--- a/make/glx-x11.cfg
+++ b/make/glx-x11.cfg
@@ -7,6 +7,7 @@ Package com.sun.opengl.impl.x11.glx
JavaClass GLX
Style allstatic
Include gl-common-gl2.cfg
+Include gl-common-extensions.cfg
Include gl-desktop.cfg
EmitProcAddressTable true
@@ -38,51 +39,11 @@ Ignore glXGetCurrentDisplayEXT
Ignore glXImportContextEXT
Ignore glXQueryContextInfoEXT
-Ignore glXCopySubBufferMESA
-Ignore glXCreateGLXPixmapMESA
-Ignore glXReleaseBuffersMESA
-Ignore glXSet3DfxModeMESA
-
-Ignore glXGetSyncValuesOML
-Ignore glXGetMscRateOML
-Ignore glXSwapBuffersMscOML
-Ignore glXWaitForMscOML
-Ignore glXWaitForSbcOML
-
-Ignore glXAllocateMemoryNV
-Ignore glXFreeMemoryNV
-
-Ignore glXCushionSGI
-Ignore glXGetVideoSyncSGI
-Ignore glXWaitVideoSyncSGI
-Ignore glXSwapIntervalSGI
-Ignore glXMakeCurrentReadSGI
-Ignore glXGetCurrentReadDrawableSGI
-
-Ignore glXCreateGLXVideoSourceSGIX
-Ignore glXDestroyGLXVideoSourceSGIX
-Ignore glXGetFBConfigAttribSGIX
-Ignore glXChooseFBConfigSGIX
-Ignore glXCreateGLXPixmapWithConfigSGIX
-Ignore glXCreateContextWithConfigSGIX
-Ignore glXGetVisualFromFBConfigSGIX
-Ignore glXGetFBConfigFromVisualSGIX
-Ignore glXCreateGLXPbufferSGIX
-Ignore glXDestroyGLXPbufferSGIX
-Ignore glXQueryGLXPbufferSGIX
-Ignore glXSelectEventSGIX
-Ignore glXGetSelectedEventSGIX
-Ignore glXBindChannelToWindowSGIX
-Ignore glXChannelRectSGIX
-Ignore glXQueryChannelRectSGIX
-Ignore glXQueryChannelDeltasSGIX
-Ignore glXChannelRectSyncSGIX
-Ignore glXAssociateDMPbufferSGIX
-Ignore glXJoinSwapGroupSGIX
-Ignore glXBindSwapBarrierSGIX
-Ignore glXQueryMaxSwapBarriersSGIX
-
-Ignore glXGetTransparentIndexSUN
+Ignore glXGetSyncValues
+Ignore glXGetMscRate
+Ignore glXSwapBuffersMsc
+Ignore glXWaitForMsc
+Ignore glXWaitForSbc
# Ignore non-GLX GL routines and constants
Ignore ^GL_.+
@@ -107,3 +68,9 @@ DropUniqVendorExtensions SGIX
DropUniqVendorExtensions SUN
DropUniqVendorExtensions WIN
+# Ignore the SGI hyperpipe extension, which will require more GlueGen
+# work to expose the pipeName fields in the various structs
+Ignore GLXHyperpipeNetworkSGIX
+Ignore GLXHyperpipeConfigSGIX
+Ignore GLXPipeRect
+Ignore GLXPipeRectLimits
diff --git a/make/lstjars.sh b/make/lstjars.sh
index 264d782ac..6f01b0842 100644
--- a/make/lstjars.sh
+++ b/make/lstjars.sh
@@ -32,19 +32,25 @@ for i in *.jar ; do
jar tf $fname | grep class | sort > $bname.lst
done
-mv jogl.all.lst jogl.all.lst.nope
+mkdir -p nope
+mv jogl.all.lst nope/
-echo duplicates
+mv jogl.gl2es12.*.lst jogl.gl2.*.lst nope/
+echo duplicates - w/o gl2es12.* gl2.*
echo
sort *.lst | uniq -d
+mv nope/* .
-cat *.lst | sort > jogl.allparts.lst
-mv jogl.all.lst.nope jogl.all.lst
+mv jogl.all.lst nope/
+cat *.lst | sort -u > jogl.allparts.lst
+mv nope/* .
echo jogl.all bs jogl.allparts delta
echo
diff -Nur jogl.allparts.lst jogl.all.lst
+OSS=x11
+
echo JOGL ES1 NEWT CORE
report jogl.core.jar jogl.egl.jar jogl.gles1.jar newt.jar obj/tmp/libjogl_es1.so.gz obj/tmp/libnewt.so.gz
echo
@@ -53,16 +59,16 @@ echo JOGL ES2 NEWT CORE
report jogl.core.jar jogl.egl.jar jogl.gles2.jar newt.jar obj/tmp/libjogl_es2.so.gz obj/tmp/libnewt.so.gz
echo
-echo JOGL GL2 NEWT CORE no AWT
-report jogl.core.jar jogl.oswin.jar jogl.gl2.jar newt.jar obj/tmp/libjogl_gl2.so.gz obj/tmp/libnewt.so.gz
+echo JOGL GL2ES12 NEWT
+report jogl.core.jar jogl.gl2es12.$OSS.jar newt.jar obj/tmp/libjogl_gl2es12.so.gz obj/tmp/libnewt.so.gz
echo
-echo JOGL GL2 OSWIN no AWT
-report jogl.core.jar jogl.oswin.jar jogl.gl2.jar obj/tmp/libjogl_gl2.so.gz
+echo JOGL GL2 NEWT
+report jogl.core.jar jogl.gl2.$OSS.jar newt.jar obj/tmp/libjogl_gl2.so.gz obj/tmp/libnewt.so.gz
echo
-echo JOGL GL2 OSWIN with AWT
-report jogl.core.jar jogl.oswin.jar jogl.gl2.jar jogl.awt.jar obj/tmp/libjogl_gl2.so.gz obj/tmp/libjogl_awt.so.gz
+echo JOGL GL2 AWT
+report jogl.core.jar jogl.gl2.$OSS.jar jogl.awt.jar obj/tmp/libjogl_gl2.so.gz obj/tmp/libjogl_awt.so.gz
echo
echo JOGL GLU
diff --git a/make/wgl-win32.cfg b/make/wgl-win32.cfg
index 7d5a17494..d80963b71 100644
--- a/make/wgl-win32.cfg
+++ b/make/wgl-win32.cfg
@@ -7,6 +7,7 @@ Package com.sun.opengl.impl.windows.wgl
JavaClass WGL
Style allstatic
Include gl-common-gl2.cfg
+Include gl-common-extensions.cfg
Include gl-desktop.cfg
# Implement the first argument to wglGetProcAddress as String instead