Bugzilla – Attachment 652 Details for
Bug 1078
No rendering on Intel Q35 Express under Windows 7
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Full patch, working :)
bug1078_patch2.txt (text/plain), 4.27 KB, created by
Julien Gouesse
on 2014-10-01 14:43:02 CEST
(
hide
)
Description:
Full patch, working :)
Filename:
MIME Type:
Creator:
Julien Gouesse
Created:
2014-10-01 14:43:02 CEST
Size:
4.27 KB
patch
obsolete
>diff --git a/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java b/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java >index f81d2f2..2c29885 100644 >--- a/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java >+++ b/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java >@@ -341,8 +341,24 @@ > */ > public static final int BuggyColorRenderbuffer = 18; > >+ /** >+ * Some Intel drivers under Windows wrongly claims to support pbuffers >+ * with accumulation buffers. Then, the creation of a pbuffer fails: >+ * javax.media.opengl.GLException: pbuffer creation error: Couldn't find a suitable pixel format >+ * <p> >+ * Appears on: >+ * <ul> >+ * <li>GL_VENDOR Intel</li> >+ * <li>GL_RENDERER Intel Bear Lake B</li> >+ * <li>GL_VERSION 1.4.0 - Build 8.14.10.1930</li> >+ * </ul> >+ * >+ * </p> >+ */ >+ public static final int NoPBufferWithAccum = 19; >+ > /** Number of quirks known. */ >- public static final int COUNT = 19; >+ public static final int COUNT = 20; > > private static final String[] _names = new String[] { "NoDoubleBufferedPBuffer", "NoDoubleBufferedBitmap", "NoSetSwapInterval", > "NoOffscreenBitmap", "NoSetSwapIntervalPostRetarget", "GLSLBuggyDiscard", >@@ -350,7 +366,7 @@ > "NeedCurrCtx4ARBPixFmtQueries", "NeedCurrCtx4ARBCreateContext", > "NoFullFBOSupport", "GLSLNonCompliant", "GL4NeedsGL3Request", > "GLSharedContextBuggy", "GLES3ViaEGLES2Config", "SingletonEGLDisplayOnly", >- "NoMultiSamplingBuffers", "BuggyColorRenderbuffer" >+ "NoMultiSamplingBuffers", "BuggyColorRenderbuffer", "NoPBufferWithAccum" > }; > > private static final IdentityHashMap<String, GLRendererQuirks> stickyDeviceQuirks = new IdentityHashMap<String, GLRendererQuirks>(); >diff --git a/src/jogl/classes/jogamp/opengl/GLContextImpl.java b/src/jogl/classes/jogamp/opengl/GLContextImpl.java >index 01478a4..f1dee79 100644 >--- a/src/jogl/classes/jogamp/opengl/GLContextImpl.java >+++ b/src/jogl/classes/jogamp/opengl/GLContextImpl.java >@@ -1841,6 +1841,13 @@ > quirks.addQuirk( quirk ); > } > } >+ if (glVendor.equals("Intel") && glRenderer.equals("Intel Bear Lake B")) { >+ final int quirk = GLRendererQuirks.NoPBufferWithAccum; >+ if(DEBUG) { >+ System.err.println("Quirk: "+GLRendererQuirks.toString(quirk)+": cause: OS "+Platform.getOSType()+", [Vendor "+glVendor+" and Renderer "+glRenderer+"]"); >+ } >+ quirks.addQuirk( quirk ); >+ } > } else if( Platform.OSType.ANDROID == Platform.getOSType() ) { > // > // ANDROID >diff --git a/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java b/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java >index 465b5f5..ee868b1 100644 >--- a/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java >+++ b/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java >@@ -50,6 +50,7 @@ > > import com.jogamp.common.nio.Buffers; > import com.jogamp.nativewindow.MutableGraphicsConfiguration; >+import com.jogamp.opengl.GLRendererQuirks; > > import jogamp.nativewindow.windows.DWM_BLURBEHIND; > import jogamp.nativewindow.windows.GDI; >@@ -476,10 +477,10 @@ > } > iattributes.put(niattribs++, WGLExt.WGL_DEPTH_BITS_ARB); > iattributes.put(niattribs++, caps.getDepthBits()); >- if (caps.getAccumRedBits() > 0 || >+ if (!sharedResource.getRendererQuirks().exist(GLRendererQuirks.NoPBufferWithAccum) && (caps.getAccumRedBits() > 0 || > caps.getAccumGreenBits() > 0 || > caps.getAccumBlueBits() > 0 || >- caps.getAccumAlphaBits() > 0) { >+ caps.getAccumAlphaBits() > 0)) { > iattributes.put(niattribs++, WGLExt.WGL_ACCUM_BITS_ARB); > iattributes.put(niattribs++, ( caps.getAccumRedBits() + > caps.getAccumGreenBits() +
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 1078
:
640
|
641
|
642
|
643
|
644
|
645
|
646
|
647
|
648
|
649
|
650
|
651
| 652 |
654
|
655