diff options
author | Sven Gothel <[email protected]> | 2014-03-19 22:35:52 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2014-03-19 22:35:52 +0100 |
commit | 523d1dae2431fdd56d39d3ea06220cfed412a0b5 (patch) | |
tree | a985c47c699dd3229cfbaec65a31e66fdfe61607 /src/jogl/classes/jogamp | |
parent | ba6668b012ab201bc566119a63f45ff70555afbb (diff) |
GLRendererQuirks.NoMultiSamplingBuffers: Prelim detection of this quirk due to Gallium/Nouveau Driver (TODO: Handle it in GLCapabilities Selection)
Diffstat (limited to 'src/jogl/classes/jogamp')
-rw-r--r-- | src/jogl/classes/jogamp/opengl/GLContextImpl.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/jogl/classes/jogamp/opengl/GLContextImpl.java b/src/jogl/classes/jogamp/opengl/GLContextImpl.java index 9ccd78589..04ecba262 100644 --- a/src/jogl/classes/jogamp/opengl/GLContextImpl.java +++ b/src/jogl/classes/jogamp/opengl/GLContextImpl.java @@ -1869,13 +1869,26 @@ public abstract class GLContextImpl extends GLContext { quirks[i++] = quirk; } if( glRenderer.contains( MesaRendererIntelsp ) && - vendorVersion.compareTo(mesaIntelBuggySharedCtx921) >= 0 && isX11 ) { + 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); } quirks[i++] = quirk; } + if( glVendor.contains( "nouveau" ) + // FIXME: && vendorVersion.compareTo(nouveauBuggyMSAAFixed) < 0 + ) { + final int quirk = GLRendererQuirks.NoMultiSamplingBuffers; + if(DEBUG) { + System.err.println("Quirk: "+GLRendererQuirks.toString(quirk)+": cause: X11 / Renderer " + glRenderer + " / Vendor "+glVendor); + } + quirks[i++] = quirk; + if( withinGLVersionsMapping ) { + // Thread safe due to single threaded initialization! + GLRendererQuirks.addStickyDeviceQuirks(adevice, quirks, i-1, 1); + } + } if( isWindows && glRenderer.contains("SVGA3D") ) { final VersionNumber mesaSafeFBOVersion = new VersionNumber(8, 0, 0); if ( vendorVersion.compareTo(mesaSafeFBOVersion) < 0 ) { // includes: vendorVersion.isZero() |