[Webkit-unassigned] [Bug 117067] New: [BlackBerry] Accelerated compositing layers that intersect the image plane are incorrectly transformed

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri May 31 03:56:53 PDT 2013


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

           Summary: [BlackBerry] Accelerated compositing layers that
                    intersect the image plane are incorrectly transformed
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKit BlackBerry
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: anilsson at rim.com


The BlackBerry port mathematically projects each corner of each layer bounds rectangle, which gives the wrong results when the layer intersects the image plane.

For display lists, we still get the correct appearance of the layer contents, since the display list results in geometry that's transformed in the vertex shader, on the GPU.

However, the transformed bounds are used for drawing the debug border, performing visibility calculations on the CPU and drawing of WebGL, masks/reflections and filters. Using the mathematical projection of points that lie behind the image plane gives the wrong results. The easiest way to visualise the error is to just enable the debug border and make some layers intersect the image plane, e.g. the clouds on https://developer.mozilla.org/en-US/demos/detail/the-box/launch.

The most important consequence of this bug is that the wrong area of the layer will be considered visible, so a tiled layer will not populate the right tiles (or sometimes, any tiles at all).

However, this is reasonably easy to fix - the recipe can be found in section 6.2 of http://www.w3.org/TR/css3-transforms.

-- 
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