| Differences between
and this patch
- a/Source/WebCore/ChangeLog +28 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2012-06-08  Hyowon Kim  <hw1008.kim@samsung.com>
2
3
        [Texmap][EFL] Minor fixes to EFL accelerated compositing.
4
        https://bugs.webkit.org/show_bug.cgi?id=88630
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * platform/graphics/GraphicsContext3D.h: Remove PLATFORM(EFL) flags.
9
        (WebCore):
10
        (GraphicsContext3D):
11
        * platform/graphics/GraphicsLayer.cpp: Use GraphicsLayerFactory.
12
        (WebCore):
13
        * platform/graphics/GraphicsLayer.h: Use GraphicsLayerFactory.
14
        (WebCore):
15
        (GraphicsLayer):
16
        * platform/graphics/OpenGLShims.cpp:
17
        * platform/graphics/efl/GraphicsContext3DEfl.cpp: Fix typo.
18
        (WebCore::GraphicsContext3D::uniform1fv):
19
        (WebCore::GraphicsContext3D::uniform1iv):
20
        * platform/graphics/efl/GraphicsContext3DPrivate.h: Fix namespace.
21
        (WebCore):
22
        * platform/graphics/surfaces/GraphicsSurface.h: Fix WTF header include paths.
23
        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
24
        (WebCore::GraphicsLayerTextureMapper::addAnimation): Use AnimationController.
25
        * platform/graphics/texmap/TextureMapperGL.cpp:
26
        (SharedGLData): Use default implementation.
27
        * platform/graphics/texmap/TextureMapperLayer.cpp:
28
1
2012-06-07  Takashi Sakamoto  <tasak@google.com>
29
2012-06-07  Takashi Sakamoto  <tasak@google.com>
2
30
3
        Improve the performance of pushScope in StyleResolver
31
        Improve the performance of pushScope in StyleResolver
- a/Source/WebCore/platform/graphics/GraphicsContext3D.h -4 / +4 lines
Lines 43-49 a/Source/WebCore/platform/graphics/GraphicsContext3D.h_sec1
43
#undef VERSION
43
#undef VERSION
44
#endif
44
#endif
45
45
46
#if PLATFORM(MAC) || PLATFORM(GTK) || PLATFORM(QT) || PLATFORM(EFL)
46
#if PLATFORM(MAC) || PLATFORM(GTK) || PLATFORM(QT)
47
#include "ANGLEWebKitBridge.h"
47
#include "ANGLEWebKitBridge.h"
48
#endif
48
#endif
49
49
Lines 94-100 const Platform3DObject NullPlatform3DObject = 0; a/Source/WebCore/platform/graphics/GraphicsContext3D.h_sec2
94
namespace WebCore {
94
namespace WebCore {
95
class DrawingBuffer;
95
class DrawingBuffer;
96
class Extensions3D;
96
class Extensions3D;
97
#if PLATFORM(MAC) || PLATFORM(GTK) || PLATFORM(QT) || PLATFORM(EFL)
97
#if PLATFORM(MAC) || PLATFORM(GTK) || PLATFORM(QT)
98
class Extensions3DOpenGL;
98
class Extensions3DOpenGL;
99
#endif
99
#endif
100
#if PLATFORM(QT)
100
#if PLATFORM(QT)
Lines 507-513 public: a/Source/WebCore/platform/graphics/GraphicsContext3D.h_sec3
507
#endif
507
#endif
508
#elif PLATFORM(EFL)
508
#elif PLATFORM(EFL)
509
    PlatformGraphicsContext3D platformGraphicsContext3D() const;
509
    PlatformGraphicsContext3D platformGraphicsContext3D() const;
510
    Platform3DObject platformTexture() const { return m_texture; }
510
    Platform3DObject platformTexture() const;
511
#if USE(ACCELERATED_COMPOSITING)
511
#if USE(ACCELERATED_COMPOSITING)
512
    PlatformLayer* platformLayer() const;
512
    PlatformLayer* platformLayer() const;
513
#endif
513
#endif
Lines 924-930 public: a/Source/WebCore/platform/graphics/GraphicsContext3D.h_sec4
924
    RetainPtr<WebGLLayer> m_webGLLayer;
924
    RetainPtr<WebGLLayer> m_webGLLayer;
925
#endif
925
#endif
926
926
927
#if PLATFORM(MAC) || PLATFORM(GTK) || PLATFORM(QT) || PLATFORM(EFL)
927
#if PLATFORM(MAC) || PLATFORM(GTK) || PLATFORM(QT)
928
    typedef struct {
928
    typedef struct {
929
        String source;
929
        String source;
930
        String log;
930
        String log;
- a/Source/WebCore/platform/graphics/GraphicsLayer.cpp -1 / +1 lines
Lines 385-391 void GraphicsLayer::distributeOpacity(float accumulatedOpacity) a/Source/WebCore/platform/graphics/GraphicsLayer.cpp_sec1
385
    }
385
    }
386
}
386
}
387
387
388
#if PLATFORM(QT) || PLATFORM(GTK)
388
#if PLATFORM(QT) || PLATFORM(GTK) || PLATFORM(EFL)
389
GraphicsLayer::GraphicsLayerFactory* GraphicsLayer::s_graphicsLayerFactory = 0;
389
GraphicsLayer::GraphicsLayerFactory* GraphicsLayer::s_graphicsLayerFactory = 0;
390
390
391
void GraphicsLayer::setGraphicsLayerFactory(GraphicsLayer::GraphicsLayerFactory factory)
391
void GraphicsLayer::setGraphicsLayerFactory(GraphicsLayer::GraphicsLayerFactory factory)
- a/Source/WebCore/platform/graphics/GraphicsLayer.h -2 / +7 lines
Lines 79-84 namespace WebCore { a/Source/WebCore/platform/graphics/GraphicsLayer.h_sec1
79
typedef ClutterActor PlatformLayer;
79
typedef ClutterActor PlatformLayer;
80
};
80
};
81
#endif
81
#endif
82
#elif PLATFORM(EFL)
83
namespace WebCore {
84
class TextureMapperPlatformLayer;
85
typedef TextureMapperPlatformLayer PlatformLayer;
86
};
82
#else
87
#else
83
typedef void* PlatformLayer;
88
typedef void* PlatformLayer;
84
#endif
89
#endif
Lines 433-439 public: a/Source/WebCore/platform/graphics/GraphicsLayer.h_sec2
433
438
434
    virtual TiledBacking* tiledBacking() { return 0; }
439
    virtual TiledBacking* tiledBacking() { return 0; }
435
440
436
#if PLATFORM(QT) || PLATFORM(GTK)
441
#if PLATFORM(QT) || PLATFORM(GTK) || PLATFORM(EFL)
437
    // This allows several alternative GraphicsLayer implementations in the same port,
442
    // This allows several alternative GraphicsLayer implementations in the same port,
438
    // e.g. if a different GraphicsLayer implementation is needed in WebKit1 vs. WebKit2.
443
    // e.g. if a different GraphicsLayer implementation is needed in WebKit1 vs. WebKit2.
439
    typedef PassOwnPtr<GraphicsLayer> GraphicsLayerFactory(GraphicsLayerClient*);
444
    typedef PassOwnPtr<GraphicsLayer> GraphicsLayerFactory(GraphicsLayerClient*);
Lines 523-529 protected: a/Source/WebCore/platform/graphics/GraphicsLayer.h_sec3
523
528
524
    int m_repaintCount;
529
    int m_repaintCount;
525
530
526
#if PLATFORM(QT) || PLATFORM(GTK)
531
#if PLATFORM(QT) || PLATFORM(GTK) || PLATFORM(EFL)
527
    static GraphicsLayer::GraphicsLayerFactory* s_graphicsLayerFactory;
532
    static GraphicsLayer::GraphicsLayerFactory* s_graphicsLayerFactory;
528
#endif
533
#endif
529
};
534
};
- a/Source/WebCore/platform/graphics/OpenGLShims.cpp -1 / +1 lines
Lines 17-23 a/Source/WebCore/platform/graphics/OpenGLShims.cpp_sec1
17
 */
17
 */
18
18
19
#include "config.h"
19
#include "config.h"
20
#if ENABLE(WEBGL) || defined(QT_OPENGL_SHIMS)
20
#if ENABLE(WEBGL) || defined(QT_OPENGL_SHIMS) || (PLATFORM(EFL) && USE(ACCELERATED_COMPOSITING))
21
21
22
#define DISABLE_SHIMS
22
#define DISABLE_SHIMS
23
#include "OpenGLShims.h"
23
#include "OpenGLShims.h"
- a/Source/WebCore/platform/graphics/efl/GraphicsContext3DEfl.cpp -2 / +2 lines
Lines 554-560 void GraphicsContext3D::uniform1f(GC3Dint location, GC3Dfloat x) a/Source/WebCore/platform/graphics/efl/GraphicsContext3DEfl.cpp_sec1
554
    m_private->uniform1f(location, x);
554
    m_private->uniform1f(location, x);
555
}
555
}
556
556
557
void GraphicsContext3D::uniform1fv(GC3Dint location, GGC3Dsizei size, C3Dfloat* v)
557
void GraphicsContext3D::uniform1fv(GC3Dint location, GC3Dsizei size, GC3Dfloat* v)
558
{
558
{
559
    m_private->uniform1fv(location, size, v);
559
    m_private->uniform1fv(location, size, v);
560
}
560
}
Lines 564-570 void GraphicsContext3D::uniform1i(GC3Dint location, GC3Dint x) a/Source/WebCore/platform/graphics/efl/GraphicsContext3DEfl.cpp_sec2
564
    m_private->uniform1i(location, x);
564
    m_private->uniform1i(location, x);
565
}
565
}
566
566
567
void GraphicsContext3D::uniform1iv(GC3Dint location, GGC3Dsizei size, C3Dint* v)
567
void GraphicsContext3D::uniform1iv(GC3Dint location, GC3Dsizei size, GC3Dint* v)
568
{
568
{
569
    m_private->uniform1iv(location, size, v);
569
    m_private->uniform1iv(location, size, v);
570
}
570
}
- a/Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.h -2 / +2 lines
Lines 24-33 a/Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.h_sec1
24
24
25
#include <Evas_GL.h>
25
#include <Evas_GL.h>
26
26
27
namespace WebCore {
28
29
class PageClientEfl;
27
class PageClientEfl;
30
28
29
namespace WebCore {
30
31
class GraphicsContext3DPrivate {
31
class GraphicsContext3DPrivate {
32
public:
32
public:
33
    static PassOwnPtr<GraphicsContext3DPrivate> create(GraphicsContext3D::Attributes attrs, HostWindow*, bool renderDirectlyToEvasGLObject);
33
    static PassOwnPtr<GraphicsContext3DPrivate> create(GraphicsContext3D::Attributes attrs, HostWindow*, bool renderDirectlyToEvasGLObject);
- a/Source/WebCore/platform/graphics/surfaces/GraphicsSurface.h -4 / +5 lines
Lines 22-31 a/Source/WebCore/platform/graphics/surfaces/GraphicsSurface.h_sec1
22
22
23
#include "GraphicsContext.h"
23
#include "GraphicsContext.h"
24
#include "IntRect.h"
24
#include "IntRect.h"
25
#include "OwnPtr.h"
25
26
#include "PassOwnPtr.h"
26
#include <wtf/OwnPtr.h>
27
#include "RefCounted.h"
27
#include <wtf/PassOwnPtr.h>
28
#include "RefPtr.h"
28
#include <wtf/RefCounted.h>
29
#include <wtf/RefPtr.h>
29
30
30
#if USE(GRAPHICS_SURFACE)
31
#if USE(GRAPHICS_SURFACE)
31
32
- a/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp +3 lines
Lines 358-363 void GraphicsLayerTextureMapper::syncCompositingState(const FloatRect&) a/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp_sec1
358
358
359
bool GraphicsLayerTextureMapper::addAnimation(const KeyframeValueList& valueList, const IntSize& boxSize, const Animation* anim, const String& keyframesName, double timeOffset)
359
bool GraphicsLayerTextureMapper::addAnimation(const KeyframeValueList& valueList, const IntSize& boxSize, const Animation* anim, const String& keyframesName, double timeOffset)
360
{
360
{
361
#if PLATFORM(EFL)
362
    return false;
363
#endif
361
    ASSERT(!keyframesName.isEmpty());
364
    ASSERT(!keyframesName.isEmpty());
362
365
363
    if (!anim || anim->isEmptyOrZeroDuration() || valueList.size() < 2 || (valueList.property() != AnimatedPropertyWebkitTransform && valueList.property() != AnimatedPropertyOpacity))
366
    if (!anim || anim->isEmptyOrZeroDuration() || valueList.size() < 2 || (valueList.property() != AnimatedPropertyWebkitTransform && valueList.property() != AnimatedPropertyOpacity))
- a/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp -1 / +1 lines
Lines 85-91 struct TextureMapperGLData { a/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp_sec1
85
        {
85
        {
86
            return aglGetCurrentContext();
86
            return aglGetCurrentContext();
87
        }
87
        }
88
#elif defined(XP_UNIX)
88
#elif defined(XP_UNIX) && !PLATFORM(EFL)
89
        typedef GLXContext GLContext;
89
        typedef GLXContext GLContext;
90
        static GLContext getCurrentGLContext()
90
        static GLContext getCurrentGLContext()
91
        {
91
        {
- a/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp +1 lines
Lines 31-36 a/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp_sec1
31
31
32
#if USE(CAIRO)
32
#if USE(CAIRO)
33
#include "CairoUtilities.h"
33
#include "CairoUtilities.h"
34
#include <wtf/text/CString.h>
34
#endif
35
#endif
35
36
36
namespace WebCore {
37
namespace WebCore {
- a/Source/WebKit/efl/ChangeLog +16 lines
Lines 1-3 a/Source/WebKit/efl/ChangeLog_sec1
1
2012-06-08  Hyowon Kim  <hw1008.kim@samsung.com>
2
3
        [Texmap][EFL] Minor fixes to EFL accelerated compositing.
4
        https://bugs.webkit.org/show_bug.cgi?id=88630
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * WebCoreSupport/AcceleratedCompositingContextEfl.cpp:
9
        (WebCore::AcceleratedCompositingContext::renderLayers):
10
        Clear the render target evas_gl_surface.
11
        * WebCoreSupport/PageClientEfl.cpp: Add WebCore:: namespace prefixes.
12
        (PageClientEfl::createEvasObjectForAcceleratedCompositing):
13
        (PageClientEfl::acceleratedCompositingContext):
14
        * WebCoreSupport/PageClientEfl.h: Add WebCore:: namespace prefixes.
15
        (PageClientEfl):
16
1
2012-06-05  Adam Barth  <abarth@webkit.org>
17
2012-06-05  Adam Barth  <abarth@webkit.org>
2
18
3
        Remove support for target-densitydpi in the viewport meta tag
19
        Remove support for target-densitydpi in the viewport meta tag
- a/Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp -1 / +2 lines
Lines 29-35 a/Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp_sec1
29
#include "PageClientEfl.h"
29
#include "PageClientEfl.h"
30
#include "TextureMapperGL.h"
30
#include "TextureMapperGL.h"
31
#include "TextureMapperLayer.h"
31
#include "TextureMapperLayer.h"
32
#include "ewk_private.h"
32
#include "ewk_view_private.h"
33
33
34
namespace WebCore {
34
namespace WebCore {
35
35
Lines 85-90 void AcceleratedCompositingContext::renderLayers() a/Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp_sec2
85
    int height = 0;
85
    int height = 0;
86
    evas_object_geometry_get(m_view, 0, 0, &width, &height);
86
    evas_object_geometry_get(m_view, 0, 0, &width, &height);
87
    m_context3D->viewport(0, 0, width, height);
87
    m_context3D->viewport(0, 0, width, height);
88
    m_context3D->clear(GraphicsContext3D::COLOR_BUFFER_BIT | GraphicsContext3D::DEPTH_BUFFER_BIT);
88
89
89
    m_textureMapper->beginPainting();
90
    m_textureMapper->beginPainting();
90
    m_rootTextureMapperLayer->paint();
91
    m_rootTextureMapperLayer->paint();
- a/Source/WebKit/efl/WebCoreSupport/PageClientEfl.cpp -3 / +3 lines
Lines 20-26 a/Source/WebKit/efl/WebCoreSupport/PageClientEfl.cpp_sec1
20
#include "config.h"
20
#include "config.h"
21
#include "PageClientEfl.h"
21
#include "PageClientEfl.h"
22
22
23
#include "ewk_private.h"
23
#include "ewk_view_private.h"
24
24
25
namespace WebCore {
25
namespace WebCore {
26
class IntRect;
26
class IntRect;
Lines 37-48 PageClientEfl::~PageClientEfl() a/Source/WebKit/efl/WebCoreSupport/PageClientEfl.cpp_sec2
37
}
37
}
38
38
39
#if USE(ACCELERATED_COMPOSITING)
39
#if USE(ACCELERATED_COMPOSITING)
40
bool PageClientEfl::createEvasObjectForAcceleratedCompositing(Evas_Native_Surface* nativeSurface, const IntRect& rect)
40
bool PageClientEfl::createEvasObjectForAcceleratedCompositing(Evas_Native_Surface* nativeSurface, const WebCore::IntRect& rect)
41
{
41
{
42
    return ewk_view_accelerated_compositing_object_create(m_view, nativeSurface, rect);
42
    return ewk_view_accelerated_compositing_object_create(m_view, nativeSurface, rect);
43
}
43
}
44
44
45
GraphicsContext3D* PageClientEfl::acceleratedCompositingContext()
45
WebCore::GraphicsContext3D* PageClientEfl::acceleratedCompositingContext()
46
{
46
{
47
    return ewk_view_accelerated_compositing_context_get(m_view);
47
    return ewk_view_accelerated_compositing_context_get(m_view);
48
}
48
}
- a/Source/WebKit/efl/WebCoreSupport/PageClientEfl.h -2 / +2 lines
Lines 35-42 public: a/Source/WebKit/efl/WebCoreSupport/PageClientEfl.h_sec1
35
    virtual ~PageClientEfl();
35
    virtual ~PageClientEfl();
36
36
37
#if USE(ACCELERATED_COMPOSITING)
37
#if USE(ACCELERATED_COMPOSITING)
38
    bool createEvasObjectForAcceleratedCompositing(Evas_Native_Surface*, const IntRect&);
38
    bool createEvasObjectForAcceleratedCompositing(Evas_Native_Surface*, const WebCore::IntRect&);
39
    GraphicsContext3D* acceleratedCompositingContext();
39
    WebCore::GraphicsContext3D* acceleratedCompositingContext();
40
#endif
40
#endif
41
41
42
    Evas_Object* view() { return m_view; }
42
    Evas_Object* view() { return m_view; }

Return to Bug 88630