[BlackBerry] Accelerated compositing layers fail to render when using WebPageCompositor
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 25 Mar 2012 12:16:02 +0000 (12:16 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 25 Mar 2012 12:16:02 +0000 (12:16 +0000)
commit8efe27b011bfc7cb72123b32ccf1b7aaa11d65f0
tree734a1cd250bb5cc91fa1e5703774faae31a5a5d8
parentf7ce830ec3a18f607f0a20daa4601d56084725b5
[BlackBerry] Accelerated compositing layers fail to render when using WebPageCompositor
https://bugs.webkit.org/show_bug.cgi?id=82104
RIM PR: 145963

Patch by Arvid Nilsson <anilsson@rim.com> on 2012-03-25
Reviewed by Rob Buis.

Source/WebCore:

The embedder may use vertex buffers, which affected the interpretation
our vertex array pointers from memory pointers to offsets into a vertex
buffer. The resulting geometry often resulted in no visible layers on
screen.

Fixed by getting rid of any bound buffer when we enter
LayerRenderer::drawLayers().

* platform/graphics/blackberry/LayerRenderer.cpp:
(WebCore::LayerRenderer::drawLayers):

Source/WebKit/blackberry:

The root layer may be set before we have a layer renderer, because the
latter is not created until we get an OpenGL context from the embedder.

Fixed by setting the root layer on the layer renderer when it's created
instead of assuming a certain order of events.

* Api/WebPageCompositor.cpp:
(BlackBerry::WebKit::WebPageCompositorPrivate::setContext):
(BlackBerry::WebKit::WebPageCompositorPrivate::setRootLayer):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112026 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/blackberry/LayerRenderer.cpp
Source/WebKit/blackberry/Api/WebPageCompositor.cpp
Source/WebKit/blackberry/ChangeLog