|
Merge 92520 - [chromium] Accelerated canvas breaks when moving canvases or resources between Pages
https://bugs.webkit.org/show_bug.cgi?id=65402
Patch by James Robinson < jamesr@chromium.org> on 2011-08-05
Reviewed by Stephen White.
Source/WebCore:
Use one shared GraphicsContext3D for the whole process instead of one per Page as canvases can move between
pages and directly draw into contexts in different pages. Also switches DrawingBufferChromium over to use a
directly shared the color attachment instead of copying it to a separate texture and removes the now-unnecessary
DrawingBuffer::didReset() call and WillPublishCallback mechanism.
* page/Page.cpp:
(WebCore::Page::sharedGraphicsContext3D):
* page/Page.h:
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
(WebCore::Canvas2DLayerChromium::updateCompositorResources):
(WebCore::Canvas2DLayerChromium::textureId):
(WebCore::Canvas2DLayerChromium::setDrawingBuffer):
* platform/graphics/chromium/CanvasLayerChromium.cpp:
(WebCore::CanvasLayerChromium::CanvasLayerChromium):
* platform/graphics/chromium/CanvasLayerChromium.h:
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBuffer::DrawingBuffer):
(WebCore::DrawingBuffer::publishToPlatformLayer):
* platform/graphics/chromium/Extensions3DChromium.h:
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::WebGLLayerChromium):
* platform/graphics/chromium/WebGLLayerChromium.h:
Source/WebKit/chromium:
Remove plumbing for copyTextureToParentTexture extension, it's no longer used or needed.
* public/WebGraphicsContext3D.h:
* src/Extensions3DChromium.cpp:
* src/GraphicsContext3DChromium.cpp:
* src/GraphicsContext3DInternal.h:
TBR=apatrick@chromium.org
BUG= 80703
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=93255
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+1532 lines, -147 lines) |
Patch |
|
M |
Source/WebCore/ChangeLog
|
View
|
|
1 chunk |
+831 lines, -0 lines |
0 comments
|
Download
|
|
M |
Source/WebCore/WebCore.gypi
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
Source/WebCore/html/canvas/CanvasRenderingContext2D.h
|
View
|
|
3 chunks |
+2 lines, -3 lines |
0 comments
|
Download
|
|
M |
Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp
|
View
|
|
5 chunks |
+5 lines, -7 lines |
0 comments
|
Download
|
|
M |
Source/WebCore/page/Page.h
|
View
|
|
3 chunks |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
Source/WebCore/page/Page.cpp
|
View
|
|
2 chunks |
+0 lines, -21 lines |
0 comments
|
Download
|
|
M |
Source/WebCore/platform/graphics/chromium/Canvas2DLayerChromium.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/WebCore/platform/graphics/chromium/Canvas2DLayerChromium.cpp
|
View
|
|
4 chunks |
+1 line, -30 lines |
0 comments
|
Download
|
|
M |
Source/WebCore/platform/graphics/chromium/CanvasLayerChromium.h
|
View
|
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
Source/WebCore/platform/graphics/chromium/CanvasLayerChromium.cpp
|
View
|
|
2 chunks |
+1 line, -3 lines |
0 comments
|
Download
|
|
M |
Source/WebCore/platform/graphics/chromium/DrawingBufferChromium.cpp
|
View
|
|
4 chunks |
+0 lines, -22 lines |
0 comments
|
Download
|
|
M |
Source/WebCore/platform/graphics/chromium/Extensions3DChromium.h
|
View
|
|
2 chunks |
+0 lines, -4 lines |
0 comments
|
Download
|
|
M |
Source/WebCore/platform/graphics/chromium/WebGLLayerChromium.h
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
Source/WebCore/platform/graphics/chromium/WebGLLayerChromium.cpp
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
Source/WebCore/platform/graphics/gpu/DrawingBuffer.h
|
View
|
|
3 chunks |
+0 lines, -17 lines |
0 comments
|
Download
|
|
M |
Source/WebCore/platform/graphics/gpu/DrawingBuffer.cpp
|
View
|
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
|
A + |
Source/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.h
|
View
|
|
0 chunks |
+-1 lines, --1 lines |
0 comments
|
Download
|
|
A + |
Source/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.cpp
|
View
|
|
0 chunks |
+-1 lines, --1 lines |
0 comments
|
Download
|
|
M |
Source/WebCore/platform/graphics/gpu/mac/DrawingBufferMac.mm
|
View
|
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
|
M |
Source/WebCore/platform/graphics/gpu/qt/DrawingBufferQt.cpp
|
View
|
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
|
M |
Source/WebCore/platform/graphics/gtk/DrawingBufferGtk.cpp
|
View
|
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
|
M |
Source/WebKit/chromium/ChangeLog
|
View
|
|
1 chunk |
+685 lines, -0 lines |
0 comments
|
Download
|
|
M |
Source/WebKit/chromium/public/WebGraphicsContext3D.h
|
View
|
|
1 chunk |
+0 lines, -3 lines |
0 comments
|
Download
|
|
M |
Source/WebKit/chromium/src/Extensions3DChromium.cpp
|
View
|
|
1 chunk |
+0 lines, -5 lines |
0 comments
|
Download
|
|
M |
Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp
|
View
|
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
|
M |
Source/WebKit/chromium/src/GraphicsContext3DInternal.h
|
View
|
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
Total messages: 1 (0 generated)
|