[GTK] Add TextureMapperGL implementation
authormrobinson@webkit.org <mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Feb 2012 04:41:08 +0000 (04:41 +0000)
committermrobinson@webkit.org <mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Feb 2012 04:41:08 +0000 (04:41 +0000)
commit5f6dd094161401180f43d5d163f9c220a8102268
treeba612c3027b53c463c125be5e53b9cb4ff66d776
parent1e1fe2d8222215d51399f5b0507edabf5a0e0760
[GTK] Add TextureMapperGL implementation
https://bugs.webkit.org/show_bug.cgi?id=75308

.:

Patch by Martin Robinson  <mrobinson@igalia.com> and Nayan Kumar K <nayankk@motorola.com> on 2012-02-06
Reviewed by Alejandro G. Castro.

* GNUmakefile.am: TextureMapperGL implies USE(TEXTURE_MAPPER)
* configure.ac: Only allow enabling the GL version of TextureMapper on X11.

Source/WebCore:

Patch by Martin Robinson  <mrobinson@igalia.com> and Nayan Kumar K <nayankk@motorola.com> on 2012-02-06
Reviewed by Alejandro G. Castro.

No new tests. This will be covered by accelerated compositing and
3D CSS transform tests eventually.

* GNUmakefile.list.am: Added some files necessary to build TextureMapperGL.
* platform/graphics/cairo/TextureMapperGLCairo.cpp: Added implementations.
* platform/graphics/cairo/TextureMapperGLCairo.h: Updated member list.
* platform/graphics/gtk/WindowGLContext.h: Added.
* platform/graphics/gtk/WindowGLContextGLX.cpp: Added.
* platform/graphics/opengl/TextureMapperGL.cpp: Use the GL shims on GTK.

Source/WebKit/gtk:

Patch by Martin Robinson  <mrobinson@igalia.com> and Nayan Kumar K <nayankk@motorola.com> on 2012-02-06
Reviewed by Alejandro G. Castro.

* GNUmakefile.am: Add AcceleratedCompositingContextGL to the list.
* WebCoreSupport/AcceleratedCompositingContext.h:
(AcceleratedCompositingContext): Added some members for AcceleratedCompositingContextGL.
* WebCoreSupport/AcceleratedCompositingContextClutter.cpp: Added empty implementations
for GraphicsLayerClient. This is only used for the GL variant.
* WebCoreSupport/AcceleratedCompositingContextGL.cpp: Added.
* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::performAllPendingScrolls): Update the root layer while scrolling.
(WebKit::ChromeClient::paint): Update the root layer after painting.
* webkit/webkitwebsettings.cpp: Added an enable-accelerated-compositing setting.
* webkit/webkitwebsettingsprivate.h: Ditto.
* webkit/webkitwebview.cpp:
(webkit_web_view_draw): Call into TextureMapper now.
(webkit_web_view_realize): Use gdk_window_ensure_native here.
(webkit_web_view_update_settings): Support the new enable-accelerated-compositing setting.
(webkit_web_view_settings_notify): Ditto.

Source/WebKit2:

Reviewed by Alejandro G. Castro.

Fix the WebKit2 + AC build for GTK+.

* GNUmakefile.am: Add some missing source files.
* UIProcess/DrawingAreaProxy.cpp:
(WebKit): Add USE(TILED_BACKING_STORE) to the guard.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveMessage): Ditto.
* WebProcess/WebPage/DrawingArea.h:
(DrawingArea): Ditto.
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit): Ditto.
* WebProcess/WebPage/DrawingAreaImpl.h:
(DrawingAreaImpl): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106901 268f45cc-cd09-0410-ab3c-d52691b4dbfc
29 files changed:
ChangeLog
GNUmakefile.am
Source/WebCore/ChangeLog
Source/WebCore/GNUmakefile.list.am
Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp
Source/WebCore/platform/graphics/cairo/TextureMapperGLCairo.cpp [deleted file]
Source/WebCore/platform/graphics/cairo/TextureMapperGLCairo.h [deleted file]
Source/WebCore/platform/graphics/gtk/WindowGLContext.h [new file with mode: 0644]
Source/WebCore/platform/graphics/gtk/WindowGLContextGLX.cpp [new file with mode: 0644]
Source/WebCore/platform/graphics/opengl/TextureMapperGL.cpp
Source/WebKit/gtk/ChangeLog
Source/WebKit/gtk/GNUmakefile.am
Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContext.h
Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextClutter.cpp
Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp [new file with mode: 0644]
Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h
Source/WebKit/gtk/webkit/webkitwebsettings.cpp
Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h
Source/WebKit/gtk/webkit/webkitwebview.cpp
Source/WebKit/gtk/webkit/webkitwebviewprivate.h
Source/WebKit2/ChangeLog
Source/WebKit2/GNUmakefile.am
Source/WebKit2/UIProcess/DrawingAreaProxy.cpp
Source/WebKit2/UIProcess/WebPageProxy.cpp
Source/WebKit2/WebProcess/WebPage/DrawingArea.h
Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp
Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h
configure.ac