diff options
author | Sven Gothel <[email protected]> | 2013-04-26 05:38:24 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2013-04-26 05:38:24 +0200 |
commit | 36dc4f5ab6957a4078842c488afb51df2fdc0630 (patch) | |
tree | 5e5629f085f7d244faf1c1e5e15cfe935e87e1b4 /src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java | |
parent | 75b3d37a3b15c071b49609921244bcb62d329fa9 (diff) |
Simplify GLDrawableFactory's SharedResource Query Methods; Move WindowsWGLDrawableFactory Quirks to GLRendererQuirks (NeedCurrCtx4ARBPixFmtQueries, NeedCurrCtx4ARBCreateContext); Bug 706: Confine NeedCurrCtx4ARBCreateContext to [Windows, ATI, driver < 12.102.3); Avoid possible NPE @ GLContext.getGLVendorVersionNumber()
- Simplify GLDrawableFactory's SharedResource Query Methods
- Moving common methods to GLDrawableFactory/GLDrawableFactoryImpl
while reusing common methods to SharedResourceRunner.Resource.
- All factories SharedResources impl. SharedResourceRunner.Resource.
- Move WindowsWGLDrawableFactory Quirks to GLRendererQuirks (NeedCurrCtx4ARBPixFmtQueries, NeedCurrCtx4ARBCreateContext)
- For better maintenance, move the mentioned quirks from the windows factory to our common place,
being detected within GLContextImpl after each context creation.
- Bug 706: Confine NeedCurrCtx4ARBCreateContext to [Windows, ATI, driver < 12.102.3)
- Before we added this quirk if [Windows, ATI],
however, we have hopes that the new drivers will suffice for all
as tested successful on my test machine (AMD Radeon HD 6300M Series, amd_catalyst_13.5_mobility_beta2).
- Avoid possible NPE @ GLContext.getGLVendorVersionNumber()
- GLContext.getGLVendorVersionNumber() never returns 'null' but a zero version instance instead!
- Add API doc.
- Use mixed case names in GLContextImpl.setRendererQuirks(..).
Diffstat (limited to 'src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java')
-rw-r--r-- | src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java | 48 |
1 files changed, 45 insertions, 3 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java b/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java index 4c068414c..01d2b30a0 100644 --- a/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java +++ b/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java @@ -34,6 +34,10 @@ package com.jogamp.opengl; * Using centralized quirk identifier enables us to * locate code dealing w/ it and hence eases it's maintenance. * </p> + * <p> + * <i>Some</i> <code>GL_VENDOR</code> and <code>GL_RENDERER</code> strings are + * listed here <http://feedback.wildfiregames.com/report/opengl/feature/GL_VENDOR>. + * </p> */ public class GLRendererQuirks { /** @@ -92,7 +96,7 @@ public class GLRendererQuirks { * Drivers known exposing such bug: * <ul> * <li>Mesa < 8.0 _with_ X11 software renderer <code>Mesa X11</code>, not with GLX/DRI renderer.</li> - * <li>ATI proprietary Catalyst X11 driver (RENDERER vendor version): + * <li>ATI proprietary Catalyst X11 driver versions: * <ul> * <li>8.78.6</li> * <li>8.881</li> @@ -111,12 +115,50 @@ public class GLRendererQuirks { */ public static final int DontCloseX11Display = 8; + /** + * Need current GL Context when calling new ARB <i>pixel format query</i> functions, + * otherwise driver crashes the VM. + * <p> + * Drivers known exposing such bug: + * <ul> + * <li>ATI proprietary Catalyst driver on Windows version ≤ XP. + * TODO: Validate if bug actually relates to 'old' ATI Windows drivers for old GPU's like X300 + * regardless of the Windows version.</li> + * </ul> + * <p> + * See Bug 480 - https://jogamp.org/bugzilla/show_bug.cgi?id=480 + * </p> + */ + public static final int NeedCurrCtx4ARBPixFmtQueries = 9; + + /** + * Need current GL Context when calling new ARB <i>CreateContext</i> function, + * otherwise driver crashes the VM. + * <p> + * Drivers known exposing such bug: + * <ul> + * <li>ATI proprietary Catalyst Windows driver on laptops with a driver version as reported in <i>GL_VERSION</i>: + * <ul> + * <li> <i>null</i> </li> + * <li> < <code>12.102.3.0</code> ( <i>amd_catalyst_13.5_mobility_beta2</i> ) </li> + * </ul></li> + * </ul> + * </p> + * <p> + * See Bug 706 - https://jogamp.org/bugzilla/show_bug.cgi?id=706<br/> + * See Bug 520 - https://jogamp.org/bugzilla/show_bug.cgi?id=520 + * </p> + */ + public static final int NeedCurrCtx4ARBCreateContext = 10; + + /** Number of quirks known. */ - public static final int COUNT = 9; + public static final int COUNT = 11; private static final String[] _names = new String[] { "NoDoubleBufferedPBuffer", "NoDoubleBufferedBitmap", "NoSetSwapInterval", "NoOffscreenBitmap", "NoSetSwapIntervalPostRetarget", "GLSLBuggyDiscard", - "GLNonCompliant", "GLFlushBeforeRelease", "DontCloseX11Display" + "GLNonCompliant", "GLFlushBeforeRelease", "DontCloseX11Display", + "NeedCurrCtx4ARBPixFmtQueries", "NeedCurrCtx4ARBCreateContext" }; private final int _bitmask; |