summaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/com
diff options
context:
space:
mode:
authorMartin Hegedus <[email protected]>2013-04-02 09:31:41 -0700
committerSven Gothel <[email protected]>2013-04-15 15:46:47 +0200
commit5b47372590ec715647ebbd75d70c41ec7a64485a (patch)
tree662ebf0af203cf10a48f66cb9777cf8e9400da6b /src/jogl/classes/com
parent9104faa11c256cbe8687122bba3c54dbb398b4e0 (diff)
Fix Bug 705 - Make Mesa X11 driver < 8.0 use new Quirk DontCloseX11DisplayConnection
Diffstat (limited to 'src/jogl/classes/com')
-rw-r--r--src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java33
1 files changed, 31 insertions, 2 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java b/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java
index 715511d1b..7203ba214 100644
--- a/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java
+++ b/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java
@@ -81,12 +81,41 @@ public class GLRendererQuirks {
*/
public static final int GLFlushBeforeRelease = 7;
+ //
+ // The JVM for the following system crashes on the second call to glXDestroyContext after
+ // XCloseDisplay has been called once.
+ //
+ // The following will crash the system:
+ // XOpenDisplay(A), glXCreateNewContext(A), XOpenDisplay(B), glXCreateNewContext(B),
+ // glXDestroyContext(A/B), XCloseDisplay(A/B), glXDestroyContext(B/A) (crash)
+ //
+ // Dell Latitude D520
+ // Intel(R) Core(TM)2 CPU T7200
+ // i810 Monitor driver
+ // Platform LINUX / Linux 2.6.18.8-0.3-default (os), i386 (arch), GENERIC_ABI, 2 cores
+ // Platform Java Version: 1.6.0_18, VM: Java HotSpot(TM) Server VM, Runtime: Java(TM) SE Runtime Environment
+ // Platform Java Vendor: Sun Microsystems Inc., http://java.sun.com/, JavaSE: true, Java6: true, AWT enabled: true
+ // GL Profile GLProfile[GL2/GL2.sw]
+ // CTX VERSION 2.1 (Compatibility profile, FBO, software) - 2.1 Mesa 7.8.2
+ // GL jogamp.opengl.gl4.GL4bcImpl@472d48
+ // GL_VENDOR Brian Paul
+ // GL_RENDERER Mesa X11
+ // GL_VERSION 2.1 Mesa 7.8.2
+ //
+ // The error can be reproduced using a C code, thus the error is indpendent of Java and JOGL.
+ // The work around is to close all the X11 displays upon exit for a "Mesa X11" version < 8.
+ // At this moment, it is unknown if the error exists in versions greater than 7.
+ //
+ // Martin C. Hegedus, March 30, 2013
+ //
+ public static final int DontCloseX11DisplayConnection = 8;
+
/** Number of quirks known. */
- public static final int COUNT = 8;
+ public static final int COUNT = 9;
private static final String[] _names = new String[] { "NoDoubleBufferedPBuffer", "NoDoubleBufferedBitmap", "NoSetSwapInterval",
"NoOffscreenBitmap", "NoSetSwapIntervalPostRetarget", "GLSLBuggyDiscard",
- "GLNonCompliant", "GLFlushBeforeRelease"
+ "GLNonCompliant", "GLFlushBeforeRelease", "DontCloseX11DisplayConnection"
};
private final int _bitmask;