The following code: GL _gl = drawable.getGL(); gl = _gl.getGL2ES2(); log.debug("Before adding a debug GL"); log.debug("GL class: " + gl.getClass().getName()); log.debug("isGLES: " + (gl.isGLES() ? "true" : "false")); log.debug("isGLES1: " + (gl.isGLES1() ? "true" : "false")); log.debug("isGLES2: " + (gl.isGLES2() ? "true" : "false")); log.debug("isGL2ES1: " + (gl.isGL2ES1() ? "true" : "false")); log.debug("isGL2ES2: " + (gl.isGL2ES2() ? "true" : "false")); _gl =_gl.getContext().setGL(GLPipelineFactory.create("javax.media.opengl.Debug", GL2ES2.class, _gl, null)); gl = _gl.getGL2ES2(); log.debug("After adding a debug GL"); log.debug("GL class: " + gl.getClass().getName()); log.debug("isGLES: " + (gl.isGLES() ? "true" : "false")); log.debug("isGLES1: " + (gl.isGLES1() ? "true" : "false")); log.debug("isGLES2: " + (gl.isGLES2() ? "true" : "false")); log.debug("isGL2ES1: " + (gl.isGL2ES1() ? "true" : "false")); log.debug("isGL2ES2: " + (gl.isGL2ES2() ? "true" : "false")); When run on an Android 4.0.3 (currently a Kindle HD) returns the following: Before adding a debug GL GL class: jogamp.opengl.es2.GLES2Impl isGLES: true isGLES1: false isGLES2: true isGL2ES1: false isGL2ES2: true After adding a debug GL GL class: javax.media.opengl.DebugGL2ES2 isGLES: false isGLES1: false isGLES2: false isGL2ES1: false isGL2ES2: true Obviously, the second case should exactly match the first output, but it isn't. Note that if I use the following (ie debugging a GLES2 profile instead of an GL2ES2 profile): _gl =_gl.getContext().setGL(GLPipelineFactory.create("javax.media.opengl.Debug", GLES2.class, _gl, null)); gl = _gl.getGL2ES2(); Then it correctly returns true for both isGLES2, isGLES and isGL2ES2 :)
<http://jogamp.org/git/?p=jogl.git;a=commit;h=1062e8ebfd6d2643bba9a68bbbc78bb44b3ede6a> DEBUG/TRACE: Removed Debug/Trace pipelines of common profiles (won't work anyways) - [Debug|Trace]GL2ES1 - [Debug|Trace]GL2ES2 - [Debug|Trace]GL2GL3