summaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/jogamp/opengl
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2019-08-23 07:28:33 +0200
committerSven Gothel <[email protected]>2019-08-23 07:28:33 +0200
commit70f360d1a58405502a5a2a0f95a2f2abda94d488 (patch)
tree4a94e027f43e94747a0c8bc782fec8d434ef567e /src/jogl/classes/jogamp/opengl
parent21f82eb8b74a60cc8a869e073e124d44c75f217e (diff)
Bug 1385: Limit Quirk GL3CompatNonCompliant to Mesa < 18.2.0
Diffstat (limited to 'src/jogl/classes/jogamp/opengl')
-rw-r--r--src/jogl/classes/jogamp/opengl/GLContextImpl.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/jogl/classes/jogamp/opengl/GLContextImpl.java b/src/jogl/classes/jogamp/opengl/GLContextImpl.java
index 72a6b0b4e..4e7987327 100644
--- a/src/jogl/classes/jogamp/opengl/GLContextImpl.java
+++ b/src/jogl/classes/jogamp/opengl/GLContextImpl.java
@@ -2435,6 +2435,7 @@ public abstract class GLContextImpl extends GLContext {
if( isDriverMesa ) {
final VersionNumber mesaSafeFBOVersion = new VersionNumber(8, 0, 0);
final VersionNumber mesaIntelBuggySharedCtx921 = new VersionNumber(9, 2, 1);
+ final VersionNumber mesaSafeGL3Compat = new VersionNumber(18, 2, 0); // Mesa 18.2.0
final VersionNumber mesaSafeDoubleBufferedPBuffer = new VersionNumber(18, 2, 2); // Mesa 18.2.2
final VersionNumber mesaSafeSetSwapIntervalPostRetarget = mesaSafeDoubleBufferedPBuffer; // Mesa 18.2.2
@@ -2464,8 +2465,8 @@ public abstract class GLContextImpl extends GLContext {
quirks.addQuirk( quirk );
}
}
- if (compatCtx && (hasMajor > 3 || (hasMajor == 3 && hasMinor >= 1))) {
- // FIXME: Apply vendor version constraints!
+ if ( compatCtx && (hasMajor > 3 || (hasMajor == 3 && hasMinor >= 1)) &&
+ vendorVersion.compareTo(mesaSafeGL3Compat) < 0 ) {
final int quirk = GLRendererQuirks.GL3CompatNonCompliant;
if(DEBUG) {
System.err.println("Quirk: "+GLRendererQuirks.toString(quirk)+": cause: Renderer " + glRenderer);
@@ -2473,7 +2474,7 @@ public abstract class GLContextImpl extends GLContext {
quirks.addQuirk( quirk );
}
if( glRenderer.contains( MesaRendererIntelsp ) &&
- vendorVersion.compareTo(mesaIntelBuggySharedCtx921) >= 0 && isX11 ) { // FIXME: When is it fixed ?
+ vendorVersion.compareTo(mesaIntelBuggySharedCtx921) >= 0 && isX11 ) { // FIXME: When is it fixed ??
final int quirk = GLRendererQuirks.GLSharedContextBuggy;
if(DEBUG) {
System.err.println("Quirk: "+GLRendererQuirks.toString(quirk)+": cause: X11 / Renderer " + glRenderer + " / Mesa-Version "+vendorVersion);