diff options
author | Sven Gothel <[email protected]> | 2019-08-23 07:28:33 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2019-08-23 07:28:33 +0200 |
commit | 70f360d1a58405502a5a2a0f95a2f2abda94d488 (patch) | |
tree | 4a94e027f43e94747a0c8bc782fec8d434ef567e | |
parent | 21f82eb8b74a60cc8a869e073e124d44c75f217e (diff) |
Bug 1385: Limit Quirk GL3CompatNonCompliant to Mesa < 18.2.0
-rw-r--r-- | src/jogl/classes/jogamp/opengl/GLContextImpl.java | 7 |
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); |