aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java')
-rw-r--r--src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java37
1 files changed, 32 insertions, 5 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java b/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java
index 7b5e6b8f1..335bffb80 100644
--- a/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java
+++ b/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java
@@ -33,9 +33,8 @@ import javax.media.nativewindow.AbstractGraphicsDevice;
import javax.media.opengl.GLCapabilitiesImmutable;
import com.jogamp.common.os.Platform;
-
-import jogamp.opengl.egl.EGL;
-import jogamp.opengl.egl.EGLExt;
+import com.jogamp.opengl.egl.EGL;
+import com.jogamp.opengl.egl.EGLExt;
/**
* GLRendererQuirks contains information of known bugs of various GL renderer.
@@ -395,8 +394,36 @@ public class GLRendererQuirks {
*/
public static final int NeedSharedObjectSync = 20;
+ /**
+ * No support for ES or desktop GL >= 3.0 current context without surface,
+ * i.e. without a default framebuffer as read- and write drawables.
+ * <p>
+ * See <i>OpenGL spec 3.0, chapter 2.1 OpenGL Fundamentals, page 7</i> or<br>
+ * <i>OpenGL ES spec 3.0.2, chapter 2.1 OpenGL Fundamentals, page 6</i>:
+ * <pre>
+ * It is possible to use a GL context without a default framebuffer, in which case
+ * a framebuffer object must be used to perform all rendering. This is useful for
+ * applications neeting to perform offscreen rendering.
+ * </pre>
+ * </p>
+ * <p>
+ * The feature will be attempted at initialization and this quirk will be set if failing.
+ * </p>
+ * <p>
+ * Known drivers failing the specification:
+ * <ul>
+ * <li>GNU/Linux X11 Nvidia proprietary driver
+ * <ul>
+ * <li>GL_VERSION 4.4.0 NVIDIA 340.24</li>
+ * <li>Platform GNU/Linux X11</li>
+ * </ul></li>
+ * </ul>
+ * </p>
+ */
+ public static final int NoSurfacelessCtx = 21;
+
/** Return the number of known quirks. */
- public static final int getCount() { return 21; }
+ public static final int getCount() { return 22; }
private static final String[] _names = new String[] { "NoDoubleBufferedPBuffer", "NoDoubleBufferedBitmap", "NoSetSwapInterval",
"NoOffscreenBitmap", "NoSetSwapIntervalPostRetarget", "GLSLBuggyDiscard",
@@ -405,7 +432,7 @@ public class GLRendererQuirks {
"NoFullFBOSupport", "GLSLNonCompliant", "GL4NeedsGL3Request",
"GLSharedContextBuggy", "GLES3ViaEGLES2Config", "SingletonEGLDisplayOnly",
"NoMultiSamplingBuffers", "BuggyColorRenderbuffer", "NoPBufferWithAccum",
- "NeedSharedObjectSync"
+ "NeedSharedObjectSync", "NoSurfacelessCtx"
};
private static final IdentityHashMap<String, GLRendererQuirks> stickyDeviceQuirks = new IdentityHashMap<String, GLRendererQuirks>();