From b7f673dad7025400e445e8796305a3ea6b7c1679 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Fri, 24 Jan 2014 05:01:40 +0100 Subject: Bug 950 - Recognize full FBO capabilities for ES 3.0 - [GLContext|GL].hasFullFBOSupport() == true OpenGL ES 3.0 supports full framebuffer operations, incl. multiple color-attachments and multisample. Hence [GLContext|GL].hasFullFBOSupport() shall returns true w/ a ES 3.0 context. --- src/jogl/classes/javax/media/opengl/GLContext.java | 24 +++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'src/jogl/classes/javax/media/opengl/GLContext.java') diff --git a/src/jogl/classes/javax/media/opengl/GLContext.java b/src/jogl/classes/javax/media/opengl/GLContext.java index 0b0ed8e0d..9245d10c2 100644 --- a/src/jogl/classes/javax/media/opengl/GLContext.java +++ b/src/jogl/classes/javax/media/opengl/GLContext.java @@ -883,7 +883,7 @@ public abstract class GLContext { /** * Returns true if basic FBO support is available, otherwise false. *

- * Basic FBO is supported if the context is either GL-ES >= 2.0, GL >= core 3.0 or implements the extensions + * Basic FBO is supported if the context is either GL-ES >= 2.0, GL >= 3.0 [core, compat] or implements the extensions * GL_ARB_ES2_compatibility, GL_ARB_framebuffer_object, GL_EXT_framebuffer_object or GL_OES_framebuffer_object. *

*

@@ -896,19 +896,10 @@ public abstract class GLContext { return 0 != ( ctxOptions & CTX_IMPL_FBO ) ; } - /** - * Returns true if OES_single_precision, fp32, fixed function point (FFP) compatibility entry points available, - * otherwise false. - * @see #CTX_IMPL_FP32_COMPAT_API - */ - public final boolean hasFP32CompatAPI() { - return 0 != ( ctxOptions & CTX_IMPL_FP32_COMPAT_API ) ; - } - /** * Returns true if full FBO support is available, otherwise false. *

- * Full FBO is supported if the context is either GL >= core 3.0 or implements the extensions + * Full FBO is supported if the context is either GL >= 3.0 [ES, core, compat] or implements the extensions * ARB_framebuffer_object, or all of * EXT_framebuffer_object, EXT_framebuffer_multisample, * EXT_framebuffer_blit, GL_EXT_packed_depth_stencil. @@ -919,7 +910,7 @@ public abstract class GLContext { */ public final boolean hasFullFBOSupport() { return hasBasicFBOSupport() && !hasRendererQuirk(GLRendererQuirks.NoFullFBOSupport) && - ( isGL3() || // GL >= 3.0 + ( isGL3ES3() || // GL >= 3.0 [ES, core, compat] isExtensionAvailable(GLExtensions.ARB_framebuffer_object) || // ARB_framebuffer_object ( isExtensionAvailable(GLExtensions.EXT_framebuffer_object) && // All EXT_framebuffer_object* isExtensionAvailable(GLExtensions.EXT_framebuffer_multisample) && @@ -929,6 +920,15 @@ public abstract class GLContext { ) ; } + /** + * Returns true if OES_single_precision, fp32, fixed function point (FFP) compatibility entry points available, + * otherwise false. + * @see #CTX_IMPL_FP32_COMPAT_API + */ + public final boolean hasFP32CompatAPI() { + return 0 != ( ctxOptions & CTX_IMPL_FP32_COMPAT_API ) ; + } + /** * Returns the maximum number of FBO RENDERBUFFER samples * if {@link #hasFullFBOSupport() full FBO is supported}, otherwise false. -- cgit v1.2.3