summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java13
-rw-r--r--make/config/jogl/gl-impl-CustomJavaCode-gles1.java10
-rw-r--r--make/config/jogl/gl-impl-CustomJavaCode-gles3.java13
-rw-r--r--src/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java2
-rw-r--r--src/jogl/classes/javax/media/opengl/GLBase.java12
-rw-r--r--src/jogl/classes/javax/media/opengl/GLContext.java9
6 files changed, 59 insertions, 0 deletions
diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java b/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java
index e4959a32d..d1a4ceda0 100644
--- a/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java
+++ b/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java
@@ -90,6 +90,11 @@ public final boolean isGL2ES2() {
}
@Override
+public final boolean isGL2ES3() {
+ return _context.isGL2ES3();
+}
+
+@Override
public final boolean isGL3ES3() {
return _context.isGL3ES3();
}
@@ -191,6 +196,14 @@ public final GL2ES2 getGL2ES2() throws GLException {
}
@Override
+public final GL2ES3 getGL2ES3() throws GLException {
+ if(!isGL2ES3()) {
+ throw new GLException("Not a GL2ES3 implementation");
+ }
+ return this;
+}
+
+@Override
public final GL3ES3 getGL3ES3() throws GLException {
if(!isGL3ES3()) {
throw new GLException("Not a GL3ES3 implementation");
diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gles1.java b/make/config/jogl/gl-impl-CustomJavaCode-gles1.java
index 5d0af6913..deb73e042 100644
--- a/make/config/jogl/gl-impl-CustomJavaCode-gles1.java
+++ b/make/config/jogl/gl-impl-CustomJavaCode-gles1.java
@@ -68,6 +68,11 @@ public final boolean isGL2ES2() {
}
@Override
+public final boolean isGL2ES3() {
+ return false;
+}
+
+@Override
public final boolean isGL3ES3() {
return false;
}
@@ -163,6 +168,11 @@ public final GL2ES1 getGL2ES1() throws GLException {
}
@Override
+public final GL2ES3 getGL2ES3() throws GLException {
+ throw new GLException("Not a GL2ES3 implementation");
+}
+
+@Override
public final GL2ES2 getGL2ES2() throws GLException {
throw new GLException("Not a GL2ES2 implementation");
}
diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gles3.java b/make/config/jogl/gl-impl-CustomJavaCode-gles3.java
index f5075c919..5c58f6cc4 100644
--- a/make/config/jogl/gl-impl-CustomJavaCode-gles3.java
+++ b/make/config/jogl/gl-impl-CustomJavaCode-gles3.java
@@ -72,6 +72,11 @@ public final boolean isGL2ES2() {
}
@Override
+public final boolean isGL2ES3() {
+ return _isES3;
+}
+
+@Override
public final boolean isGL3ES3() {
return _isES3;
}
@@ -173,6 +178,14 @@ public final GL2ES2 getGL2ES2() throws GLException {
}
@Override
+public final GL2ES3 getGL2ES3() throws GLException {
+ if(!_isES3) {
+ throw new GLException("Not a GL2ES3 implementation");
+ }
+ return this;
+}
+
+@Override
public final GL3ES3 getGL3ES3() throws GLException {
if(!_isES3) {
throw new GLException("Not a GL3ES3 implementation");
diff --git a/src/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java b/src/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java
index 262fed934..b04f35230 100644
--- a/src/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java
+++ b/src/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java
@@ -657,6 +657,7 @@ public class BuildComposablePipeline {
emitGLIsMethod(output, "GLES3");
emitGLIsMethod(output, "GL2ES1");
emitGLIsMethod(output, "GL2ES2");
+ emitGLIsMethod(output, "GL2ES3");
emitGLIsMethod(output, "GL3ES3");
emitGLIsMethod(output, "GL4ES3");
emitGLIsMethod(output, "GL2GL3");
@@ -724,6 +725,7 @@ public class BuildComposablePipeline {
emitGLGetMethod(output, "GLES3");
emitGLGetMethod(output, "GL2ES1");
emitGLGetMethod(output, "GL2ES2");
+ emitGLGetMethod(output, "GL2ES3");
emitGLGetMethod(output, "GL3ES3");
emitGLGetMethod(output, "GL4ES3");
emitGLGetMethod(output, "GL2GL3");
diff --git a/src/jogl/classes/javax/media/opengl/GLBase.java b/src/jogl/classes/javax/media/opengl/GLBase.java
index a9de70698..07dfc7e72 100644
--- a/src/jogl/classes/javax/media/opengl/GLBase.java
+++ b/src/jogl/classes/javax/media/opengl/GLBase.java
@@ -168,6 +168,12 @@ public interface GLBase {
public boolean isGL2ES2();
/**
+ * Indicates whether this GL object conforms to a either a GL2GL3 or GL3ES3 compatible profile.
+ * @see GLContext#isGL2ES3()
+ */
+ public boolean isGL2ES3();
+
+ /**
* Indicates whether this GL object conforms to a GL3ES3 compatible profile.
* @see GLContext#isGL3ES3()
*/
@@ -318,6 +324,12 @@ public interface GLBase {
public GL2ES2 getGL2ES2() throws GLException;
/**
+ * Casts this object to the GL2ES3 interface.
+ * @throws GLException if this object is not a GL2ES3 implementation
+ */
+ public GL2ES3 getGL2ES3() throws GLException;
+
+ /**
* Casts this object to the GL3ES3 interface.
* @throws GLException if this object is not a GL3ES3 implementation
*/
diff --git a/src/jogl/classes/javax/media/opengl/GLContext.java b/src/jogl/classes/javax/media/opengl/GLContext.java
index 0c5459b57..f6c03b537 100644
--- a/src/jogl/classes/javax/media/opengl/GLContext.java
+++ b/src/jogl/classes/javax/media/opengl/GLContext.java
@@ -1114,6 +1114,15 @@ public abstract class GLContext {
}
/**
+ * Indicates whether this GLContext is capable of GL2ES3. <p>Includes [ GL4bc, GL4, GL3bc, GL3, GLES3, GL3ES3, GL2, GL2GL3 ].</p>
+ * @see GLProfile#isGL3ES3()
+ * @see GLProfile#isGL2GL3()
+ */
+ public final boolean isGL2ES3() {
+ return isGL3ES3() || isGL2GL3();
+ }
+
+ /**
* Indicates whether this GLContext is capable of GL3ES3. <p>Includes [ GL4bc, GL4, GL3bc, GL3, GLES3 ].</p>
* @see GLProfile#isGL3ES3()
*/