[Webkit-unassigned] [Bug 85338] New: Enforce alpha:false and depth:false more consistently

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue May 1 19:09:24 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=85338

           Summary: Enforce alpha:false and depth:false more consistently
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebGL
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: kbr at google.com
                CC: dino at apple.com, zmo at google.com, gman at google.com,
                    twiz at chromium.org
        Depends on: 85317


WebKit's WebGL implementation currently relies heavily on the OpenGL driver to provide certain behavior, such as when the developer requests that the alpha channel be disabled for the back buffer, or no depth buffer be provided.

Gregg Tavares went to great lengths in Chromium to avoid running into driver bugs in these areas. For example, if the user requests no alpha channel, his code will always allocate an RGBA texture, but do tricks with the color mask and clear color to ensure that its alpha channel is always populated with 0xFF. These workarounds were motivated by driver bugs encountered in real applications; see for example Bug 61091. Unfortunately, Gregg's workarounds were lost when moving WebKit's WebGL implementation to use a user-allocated FBO (in DrawingBuffer) for its rendering results.

Bug 85317 restores the behavior for the stencil buffer. For best robustness, similar code is needed for the color mask, depth mask and other state. See ApplyDirtyState in http://src.chromium.org/viewvc/chrome/trunk/src/gpu/command_buffer/service/gles2_cmd_decoder.cc . This code should be added to WebGLRenderingContext and other classes to apply to all WebKit ports.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list