From 4e83a5df7a851cc33d85f76381f058256906ad4c Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Thu, 10 Oct 2013 02:15:56 +0200 Subject: Bug 852: Remove CPU sourced data API entry where not allowed (ES3 and GL core >= 3.0) ; GL2 cfg: Ignore GL2ES3 symbols (super) Remove CPU sourced data API entries via new config 'BufferObjectOnly ', listed in 'gl-common-gpubufferonly.cfg' and included in ES3 and all GL core >= 3 interfaces. If BufferObjectOnly is defined for a function, only the 'long offset' variant is being emitted. Due to limitations of GlueGen's 'ExtendedInterfaceSymbolsIgnore A.java', which only identifies the function name and not the signature - all CPU sourced variants are manually added to the compatibility and ES2 GL profiles via '*-common-cpubufferJavaCode.java' files. GLContext: Added 'isCPUSourcedAvail()' to determine whether context allows CPU sourced data, i.e. for GL2ES1 and GLES2 ctx. GLContext/GLProfile/GL: isGLES2() now returns false if having a ES3 context due to 'CPU sourced' incompatibility! +++ GL2 cfg: Added ignore GL2ES3 symbols of it's superclass, removing duplicated symbols. --- make/config/jogl/gl-if-es3.cfg | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 make/config/jogl/gl-if-es3.cfg (limited to 'make/config/jogl/gl-if-es3.cfg') diff --git a/make/config/jogl/gl-if-es3.cfg b/make/config/jogl/gl-if-es3.cfg new file mode 100644 index 000000000..33e41762a --- /dev/null +++ b/make/config/jogl/gl-if-es3.cfg @@ -0,0 +1,39 @@ +# This .cfg file is used to generate the GL interface. +JavaOutputDir gensrc/classes + +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/GLES2.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES3.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL3ES3.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL4ES3.java +ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.java + +Package javax.media.opengl +Style InterfaceOnly +JavaClass GLES3 +#Extends GLES3 GLBase +#Extends GLES3 GL +#Extends GLES3 GL2ES2 +#Extends GLES3 GL2ES3 +#Extends GLES3 GL3ES3 +Extends GLES3 GLES2 +Extends GLES3 GL4ES3 +HierarchicalNativeOutput false +Include gl-common.cfg +Include gl-common-gpubufferonly.cfg +Include gl-common-extensions.cfg +Include gl2_es3-common.cfg +Include gl2_es2-CustomJavaCode.cfg + +ForceExtension GL_ARB_ES3_compatibility + +# dummy procaddress config / force procaddress for comments +EmitProcAddressTable false +ProcAddressTableClassName DontGenerateProcAddressTableStuff +GetProcAddressTableExpr DontGenerateProcAddressTableStuff +ForceProcAddressGen __ALL__ + +# Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums +TagNativeBinding true + -- cgit v1.2.3 From ac705f0d6eea7c8ba27a7cf7c42674c7446576b4 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sun, 22 Dec 2013 03:30:26 +0100 Subject: Bug 929, Bug 852 - Reflect ES3 Compatibility with ES2 / Add CPU Sourced Data API Func to ES3 Interface Since ES3 is compatible w/ ES2 and CPU sourced data is [still] allowed (but marked deprecated), re-adding them to the ES3 interface for completness. Note: CPU sourced data API functions will be removed in ES4, similar to GL core >= 3.0 --- make/config/jogl/gl-if-es3.cfg | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'make/config/jogl/gl-if-es3.cfg') diff --git a/make/config/jogl/gl-if-es3.cfg b/make/config/jogl/gl-if-es3.cfg index 33e41762a..66fd52597 100644 --- a/make/config/jogl/gl-if-es3.cfg +++ b/make/config/jogl/gl-if-es3.cfg @@ -21,11 +21,13 @@ Extends GLES3 GLES2 Extends GLES3 GL4ES3 HierarchicalNativeOutput false Include gl-common.cfg -Include gl-common-gpubufferonly.cfg Include gl-common-extensions.cfg Include gl2_es3-common.cfg Include gl2_es2-CustomJavaCode.cfg +IncludeAs CustomJavaCode GLES3 gl2_es2-common-cpubufferJavaCode.java +IncludeAs CustomJavaCode GLES3 gl2-common-cpubufferJavaCode.java + ForceExtension GL_ARB_ES3_compatibility # dummy procaddress config / force procaddress for comments -- cgit v1.2.3