From a053732720628d57d38bda401053833259bf1657 Mon Sep 17 00:00:00 2001
From: Juan Camilo Prada
* Mesa >= 9.0 (?), Intel driver, OpenGL 3.1 compatibility context is not compliant:
*
- * GL_RENDERER: Mesa DRI Intel(R) Sandybridge Desktop
+ * GL_RENDERER: 'Mesa .* Intel(R) Sandybridge Desktop'
+ *
+ *
+ * Mesa >= 9.0 (?), AMD driver, OpenGL 3.1 core and compatibility context is not compliant: + *
+ * GL_RENDERER: 'Gallium 0.4 on AMD RS880' ** */ -- cgit v1.2.3 From 1455848398ccdfa89ec9f19379c5dcaed8198e28 Mon Sep 17 00:00:00 2001 From: Mark Raynsford Date: Tue, 2 Jul 2013 16:40:56 +0000 Subject: Bug 759: Currently, the compatibility context on Mesa >= 9.1.3 seems to be very broken. The core contexts, however, seem to be quite stable. This commit both reduces and widens the scope of the current Mesa quirk to include only Compatibility contexts on OpenGL > 3 || 3.n where n >= 1. --- src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java | 13 +++---------- src/jogl/classes/jogamp/opengl/GLContextImpl.java | 6 +++--- 2 files changed, 6 insertions(+), 13 deletions(-) (limited to 'src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java') diff --git a/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java b/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java index 9fe74ee97..b119c62c9 100644 --- a/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java +++ b/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java @@ -71,16 +71,9 @@ public class GLRendererQuirks { /** * Non compliant GL context due to a buggy implementation not suitable for use. *
- * Mesa >= 9.0 (?), Intel driver, OpenGL 3.1 compatibility context is not compliant: - *
- * GL_RENDERER: 'Mesa .* Intel(R) Sandybridge Desktop' - *- * - *
- * Mesa >= 9.0 (?), AMD driver, OpenGL 3.1 core and compatibility context is not compliant: - *
- * GL_RENDERER: 'Gallium 0.4 on AMD RS880' - *+ * Currently, Mesa >= 9.1.3 (may extend back as far as 9.0) OpenGL 3.1 compatibility + * context is not compliant. Most programs will give completely broken output (or no + * output at all. For now, this context is not trusted. * */ public static final int GLNonCompliant = 6; diff --git a/src/jogl/classes/jogamp/opengl/GLContextImpl.java b/src/jogl/classes/jogamp/opengl/GLContextImpl.java index d6f97662e..fea2c24a8 100644 --- a/src/jogl/classes/jogamp/opengl/GLContextImpl.java +++ b/src/jogl/classes/jogamp/opengl/GLContextImpl.java @@ -1649,16 +1649,16 @@ public abstract class GLContextImpl extends GLContext { } quirks[i++] = quirk; } - if( ( (glRenderer.contains( MesaRendererIntelsp ) && compatCtx) || glRenderer.contains( MesaRendererAMDsp ) ) && - ( major > 3 || major == 3 && minor >= 1 ) - ) + if(glRenderer.contains( MesaSP )) { + if (compatCtx && (major > 3 || (major == 3 && minor >= 1))) { // FIXME: Apply vendor version constraints! final int quirk = GLRendererQuirks.GLNonCompliant; if(DEBUG) { System.err.println("Quirk: "+GLRendererQuirks.toString(quirk)+": cause: Renderer " + glRenderer); } quirks[i++] = quirk; + } } if( Platform.getOSType() == Platform.OSType.WINDOWS && glRenderer.contains("SVGA3D") ) { -- cgit v1.2.3 From 238e2482fa6129418189458405ae2622987cd02e Mon Sep 17 00:00:00 2001 From: Sven Gothel
+ * It still has to be verified whether the AMD OpenGL 3.1 core driver is compliant enought. */ public static final int GLNonCompliant = 6; -- cgit v1.2.3