View | Details | Raw Unified | Return to bug 1078
Collapse All | Expand All

(-)a/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java (-2 / +18 lines)
Lines 341-348 Link Here
341
     */
341
     */
342
    public static final int BuggyColorRenderbuffer  = 18;
342
    public static final int BuggyColorRenderbuffer  = 18;
343
343
344
    /**
345
     * Some Intel drivers under Windows wrongly claims to support pbuffers 
346
     * with accumulation buffers. Then, the creation of a pbuffer fails:
347
     * javax.media.opengl.GLException: pbuffer creation error: Couldn't find a suitable pixel format
348
     * <p>
349
     * Appears on:
350
     * <ul>
351
     *   <li>GL_VENDOR       Intel</li>
352
     *   <li>GL_RENDERER     Intel Bear Lake B</li>
353
     *   <li>GL_VERSION      1.4.0 - Build 8.14.10.1930</li>
354
     * </ul>
355
     * 
356
     * </p>
357
     */
358
    public static final int NoPBufferWithAccum = 19;
359
    
344
    /** Number of quirks known. */
360
    /** Number of quirks known. */
345
    public static final int COUNT = 19;
361
    public static final int COUNT = 20;
346
362
347
    private static final String[] _names = new String[] { "NoDoubleBufferedPBuffer", "NoDoubleBufferedBitmap", "NoSetSwapInterval",
363
    private static final String[] _names = new String[] { "NoDoubleBufferedPBuffer", "NoDoubleBufferedBitmap", "NoSetSwapInterval",
348
                                                          "NoOffscreenBitmap", "NoSetSwapIntervalPostRetarget", "GLSLBuggyDiscard",
364
                                                          "NoOffscreenBitmap", "NoSetSwapIntervalPostRetarget", "GLSLBuggyDiscard",
Lines 350-356 Link Here
350
                                                          "NeedCurrCtx4ARBPixFmtQueries", "NeedCurrCtx4ARBCreateContext",
366
                                                          "NeedCurrCtx4ARBPixFmtQueries", "NeedCurrCtx4ARBCreateContext",
351
                                                          "NoFullFBOSupport", "GLSLNonCompliant", "GL4NeedsGL3Request",
367
                                                          "NoFullFBOSupport", "GLSLNonCompliant", "GL4NeedsGL3Request",
352
                                                          "GLSharedContextBuggy", "GLES3ViaEGLES2Config", "SingletonEGLDisplayOnly",
368
                                                          "GLSharedContextBuggy", "GLES3ViaEGLES2Config", "SingletonEGLDisplayOnly",
353
                                                          "NoMultiSamplingBuffers", "BuggyColorRenderbuffer"
369
                                                          "NoMultiSamplingBuffers", "BuggyColorRenderbuffer", "NoPBufferWithAccum"
354
                                                        };
370
                                                        };
355
371
356
    private static final IdentityHashMap<String, GLRendererQuirks> stickyDeviceQuirks = new IdentityHashMap<String, GLRendererQuirks>();
372
    private static final IdentityHashMap<String, GLRendererQuirks> stickyDeviceQuirks = new IdentityHashMap<String, GLRendererQuirks>();
(-)a/src/jogl/classes/jogamp/opengl/GLContextImpl.java (+7 lines)
Lines 1841-1846 Link Here
1841
                quirks.addQuirk( quirk );
1841
                quirks.addQuirk( quirk );
1842
            }
1842
            }
1843
        }
1843
        }
1844
        if (glVendor.equals("Intel") && glRenderer.equals("Intel Bear Lake B")) {
1845
        	final int quirk = GLRendererQuirks.NoPBufferWithAccum;
1846
        	if(DEBUG) {
1847
                System.err.println("Quirk: "+GLRendererQuirks.toString(quirk)+": cause: OS "+Platform.getOSType()+", [Vendor "+glVendor+" and Renderer "+glRenderer+"]");
1848
            }
1849
        	quirks.addQuirk( quirk );
1850
        }
1844
    } else if( Platform.OSType.ANDROID == Platform.getOSType() ) {
1851
    } else if( Platform.OSType.ANDROID == Platform.getOSType() ) {
1845
        //
1852
        //
1846
        // ANDROID
1853
        // ANDROID
(-)a/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java (-2 / +3 lines)
Lines 50-55 Link Here
50
50
51
import com.jogamp.common.nio.Buffers;
51
import com.jogamp.common.nio.Buffers;
52
import com.jogamp.nativewindow.MutableGraphicsConfiguration;
52
import com.jogamp.nativewindow.MutableGraphicsConfiguration;
53
import com.jogamp.opengl.GLRendererQuirks;
53
54
54
import jogamp.nativewindow.windows.DWM_BLURBEHIND;
55
import jogamp.nativewindow.windows.DWM_BLURBEHIND;
55
import jogamp.nativewindow.windows.GDI;
56
import jogamp.nativewindow.windows.GDI;
Lines 476-485 Link Here
476
        }
477
        }
477
        iattributes.put(niattribs++, WGLExt.WGL_DEPTH_BITS_ARB);
478
        iattributes.put(niattribs++, WGLExt.WGL_DEPTH_BITS_ARB);
478
        iattributes.put(niattribs++, caps.getDepthBits());
479
        iattributes.put(niattribs++, caps.getDepthBits());
479
        if (caps.getAccumRedBits()   > 0 ||
480
        if (!sharedResource.getRendererQuirks().exist(GLRendererQuirks.NoPBufferWithAccum) && (caps.getAccumRedBits()   > 0 ||
480
            caps.getAccumGreenBits() > 0 ||
481
            caps.getAccumGreenBits() > 0 ||
481
            caps.getAccumBlueBits()  > 0 ||
482
            caps.getAccumBlueBits()  > 0 ||
482
            caps.getAccumAlphaBits() > 0) {
483
            caps.getAccumAlphaBits() > 0)) {
483
          iattributes.put(niattribs++, WGLExt.WGL_ACCUM_BITS_ARB);
484
          iattributes.put(niattribs++, WGLExt.WGL_ACCUM_BITS_ARB);
484
          iattributes.put(niattribs++, ( caps.getAccumRedBits() +
485
          iattributes.put(niattribs++, ( caps.getAccumRedBits() +
485
                                         caps.getAccumGreenBits() +
486
                                         caps.getAccumGreenBits() +

Return to bug 1078