aboutsummaryrefslogtreecommitdiffstats
path: root/make/config/jogl/make-glextension-depignore.sh
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/config/jogl/make-glextension-depignore.sh
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/config/jogl/make-glextension-depignore.sh')
-rw-r--r--make/config/jogl/make-glextension-depignore.sh70
1 files changed, 70 insertions, 0 deletions
diff --git a/make/config/jogl/make-glextension-depignore.sh b/make/config/jogl/make-glextension-depignore.sh
new file mode 100644
index 000000000..98db66a84
--- /dev/null
+++ b/make/config/jogl/make-glextension-depignore.sh
@@ -0,0 +1,70 @@
+#!/bin/bash
+
+thisdir=`pwd`
+registry=/data/docs/ComputerIT/3D_AV_GFX/gl/registry/specs
+classdirpos=9
+dirdep=$thisdir/tmp_glext_dep
+
+gl3ignores=$thisdir/gl-if-gl3-ignores.cfg
+gl4ignores=$thisdir/gl-if-gl4-ignores.cfg
+
+rm -rf $dirdep
+mkdir -p $dirdep
+
+cd $registry
+
+# We allow OpenGL 3.0 within GL2
+grep -RIl "^[ \t]*OpenGL 3\.[1234] is required" . > $dirdep/ext-req-3_x.txt
+grep -RIl "^[ \t]*OpenGL 3\.[1234] and GLSL .* are required" . >> $dirdep/ext-req-3_x.txt
+grep -RIl "^[ \t]*OpenGL 4\.. is required" . > $dirdep/ext-req-4_x.txt
+grep -RIl "^[ \t]*OpenGL 4\.. and GLSL .* are required" . >> $dirdep/ext-req-4_x.txt
+
+cd $thisdir
+
+function dump_ignore_ext() {
+ infile=$1
+ for i in `cat $infile` ; do
+ class=`echo $i | awk -F '/' ' { print \$2 } ' `
+ extname="GL_"$class"_"`basename $i .txt`
+ echo IgnoreExtension $extname
+ done
+}
+
+function dump_ignore_header() {
+ echo "#"
+ echo "# Generated Configuration File"
+ echo "# Use make-glextension-depignore.sh to update!"
+ echo "#"
+ echo
+}
+
+function dump_ignore_ext_gl3() {
+ echo "#"
+ echo "# OpenGL 3.x dependencies"
+ echo "#"
+ echo "# We allow GL_VERSION_3_0 within GL2"
+ echo "IgnoreExtension GL_VERSION_3_1"
+ echo "IgnoreExtension GL_VERSION_3_2"
+ echo "IgnoreExtension GL_VERSION_3_3"
+ echo "IgnoreExtension GL_VERSION_3_4"
+ dump_ignore_ext $dirdep/ext-req-3_x.txt
+ echo
+}
+
+function dump_ignore_ext_gl4() {
+ echo "#"
+ echo "# OpenGL 4.x dependencies"
+ echo "#"
+ echo "IgnoreExtension GL_VERSION_4_0"
+ echo "IgnoreExtension GL_VERSION_4_1"
+ echo "IgnoreExtension GL_VERSION_4_2"
+ dump_ignore_ext $dirdep/ext-req-4_x.txt
+ echo
+}
+
+dump_ignore_header > $gl3ignores
+dump_ignore_ext_gl3 >> $gl3ignores
+
+dump_ignore_header > $gl4ignores
+dump_ignore_ext_gl4 >> $gl4ignores
+