Changes between Version 34 and Version 35 of CoordinatedGraphicsSystem


Ignore:
Timestamp:
Mar 7, 2017 9:36:33 AM (7 years ago)
Author:
Konstantin Tokarev
Comment:

LayerTreeRenderer was renamed to CoordinatedGraphicsScene

Legend:

Unmodified
Added
Removed
Modified
  • CoordinatedGraphicsSystem

    v34 v35  
    143143'''[/browser/trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp CoordinatedLayerTreeHostProxy]''' is what binds together the viewport, the GPU renderer and the contents. It doesn't have functionality of its own, instead it acts as a message hub between those components.
    144144
    145 '''[/browser/trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp LayerTreeRenderer]''' is the class that knows how to turn serialized information from the web process and viewport information from the view classes into a GPU-renderable tree of TextureMapperLayers. It maintains a map of layer IDs to layers,
     145'''[/browser/trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp CoordinatedGraphicsScene]''' is the class that knows how to turn serialized information from the web process and viewport information from the view classes into a GPU-renderable tree of TextureMapperLayers. It maintains a map of layer IDs to layers,
    146146
    147147
     
    194194== [#=QtScenegraph QtScenegraph integration] ==
    195195To integrate WebKit coordinated graphics with the QtScenegraph, the following main things were necessary:
    196 1. Making LayerTreeRenderer thread-safe, so it can run in QtScenegraph's rendering thread.
     1961. Making CoordinatedGraphicsScene thread-safe, so it can run in QtScenegraph's rendering thread.
    1971971. Use a private API from QtScenegraph (QSGRenderNode) which allows us to render WebKit's layer tree without rendering into an intermediate FBO.
    1981981. Synchronize the remote content coming from the UI process at a time that is right for QtScenegraph.
    199 1. Propagate the clipping, transform and opacity attributes from QtScenegraph to LayerTreeRenderer.
     1991. Propagate the clipping, transform and opacity attributes from QtScenegraph to CoordinatedGraphicsScene.
    2002001. Render the view's background.
    201201
    202 The class that handles most of this is [/browser/trunk/Source/WebKit2/UIProcess/qt/QtWebPageSGNode.cpp  QtWebPageSGNode]. Its main function, “render”, is used to translate QtScenegraph parameters to LayerTreeRenderer parameters. The SG node contains 3 nodes - a root node that controls the viewport transform, a background node, and a custom contents node which renders the actual web contents using LayerTreeRenderer.
     202The class that handles most of this is [/browser/trunk/Source/WebKit2/UIProcess/qt/QtWebPageSGNode.cpp  QtWebPageSGNode]. Its main function, “render”, is used to translate QtScenegraph parameters to CoordinatedGraphicsScene parameters. The SG node contains 3 nodes - a root node that controls the viewport transform, a background node, and a custom contents node which renders the actual web contents using CoordinatedGraphicsScene.
    203203Some other functionality is in QQuickWebPage::updatePaintNode.
    204204