summaryrefslogtreecommitdiffstats
path: root/make/scripts
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2010-08-24 02:39:14 +0200
committerSven Gothel <[email protected]>2010-08-24 02:39:14 +0200
commitca119c97340caf325cd682c5fdbe8f794a35ac0e (patch)
tree3ad60aff37fe6e6167db14c3f3f4fcbf36e6a535 /make/scripts
parent8d55c437547a697b7d0bd4dd81b6669209cf912f (diff)
Add OpenGL 3.3, 4.0 and 4.1 language mapping.
- Update header: - GL/glext.h to khronos 2010-08-03 - GL3/gl3.h to khronos 2010-08-03 - Move platform code to GL/glplatform.h GL3/glplatform.h - Unify 64bit typedefs: gl-64bit-types.h - Move GL 3.[123] and 4.[01] complete subsumed extension enums and functions into their extension spec and just reference them. This ensures proper extension availability via lower OpenGL profiles, hence a proper GL2GL3 interface. - GL3/GL4 cleanup: - make-glextension-depignore.sh: determine required GL version for extensions for proper positioning, ie GL2GL3 or GL3 or GL4 via gluegen IgnoreExtension commands. - use ARB_ES2_compatibility for common GL2ES2 methods, if available - consolidated gl2-gl4 subsumed extension to gl-common.cfg - Missing GL3/GL4 Functions: glMultiDrawElementsBaseVertex glDebugMessageCallbackARB glDebugMessageCallbackAMD - TODO (new feature integration): - ARB_ES2_compatibility / ARB_get_program_binary for com/jogamp/opengl/util/glsl, ie - store binaries com/jogamp/opengl/util/glsl/sdk/CompileShader* - query supported binary formats (enums ?) - optional prio binaries - ARB_ES2_compatibility, if available GLES2/GL2ES12 would be available - ARB_separate_shader_objects for com/jogamp/opengl/util/glsl, ie - swizzle vertex/fragment shader in programs - ..
Diffstat (limited to 'make/scripts')
-rw-r--r--make/scripts/cmpOld2New.sh22
-rwxr-xr-xmake/scripts/lsGL23_commons.sh6
-rwxr-xr-xmake/scripts/lsGL2_GL3_commons.sh18
-rwxr-xr-xmake/scripts/lstjars.sh4
-rwxr-xr-xmake/scripts/strip-c-comments.awk59
5 files changed, 104 insertions, 5 deletions
diff --git a/make/scripts/cmpOld2New.sh b/make/scripts/cmpOld2New.sh
new file mode 100644
index 000000000..4394fe7b5
--- /dev/null
+++ b/make/scripts/cmpOld2New.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+dirscript=`dirname $0`
+
+dirold=../build-x86_64-old/jogl/gensrc/classes/javax/media/opengl/
+dirnew=../build-x86_64/jogl/gensrc/classes/javax/media/opengl/
+dircmp=cmp-old2new
+
+rm -rf $dircmp
+mkdir -p $dircmp
+
+for i in GL GL2ES1 GL2ES2 GLES1 GLES2 GL2GL3 GL2 GL3 GL3bc GL4 GL4bc ; do
+ echo
+ echo processing $i
+ awk -f $dirscript/strip-c-comments.awk $dirold/$i.java | sort -u > $dircmp/$i-old.java
+ echo created $dircmp/$i-old.java
+ awk -f $dirscript/strip-c-comments.awk $dirnew/$i.java | sort -u > $dircmp/$i-new.java
+ echo created $dircmp/$i-new.java
+ diff -Nurdw $dircmp/$i-old.java $dircmp/$i-new.java > $dircmp/$i-diff.txt
+ echo created $dircmp/$i-diff.txt
+done
+
diff --git a/make/scripts/lsGL23_commons.sh b/make/scripts/lsGL23_commons.sh
index 7c7161717..cab55639b 100755
--- a/make/scripts/lsGL23_commons.sh
+++ b/make/scripts/lsGL23_commons.sh
@@ -9,10 +9,10 @@ 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"
+SOURCE="$idir/GL.java $idir/GL2ES2.java $idir/GL2GL3.java $idir/GL3.java"
-echo GL GL2ES1 GL2ES2 GLES1 GLES2 GL2GL3 GL2 GL3 defines
+echo GL GL2ES2 GL2GL3 GL3 defines
sort $SOURCE | uniq -d | grep GL_ | grep -v "Part of <code>"
-echo GL GL2ES1 GL2ES2 GLES1 GLES2 GL2GL3 GL2 GL3 functions
+echo GL GL2ES2 GL2GL3 GL3 functions
sort $SOURCE | uniq -d | grep "public [a-z0-9_]* gl"
diff --git a/make/scripts/lsGL2_GL3_commons.sh b/make/scripts/lsGL2_GL3_commons.sh
new file mode 100755
index 000000000..722ba850d
--- /dev/null
+++ b/make/scripts/lsGL2_GL3_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/GL2ES2.java $idir/GL2GL3.java $idir/GL2.java $idir/GL3.java"
+
+echo GL GL2ES2 GL2GL3 GL2 GL3 defines
+sort $SOURCE | uniq -d | grep GL_ | grep -v "Part of <code>"
+
+echo GL GL2ES2 GL2GL3 GL2 GL3 functions
+sort $SOURCE | uniq -d | grep "public [a-z0-9_]* gl"
diff --git a/make/scripts/lstjars.sh b/make/scripts/lstjars.sh
index 3837be5e3..2a2f67bf2 100755
--- a/make/scripts/lstjars.sh
+++ b/make/scripts/lstjars.sh
@@ -123,7 +123,7 @@ done
rm -rf nope
mkdir -p nope
-mv *.cdc.lst *.all*.lst nope/
+mv jogl.test.lst *-noawt.lst *.cdc.lst *.all*.lst nope/
mv jogl.gl2es12.*.lst jogl.gldesktop.*.lst nope/
echo duplicates - w/o gl2es12.* gldesktop.*
@@ -131,7 +131,7 @@ echo
sort jogl*.lst | uniq -d
mv nope/* .
-mv *.cdc.lst *.all*.lst nope/
+mv jogl.test.lst *.cdc.lst *.all*.lst nope/
cat *.lst | sort -u > allparts.lst
mv nope/* .
cat *.all.lst gluegen-rt.lst | sort -u > allall.lst
diff --git a/make/scripts/strip-c-comments.awk b/make/scripts/strip-c-comments.awk
new file mode 100755
index 000000000..4f35452b2
--- /dev/null
+++ b/make/scripts/strip-c-comments.awk
@@ -0,0 +1,59 @@
+#!/usr/bin/awk
+
+BEGIN { ORS = "" ; C99=1 }
+
+{ code = code $0 "\n" }
+
+END {
+ while ( length(code) )
+ code = process( code )
+}
+
+function process( text )
+{
+ if ( C99 ) {
+ if ( match( text, /"|'|\/\*|\/\// ) ) {
+ return span( text )
+ }
+ } else if ( match( text, /"|'|\/\*/ ) ) {
+ return span( text )
+ }
+ print text
+ return ""
+}
+
+function span( text , starter )
+{
+ print substr( text, 1, RSTART - 1 )
+ starter = substr( text, RSTART, RLENGTH )
+ text = substr( text, RSTART + RLENGTH )
+
+ if ( "\"" == starter || "'" == starter ) {
+ return quoted( text, starter )
+ }
+ if ( "//" == starter ) {
+ return remove( text, "\n", "\n" )
+ }
+ ## Allow for
+ ## /* foo *\
+ ## /
+ return remove( text, "\\*(\\\\\n)?/", " " )
+}
+
+function remove( text, ender, replacement )
+{
+ print replacement
+ return substr( text, match(text, ender) + RLENGTH )
+}
+
+function quoted( text, starter )
+{
+ if ( "'" == starter ) {
+ match( text, /^(\\.|[^'])*'/ )
+ } else {
+ match( text, /^(\\.|\?\?\/.|[^"])*"/ )
+ }
+ print starter substr( text, 1, RLENGTH )
+ return substr( text, RSTART + RLENGTH )
+}
+