[chromium] Move drawing code for RenderSurfaces into LayerRendererChromium
authordanakj@chromium.org <danakj@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 31 May 2012 20:41:38 +0000 (20:41 +0000)
committerdanakj@chromium.org <danakj@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 31 May 2012 20:41:38 +0000 (20:41 +0000)
commit92d7220bca3c29eae9c1edb69b99dd1b2ee7b2e4
tree943d82a7aecced4a458957940f558c9e43ae9831
parentd4a23e8e6c85eec34696325a26935d08a839deda
[chromium] Move drawing code for RenderSurfaces into LayerRendererChromium
https://bugs.webkit.org/show_bug.cgi?id=87877

Reviewed by James Robinson.

Source/WebCore:

We add data to CCRenderSurfaceDrawQuad so that the only use of
CCRenderSurface directly from LayerRendererChromium is to
reserve, release, and use the surface's textures, and to set the
scissor rect. Each of these changes will be done independent
of this change.

Covered by existing tests.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::applyFilters):
(WebCore):
(WebCore::LayerRendererChromium::drawBackgroundFilters):
(WebCore::LayerRendererChromium::drawRenderSurfaceQuad):
(WebCore::LayerRendererChromium::copyTextureToFramebuffer):
* platform/graphics/chromium/LayerRendererChromium.h:
(LayerRendererChromium):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::contentsTextureId):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsAndVisibilityInternal):
* platform/graphics/chromium/cc/CCQuadCuller.cpp:
* platform/graphics/chromium/cc/CCQuadCuller.h:
(CCQuadCuller):
* platform/graphics/chromium/cc/CCRenderPass.cpp:
(WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore):
(WebCore::CCRenderSurface::CCRenderSurface):
(WebCore::CCRenderSurface::prepareContentsTexture):
(WebCore::CCRenderSurface::releaseContentsTexture):
(WebCore::CCRenderSurface::hasValidContentsTexture):
(WebCore::CCRenderSurface::releaseBackgroundTexture):
(WebCore::CCRenderSurface::hasValidBackgroundTexture):
(WebCore::CCRenderSurface::hasMask):
(WebCore::CCRenderSurface::replicaHasMask):
(WebCore::CCRenderSurface::appendQuads):
* platform/graphics/chromium/cc/CCRenderSurface.h:
(WebCore):
(CCRenderSurface):
* platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.cpp:
(WebCore::CCRenderSurfaceDrawQuad::create):
(WebCore::CCRenderSurfaceDrawQuad::CCRenderSurfaceDrawQuad):
* platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.h:
(WebKit):
(CCRenderSurfaceDrawQuad):
(WebCore::CCRenderSurfaceDrawQuad::maskTextureId):
(WebCore::CCRenderSurfaceDrawQuad::filters):
(WebCore::CCRenderSurfaceDrawQuad::backgroundFilters):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::contentsTextureId):
* platform/graphics/chromium/cc/CCTiledLayerImpl.h:
(CCTiledLayerImpl):

Source/WebKit/chromium:

* tests/CCRenderSurfaceTest.cpp:
(WebCore::TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@119139 268f45cc-cd09-0410-ab3c-d52691b4dbfc
17 files changed:
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp
Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h
Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp
Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h
Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp
Source/WebCore/platform/graphics/chromium/cc/CCQuadCuller.cpp
Source/WebCore/platform/graphics/chromium/cc/CCQuadCuller.h
Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.cpp
Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.cpp
Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.h
Source/WebCore/platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.cpp
Source/WebCore/platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.h
Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.cpp
Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.h
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp