[Webkit-unassigned] [Bug 87565] New: [BlackBerry] Update WebPageCompositor::render() API

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri May 25 22:17:01 PDT 2012


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

           Summary: [BlackBerry] Update WebPageCompositor::render() API
           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
                CC: rwlbuis at gmail.com, tonikitoo at webkit.org
        Depends on: 87564


This was several patches internally


2012-04-24  Arvid Nilsson  <anilsson at rim.com>

            Update WebPageCompositor::render() API
            RIM PR #151887

            Now we have a clearer picture of what parameters need to be available
            in order to render the web page.

            Rubber-stamped by Mike Lattanzio and Filip Spacek.

            * Api/WebPageCompositor.cpp:
            (BlackBerry::WebKit::WebPageCompositorPrivate::render):
            (BlackBerry::WebKit::WebPageCompositor::render):
            (WebKit):
            * Api/WebPageCompositor.h:
            * Api/WebPageCompositorClient.h:
            * Api/WebPageCompositor_p.h:
            (WebPageCompositorPrivate):


commit e93e215b039248e18c4ae38432671f3269a8c9cb
Author: Arvid Nilsson <anilsson at rim.com>
Date:   Fri May 4 00:43:15 2012 +0200

    Source/WebKit/blackberry:

    2012-05-03  Arvid Nilsson  <anilsson at rim.com>

            Plumb through new WebPageCompositor parameters to LayerRenderer
            PR #154334

            The new API allows the embedder to specify the root transform and many
            OpenGL related parameters to be used when rendering the web page.

            To honor the transform, we have to implement a way to composite the
            BackingStore output using a generic transform. This method,
            BackingStorePrivate::compositeContents(), uses a strategy that differs
            from blitContents(), because that one is optimized for software
            blitting, while this one is optimized for GPU rendering. Specifically,
            instead of drawing the checkerboard first, and the rendered subregions
            of the tile afterward, we draw the whole tile in one call, and then
            draw checkered regions on top, if any.

            Removed the blit generation condvar from the new code paths for drawing
            BackingStore output using a transform, since the condvar is ineffective
            in preventing flicker when we're not in charge of swapping the window.
            Instead, another synchronization solution will be implemented in the
            future.

            Reviewed by Filip Spacek.

            * Api/BackingStore.cpp:
            (BlackBerry::WebKit::BackingStorePrivate::render):
            (BlackBerry::WebKit::BackingStorePrivate::blitContents):
            (WebKit):
            (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
            * Api/BackingStore_p.h:
            (WebCore):
            (BackingStorePrivate):

            * Api/WebPageCompositor.cpp:
            (BlackBerry::WebKit::WebPageCompositorPrivate::setContext):
            (BlackBerry::WebKit::WebPageCompositorPrivate::setRootLayer):
            (BlackBerry::WebKit::WebPageCompositorPrivate::animationFrameChanged):
            (BlackBerry::WebKit::WebPageCompositorPrivate::prepareFrame):
            (BlackBerry::WebKit::WebPageCompositorPrivate::render):
            (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
            * Api/WebPageCompositor.h:
            * Api/WebPageCompositor_p.h:
            (WebPageCompositorPrivate):
            * WebCoreSupport/ChromeClientBlackBerry.cpp:

    Source/WebCore:

    2012-05-03  Arvid Nilsson  <anilsson at rim.com>

            Plumb through new WebPageCompositor parameters to LayerRenderer
            PR #154334

            The new API allows the embedder to specify the root transform and many
            OpenGL related parameters.

            Also refactor the code to allow several sets of layers to be rendered,
            and to allow interleaving the rendering of layers with rendering of
            buffer and checkerboard.

            Reviewed by Filip Spacek.

            * platform/graphics/blackberry/LayerCompositingThread.cpp:
            (WebCore::LayerCompositingThread::drawTextures):
            (WebCore::LayerCompositingThread::drawSurface):
            * platform/graphics/blackberry/LayerRenderer.cpp:
            (WebCore::LayerRenderer::orthoMatrix):
            (WebCore::LayerRenderer::LayerRenderer):
            (WebCore::LayerRenderer::prepareFrame):
            (WebCore):
            (WebCore::LayerRenderer::setViewport):
            (WebCore::LayerRenderer::compositeLayers):
            (WebCore::LayerRenderer::compositeBuffer):

            (WebCore::LayerRenderer::drawCheckerboardPattern):
            (WebCore::LayerRenderer::drawLayersOnSurfaces):
            (WebCore::LayerRenderer::prepareFrameRecursive):
            (WebCore::LayerRenderer::updateLayersRecursive):
            (WebCore::LayerRenderer::compositeLayersRecursive):
            (WebCore::LayerRenderer::updateScissorIfNeeded):
            (WebCore::LayerRenderingResults::addHolePunchRect):
            * platform/graphics/blackberry/LayerRenderer.h:
            (LayerRenderer):

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