Changeset 124989 in webkit


Ignore:
Timestamp:
Aug 7, 2012 10:38:28 PM (12 years ago)
Author:
commit-queue@webkit.org
Message:

[WK2][EFL] Implement accelerated compositing on WK2 Efl port
https://bugs.webkit.org/show_bug.cgi?id=89840

Patch by YoungTaeck Song <youngtaeck.song@samsung.com> on 2012-08-07
Reviewed by Noam Rosenthal.

.:

Implement accelerated composition with TiledBackingStore on WK2 Efl port.
This implementation is based on COORDINATED_GRAPHICS.
Add COORDINATED_GRAPHICS related definitions in OptionsEfl.cmake.

  • Source/cmake/OptionsEfl.cmake:

Source/WebKit2:

Implement accelerated composition with TiledBackingStore on WK2 Efl port.
This implementation is based on COORDINATED_GRAPHICS.

  • CMakeLists.txt:
  • PlatformEfl.cmake:
  • Shared/ShareableSurface.cpp:
  • Shared/WebCoreArgumentCoders.cpp:
  • Shared/WebCoreArgumentCoders.h:
  • UIProcess/API/efl/PageClientImpl.cpp:

(WebKit::PageClientImpl::PageClientImpl):
(WebKit::PageClientImpl::didChangeContentsSize):
(WebKit):

  • UIProcess/API/efl/PageClientImpl.h:

(PageClientImpl):

  • UIProcess/API/efl/ViewportProcessor.cpp: Added.

(WebKit):
(WebKit::ViewportProcessor::ViewportProcessor):
(WebKit::ViewportProcessor::~ViewportProcessor):
(WebKit::ViewportProcessor::display):
(WebKit::ViewportProcessor::updateViewportSize):
(WebKit::ViewportProcessor::setVisibleContentsRect):
(WebKit::ViewportProcessor::didChangeContentsSize):

  • UIProcess/API/efl/ViewportProcessor.h: Added.

(WebKit):
(ViewportProcessor):
(WebKit::ViewportProcessor::create):
(WebKit::ViewportProcessor::drawingArea):
(WebKit::ViewportProcessor::viewSize):

  • UIProcess/API/efl/ewk_view.cpp:

(_Ewk_View_Private_Data):
(_ewk_view_smart_calculate):
(ewk_view_base_add):
(ewk_view_display):
(ewk_view_contents_size_changed):

  • UIProcess/API/efl/ewk_view_private.h:
  • UIProcess/PageClient.h:

(PageClient):

  • UIProcess/WebPageProxy.cpp:

(WebKit):
(WebKit::WebPageProxy::didChangeContentsSize):

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
  • WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h:
  • WebProcess/WebPage/LayerTreeHost.cpp:

(WebKit::LayerTreeHost::create):

  • WebProcess/WebPage/LayerTreeHost.h:

(WebKit):

  • WebProcess/efl/WebProcessMainEfl.cpp:

(WebKit::WebProcessMainEfl):

Tools:

Implement accelerated composition with TiledBackingStore on WK2 Efl port.
Add OPENGL_LIBRARIES in CMakeList.txt.

  • MiniBrowser/efl/CMakeLists.txt:
  • WebKitTestRunner/PlatformEfl.cmake:
Location:
trunk
Files:
1 added
25 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r124889 r124989  
     12012-08-07  YoungTaeck Song  <youngtaeck.song@samsung.com>
     2
     3        [WK2][EFL] Implement accelerated compositing on WK2 Efl port
     4        https://bugs.webkit.org/show_bug.cgi?id=89840
     5
     6        Reviewed by Noam Rosenthal.
     7
     8        Implement accelerated composition with TiledBackingStore on WK2 Efl port.
     9        This implementation is based on COORDINATED_GRAPHICS.
     10        Add COORDINATED_GRAPHICS related definitions in OptionsEfl.cmake.
     11
     12        * Source/cmake/OptionsEfl.cmake:
     13
    1142012-08-07  No'am Rosenthal  <noam.rosenthal@nokia.com>
    215
  • trunk/Source/WebKit2/CMakeLists.txt

    r124701 r124989  
    1616    "${WEBKIT2_DIR}/UIProcess/API/cpp"
    1717    "${WEBKIT2_DIR}/UIProcess/Authentication"
     18    "${WEBKIT2_DIR}/UIProcess/CoordinatedGraphics"
    1819    "${WEBKIT2_DIR}/UIProcess/Downloads"
    1920    "${WEBKIT2_DIR}/UIProcess/Launcher"
     
    4344    "${WEBKIT2_DIR}/WebProcess/WebCoreSupport"
    4445    "${WEBKIT2_DIR}/WebProcess/WebPage"
     46    "${WEBKIT2_DIR}/WebProcess/WebPage/CoordinatedGraphics"
    4547    "${WEBCORE_DIR}"
    4648    "${WEBCORE_DIR}/Modules/battery"
     
    7274    "${WEBCORE_DIR}/platform/graphics/harfbuzz"
    7375    "${WEBCORE_DIR}/platform/graphics/harfbuzz/ng"
     76    "${WEBCORE_DIR}/platform/graphics/surfaces"
     77    "${WEBCORE_DIR}/platform/graphics/texmap"
    7478    "${WEBCORE_DIR}/platform/graphics/transforms"
    7579    "${WEBCORE_DIR}/platform/network"
     
    142146    Shared/SessionState.cpp
    143147    Shared/ShareableBitmap.cpp
     148    Shared/ShareableSurface.cpp
    144149    Shared/StatisticsData.cpp
     150    Shared/SurfaceUpdateInfo.cpp
    145151    Shared/UpdateInfo.cpp
    146152    Shared/VisitedLinkTable.cpp
     
    324330    UIProcess/Authentication/WebProtectionSpace.cpp
    325331
     332    UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp
    326333    UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp
    327334    UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp
     
    462469    WebProcess/WebPage/PageOverlay.cpp
    463470    WebProcess/WebPage/TapHighlightController.cpp
     471    WebProcess/WebPage/UpdateAtlas.cpp
    464472    WebProcess/WebPage/WebBackForwardListProxy.cpp
    465473    WebProcess/WebPage/WebContextMenu.cpp
     
    473481    WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp
    474482    WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp
     483    WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp
    475484)
    476485
  • trunk/Source/WebKit2/ChangeLog

    r124923 r124989  
     12012-08-07  YoungTaeck Song  <youngtaeck.song@samsung.com>
     2
     3        [WK2][EFL] Implement accelerated compositing on WK2 Efl port
     4        https://bugs.webkit.org/show_bug.cgi?id=89840
     5
     6        Reviewed by Noam Rosenthal.
     7
     8        Implement accelerated composition with TiledBackingStore on WK2 Efl port.
     9        This implementation is based on COORDINATED_GRAPHICS.
     10
     11        * CMakeLists.txt:
     12        * PlatformEfl.cmake:
     13        * Shared/ShareableSurface.cpp:
     14        * Shared/WebCoreArgumentCoders.cpp:
     15        * Shared/WebCoreArgumentCoders.h:
     16        * UIProcess/API/efl/PageClientImpl.cpp:
     17        (WebKit::PageClientImpl::PageClientImpl):
     18        (WebKit::PageClientImpl::didChangeContentsSize):
     19        (WebKit):
     20        * UIProcess/API/efl/PageClientImpl.h:
     21        (PageClientImpl):
     22        * UIProcess/API/efl/ViewportProcessor.cpp: Added.
     23        (WebKit):
     24        (WebKit::ViewportProcessor::ViewportProcessor):
     25        (WebKit::ViewportProcessor::~ViewportProcessor):
     26        (WebKit::ViewportProcessor::display):
     27        (WebKit::ViewportProcessor::updateViewportSize):
     28        (WebKit::ViewportProcessor::setVisibleContentsRect):
     29        (WebKit::ViewportProcessor::didChangeContentsSize):
     30        * UIProcess/API/efl/ViewportProcessor.h: Added.
     31        (WebKit):
     32        (ViewportProcessor):
     33        (WebKit::ViewportProcessor::create):
     34        (WebKit::ViewportProcessor::drawingArea):
     35        (WebKit::ViewportProcessor::viewSize):
     36        * UIProcess/API/efl/ewk_view.cpp:
     37        (_Ewk_View_Private_Data):
     38        (_ewk_view_smart_calculate):
     39        (ewk_view_base_add):
     40        (ewk_view_display):
     41        (ewk_view_contents_size_changed):
     42        * UIProcess/API/efl/ewk_view_private.h:
     43        * UIProcess/PageClient.h:
     44        (PageClient):
     45        * UIProcess/WebPageProxy.cpp:
     46        (WebKit):
     47        (WebKit::WebPageProxy::didChangeContentsSize):
     48        * UIProcess/WebPageProxy.h:
     49        (WebPageProxy):
     50        * UIProcess/WebPageProxy.messages.in:
     51        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
     52        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h:
     53        * WebProcess/WebPage/LayerTreeHost.cpp:
     54        (WebKit::LayerTreeHost::create):
     55        * WebProcess/WebPage/LayerTreeHost.h:
     56        (WebKit):
     57        * WebProcess/efl/WebProcessMainEfl.cpp:
     58        (WebKit::WebProcessMainEfl):
     59
    1602012-08-07  Csaba Osztrogonác  <ossy@webkit.org>
    261
  • trunk/Source/WebKit2/PlatformEfl.cmake

    r124875 r124989  
    3939
    4040    UIProcess/API/efl/BatteryProvider.cpp
     41    UIProcess/API/efl/EflViewportHandler.cpp
    4142    UIProcess/API/efl/NetworkInfoProvider.cpp
    4243    UIProcess/API/efl/PageClientImpl.cpp
     
    152153    ${Freetype_LIBRARIES}
    153154    ${LIBXML2_LIBRARIES}
     155    ${OPENGL_LIBRARIES}
    154156    ${SQLITE_LIBRARIES}
    155157    ${FONTCONFIG_LIBRARIES}
     
    173175    ${LIBXML2_LIBRARIES}
    174176    ${LIBXSLT_LIBRARIES}
     177    ${OPENGL_LIBRARIES}
    175178    ${SQLITE_LIBRARIES}
    176179)
  • trunk/Source/WebKit2/Shared/ShareableSurface.cpp

    r122554 r124989  
    2121#include "ShareableSurface.h"
    2222
     23#include "GraphicsContext.h"
    2324#include "WebCoreArgumentCoders.h"
    2425
  • trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp

    r124701 r124989  
    5050#include <WebCore/Animation.h>
    5151#include <WebCore/FloatPoint3D.h>
     52#include <WebCore/Length.h>
    5253#include <WebCore/TransformationMatrix.h>
    5354
  • trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.h

    r124701 r124989  
    6868#endif
    6969
    70 #if PLATFORM(QT)
    71 namespace WebCore {
    72     class Animation;
     70#if USE(COORDINATED_GRAPHICS)
     71namespace WebCore {
    7372    class FloatPoint3D;
    74     class Matrix3DTransformOperation;
    75     class MatrixTransformOperation;
    76     class PerspectiveTransformOperation;
    77     class RotateTransformOperation;
    78     class ScaleTransformOperation;
    79     class SkewTransformOperation;
    80     class TimingFunction;
    81     class TransformOperation;
    82     class TransformOperations;
    8373    class TransformationMatrix;
    84     class TranslateTransformOperation;
    8574    struct Length;
    8675}
    87 #endif
    88 
    89 #if USE(COORDINATED_GRAPHICS) && ENABLE(CSS_FILTERS)
     76
     77#if ENABLE(CSS_FILTERS)
    9078namespace WebCore {
    9179    class FilterOperations;
    9280}
     81#endif
    9382#endif
    9483
  • trunk/Source/WebKit2/UIProcess/API/efl/EflViewportHandler.h

    r124988 r124989  
    11/*
    2  * Copyright (C) 2011 Apple Inc. All rights reserved.
     2 * Copyright (C) 2012 Samsung Electronics. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2424 */
    2525
    26 #include "config.h"
    27 #include "LayerTreeHost.h"
     26#ifndef EflViewportHandler_h
     27#define EflViewportHandler_h
    2828
    29 #if USE(CA)
    30 #if PLATFORM(MAC)
    31 #include "LayerTreeHostCAMac.h"
    32 #elif PLATFORM(WIN)
    33 #include "LayerTreeHostCAWin.h"
    34 #endif
    35 #endif
     29#if USE(COORDINATED_GRAPHICS)
    3630
    37 #if PLATFORM(QT)
    38 #include "LayerTreeCoordinator.h"
    39 #endif
    40 
    41 #if PLATFORM(GTK) && USE(TEXTURE_MAPPER_GL)
    42 #include "LayerTreeHostGtk.h"
    43 #endif
    44 
    45 using namespace WebCore;
     31#include "PageClientImpl.h"
     32#include <wtf/PassOwnPtr.h>
    4633
    4734namespace WebKit {
    4835
    49 PassRefPtr<LayerTreeHost> LayerTreeHost::create(WebPage* webPage)
    50 {
    51 #if PLATFORM(MAC)
    52     return LayerTreeHostCAMac::create(webPage);
    53 #elif PLATFORM(WIN) && HAVE(WKQCA)
    54     return LayerTreeHostCAWin::create(webPage);
    55 #elif PLATFORM(QT)
    56     return LayerTreeCoordinator::create(webPage);
    57 #elif PLATFORM(GTK) && USE(TEXTURE_MAPPER_GL)
    58     return LayerTreeHostGtk::create(webPage);
    59 #else
    60     return 0;
    61 #endif
    62 }
     36class EflViewportHandler {
     37public:
     38    static PassOwnPtr<EflViewportHandler> create(PageClientImpl* pageClientImpl)
     39    {
     40        return adoptPtr(new EflViewportHandler(pageClientImpl));
     41    }
     42    ~EflViewportHandler();
    6343
    64 LayerTreeHost::LayerTreeHost(WebPage* webPage)
    65     : m_webPage(webPage)
    66 {
    67 }
     44    DrawingAreaProxy* drawingArea() const { return m_pageClientImpl->page()->drawingArea(); }
     45    WebCore::IntSize viewSize() { return m_viewportSize; }
    6846
    69 LayerTreeHost::~LayerTreeHost()
    70 {
    71 }
     47    void display(const WebCore::IntRect& rect);
     48    void updateViewportSize(const WebCore::IntSize& viewportSize);
     49    void setVisibleContentsRect(const WebCore::IntPoint&, float, const WebCore::FloatPoint&);
     50    void didChangeContentsSize(const WebCore::IntSize& size);
     51
     52private:
     53    explicit EflViewportHandler(PageClientImpl*);
     54
     55    PageClientImpl* m_pageClientImpl;
     56    WebCore::IntRect m_visibleContentRect;
     57    WebCore::IntSize m_contentsSize;
     58    WebCore::IntSize m_viewportSize;
     59    float m_scaleFactor;
     60};
    7261
    7362} // namespace WebKit
     63
     64#endif
     65
     66#endif // EflViewportHandler_h
  • trunk/Source/WebKit2/UIProcess/API/efl/PageClientImpl.cpp

    r123998 r124989  
    3232#include "WebContext.h"
    3333#include "WebContextMenuProxy.h"
     34#include "WebPageGroup.h"
    3435#include "WebPageProxy.h"
     36#include "WebPreferences.h"
    3537#include "ewk_context.h"
    3638#include "ewk_context_private.h"
     
    4749{
    4850    m_page = context->createWebPage(this, pageGroup);
     51
     52#if USE(COORDINATED_GRAPHICS)
     53    m_page->pageGroup()->preferences()->setAcceleratedCompositingEnabled(true);
     54    m_page->pageGroup()->preferences()->setForceCompositingMode(true);
     55    m_page->setUseFixedLayout(true);
     56#endif
     57
    4958    m_page->initializeWebPage();
    5059}
     
    296305#endif
    297306
     307void PageClientImpl::didChangeContentsSize(const WebCore::IntSize& size)
     308{
     309    ewk_view_contents_size_changed(m_viewWidget, size);
     310}
     311
    298312} // namespace WebKit
  • trunk/Source/WebKit2/UIProcess/API/efl/PageClientImpl.h

    r123998 r124989  
    113113#endif
    114114
     115    virtual void didChangeContentsSize(const WebCore::IntSize&);
     116
    115117private:
    116118    RefPtr<WebPageProxy> m_page;
  • trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp

    r124875 r124989  
    5454#endif
    5555
     56#if USE(COORDINATED_GRAPHICS)
     57#include "EflViewportHandler.h"
     58#endif
     59
    5660using namespace WebKit;
    5761using namespace WebCore;
     
    6670struct _Ewk_View_Private_Data {
    6771    OwnPtr<PageClientImpl> pageClient;
     72#if USE(COORDINATED_GRAPHICS)
     73    OwnPtr<EflViewportHandler> viewportHandler;
     74#endif
     75
    6876    const char* uri;
    6977    const char* title;
     
    531539
    532540    if (smartData->changed.size) {
     541#if USE(COORDINATED_GRAPHICS)
     542        priv->viewportHandler->updateViewportSize(IntSize(width, height));
     543#endif
     544
    533545        if (priv->pageClient->page()->drawingArea())
    534546            priv->pageClient->page()->drawingArea()->setSize(IntSize(width, height), IntSize());
     
    683695    ewk_view_theme_set(ewkView, DEFAULT_THEME_PATH"/default.edj");
    684696
     697#if USE(COORDINATED_GRAPHICS)
     698    priv->viewportHandler = EflViewportHandler::create(priv->pageClient.get());
     699#endif
     700
    685701    return ewkView;
    686702}
     
    10431059    if (!smartData->image)
    10441060        return;
     1061
     1062#if USE(COORDINATED_GRAPHICS)
     1063    EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
     1064
     1065    evas_gl_make_current(priv->evasGl, priv->evasGlSurface, priv->evasGlContext);
     1066    priv->viewportHandler->display(rect);
     1067#endif
    10451068
    10461069    evas_object_image_data_update_add(smartData->image, rect.x(), rect.y(), rect.width(), rect.height());
     
    13771400    return true;
    13781401}
     1402
     1403void ewk_view_contents_size_changed(const Evas_Object* ewkView, const IntSize& size)
     1404{
     1405#if USE(COORDINATED_GRAPHICS)
     1406    EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
     1407    EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
     1408
     1409    priv->viewportHandler->didChangeContentsSize(size);
     1410#endif
     1411}
  • trunk/Source/WebKit2/UIProcess/API/efl/ewk_view_private.h

    r124864 r124989  
    7171void ewk_view_resource_request_sent(Evas_Object* ewkView, uint64_t resourceIdentifier, Ewk_Url_Request* request, Ewk_Url_Response* redirectResponse);
    7272void ewk_view_text_found(Evas_Object* ewkView, unsigned int matchCount);
     73void ewk_view_contents_size_changed(const Evas_Object* ewkView, const WebCore::IntSize&);
    7374
    7475Evas_Object* ewk_view_base_add(Evas* canvas, WKContextRef, WKPageGroupRef);
  • trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h

    r124805 r124989  
    3737#include <wtf/HashSet.h>
    3838
     39#if PLATFORM(QT)
    3940QT_BEGIN_NAMESPACE
    4041class QSGNode;
    4142QT_END_NAMESPACE
     43#endif
    4244
    4345namespace WebKit {
  • trunk/Source/WebKit2/UIProcess/PageClient.h

    r123882 r124989  
    119119#endif
    120120#if PLATFORM(QT)
    121     virtual void didChangeContentsSize(const WebCore::IntSize&) = 0;
    122121    virtual void didFindZoomableArea(const WebCore::IntPoint&, const WebCore::IntRect&) = 0;
    123122    virtual void didReceiveMessageFromNavigatorQtObject(const String&) = 0;
     
    131130    virtual void handleDownloadRequest(DownloadProxy*) = 0;
    132131#endif // PLATFORM(QT) || PLATFORM(EFL)
     132
     133#if PLATFORM(QT) || PLATFORM(EFL)
     134    virtual void didChangeContentsSize(const WebCore::IntSize&) = 0;
     135#endif
    133136
    134137#if PLATFORM(QT) || PLATFORM(GTK)
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r124701 r124989  
    26362636
    26372637#if PLATFORM(QT)
    2638 void WebPageProxy::didChangeContentsSize(const IntSize& size)
    2639 {
    2640     m_pageClient->didChangeContentsSize(size);
    2641 }
    2642 
    26432638void WebPageProxy::didFindZoomableArea(const IntPoint& target, const IntRect& area)
    26442639{
     
    26812676}
    26822677#endif // PLATFORM(QT) || PLATFORM(EFL)
     2678
     2679#if PLATFORM(QT) || PLATFORM(EFL)
     2680void WebPageProxy::didChangeContentsSize(const IntSize& size)
     2681{
     2682    m_pageClient->didChangeContentsSize(size);
     2683}
     2684#endif
    26832685
    26842686#if ENABLE(TOUCH_EVENTS)
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.h

    r123882 r124989  
    832832
    833833#if PLATFORM(QT)
     834    void didFindZoomableArea(const WebCore::IntPoint&, const WebCore::IntRect&);
     835#endif
     836
     837#if PLATFORM(QT) || PLATFORM(EFL)
    834838    void didChangeContentsSize(const WebCore::IntSize&);
    835     void didFindZoomableArea(const WebCore::IntPoint&, const WebCore::IntRect&);
    836 #endif
     839#endif
     840
    837841#if ENABLE(TOUCH_EVENTS)
    838842    void needTouchEvents(bool);
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in

    r123374 r124989  
    7474#endif
    7575#if PLATFORM(QT)
    76     DidChangeContentsSize(WebCore::IntSize newSize)
    7776    DidFindZoomableArea(WebCore::IntPoint target, WebCore::IntRect area)
    7877    AuthenticationRequiredRequest(WTF::String hostname, WTF::String realm, WTF::String prefilledUsername) -> (WTF::String username, WTF::String password)
     
    8079    ProxyAuthenticationRequiredRequest(WTF::String hostname, uint16_t port, WTF::String prefilledUsername) -> (WTF::String username, WTF::String password)
    8180#endif
     81
     82#if PLATFORM(QT) || PLATFORM(EFL)
     83    DidChangeContentsSize(WebCore::IntSize newSize)
     84#endif
     85
    8286#if ENABLE(TOUCH_EVENTS)
    8387    NeedTouchEvents(bool needTouchEvents)
  • trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp

    r124805 r124989  
    2727#include "config.h"
    2828
     29#if USE(COORDINATED_GRAPHICS)
    2930#include "LayerTreeCoordinator.h"
    3031
     
    572573}
    573574
    574 #if USE(COORDINATED_GRAPHICS)
    575575void LayerTreeCoordinator::scheduleAnimation()
    576576{
    577577    scheduleLayerFlush();
    578578}
    579 #endif
    580579
    581580void LayerTreeCoordinator::renderNextFrame()
     
    621620
    622621} // namespace WebKit
     622#endif // USE(COORDINATED_GRAPHICS)
  • trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h

    r124805 r124989  
    2020#ifndef LayerTreeCoordinator_h
    2121#define LayerTreeCoordinator_h
     22
     23#if USE(COORDINATED_GRAPHICS)
    2224
    2325#include "CoordinatedGraphicsLayer.h"
     
    8991
    9092    virtual PassOwnPtr<WebCore::GraphicsContext> beginContentUpdate(const WebCore::IntSize&, ShareableBitmap::Flags, ShareableSurface::Handle&, WebCore::IntPoint&);
    91 #if USE(COORDINATED_GRAPHICS)
    9293    virtual void scheduleAnimation() OVERRIDE;
    93 #endif
    9494
    9595protected:
     
    144144}
    145145
     146#endif
     147
    146148#endif // LayerTreeCoordinator_h
  • trunk/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.cpp

    r121221 r124989  
    3535#endif
    3636
    37 #if PLATFORM(QT)
     37#if USE(COORDINATED_GRAPHICS)
    3838#include "LayerTreeCoordinator.h"
    3939#endif
     
    5353#elif PLATFORM(WIN) && HAVE(WKQCA)
    5454    return LayerTreeHostCAWin::create(webPage);
    55 #elif PLATFORM(QT)
     55#elif USE(COORDINATED_GRAPHICS)
    5656    return LayerTreeCoordinator::create(webPage);
    5757#elif PLATFORM(GTK) && USE(TEXTURE_MAPPER_GL)
  • trunk/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h

    r124701 r124989  
    120120};
    121121
    122 #if !PLATFORM(WIN) && !PLATFORM(QT)
     122#if !PLATFORM(WIN) && !USE(COORDINATED_GRAPHICS)
    123123inline bool LayerTreeHost::supportsAcceleratedCompositing()
    124124{
  • trunk/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp

    r123218 r124989  
    3636#include <unistd.h>
    3737#include <wtf/MainThread.h>
     38
     39#if USE(COORDINATED_GRAPHICS)
     40#include "CoordinatedGraphicsLayer.h"
     41#endif
    3842
    3943using namespace WebCore;
     
    7781    }
    7882
     83#if USE(COORDINATED_GRAPHICS)
     84    CoordinatedGraphicsLayer::initFactory();
     85#endif
     86
    7987    int socket = atoi(argv[1]);
    8088    WebProcess::shared().initialize(socket, RunLoop::main());
  • trunk/Source/cmake/OptionsEfl.cmake

    r124856 r124989  
    160160
    161161SET(CPACK_SOURCE_GENERATOR TBZ2)
     162
     163IF (WTF_USE_TILED_BACKING_STORE)
     164  SET(WTF_USE_ACCELERATED_COMPOSITING 1)
     165  ADD_DEFINITIONS(-DWTF_USE_ACCELERATED_COMPOSITING=1)
     166
     167  SET(WTF_USE_COORDINATED_GRAPHICS 1)
     168  ADD_DEFINITIONS(-DWTF_USE_COORDINATED_GRAPHICS=1)
     169
     170  SET(WTF_USE_TEXTURE_MAPPER 1)
     171  ADD_DEFINITIONS(-DWTF_USE_TEXTURE_MAPPER=1)
     172
     173  SET(WTF_USE_TEXTURE_MAPPER_GL 1)
     174  ADD_DEFINITIONS(-DWTF_USE_TEXTURE_MAPPER_GL=1)
     175
     176  SET(WTF_USE_3D_GRAPHICS 1)
     177  ADD_DEFINITIONS(-DWTF_USE_3D_GRAPHICS=1)
     178
     179  FIND_PACKAGE(OpenGL REQUIRED)
     180ENDIF()
     181
  • trunk/Tools/ChangeLog

    r124988 r124989  
     12012-08-07  YoungTaeck Song  <youngtaeck.song@samsung.com>
     2
     3        [WK2][EFL] Implement accelerated compositing on WK2 Efl port
     4        https://bugs.webkit.org/show_bug.cgi?id=89840
     5
     6        Reviewed by Noam Rosenthal.
     7
     8        Implement accelerated composition with TiledBackingStore on WK2 Efl port.
     9        Add OPENGL_LIBRARIES in CMakeList.txt.
     10
     11        * MiniBrowser/efl/CMakeLists.txt:
     12        * WebKitTestRunner/PlatformEfl.cmake:
     13
    1142012-08-07  Csaba Osztrogonác  <ossy@webkit.org>
    215
  • trunk/Tools/MiniBrowser/efl/CMakeLists.txt

    r123832 r124989  
    2929    ${LIBXML2_LIBRARIES}
    3030    ${LIBXSLT_LIBRARIES}
     31    ${OPENGL_LIBRARIES}
    3132    ${SQLITE_LIBRARIES}
    3233)
  • trunk/Tools/WebKitTestRunner/PlatformEfl.cmake

    r123203 r124989  
    4444    ${EFLDEPS_LIBRARIES}
    4545    ${Glib_LIBRARIES}
     46    ${OPENGL_LIBRARIES}
    4647    ${WTF_LIBRARY_NAME}
    4748)
Note: See TracChangeset for help on using the changeset viewer.