Skip to content
  • enne@google.com's avatar
    2011-04-14 Adrienne Walker <enne@google.com> · 11f7ccb2
    enne@google.com authored
            Reviewed by James Robinson.
    
            [chromium] Tile content and image layers
            https://bugs.webkit.org/show_bug.cgi?id=57113
    
            Rebaseline a number of image tests where slight filtering differences
            from using tiles caused test failures with exact pixel matching.
            None of these results are perceptually different.
    
            * platform/chromium-gpu-linux/compositing/color-matching/image-color-matching-expected.checksum:
            * platform/chromium-gpu-linux/compositing/color-matching/image-color-matching-expected.png:
            * platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.checksum:
            * platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.png:
            * platform/chromium-gpu-linux/fast/canvas/canvas-text-alignment-expected.checksum:
            * platform/chromium-gpu-linux/fast/canvas/canvas-text-alignment-expected.png:
            * platform/chromium-gpu-linux/fast/canvas/canvas-text-baseline-expected.checksum:
            * platform/chromium-gpu-linux/fast/canvas/canvas-text-baseline-expected.png:
            * platform/chromium-gpu-mac/compositing/color-matching/image-color-matching-expected.checksum:
            * platform/chromium-gpu-mac/compositing/color-matching/image-color-matching-expected.png:
            * platform/chromium-gpu-mac/compositing/text-on-large-layer-expected.checksum:
            * platform/chromium-gpu-mac/compositing/text-on-large-layer-expected.png:
            * platform/chromium-gpu-win/compositing/color-matching/image-color-matching-expected.checksum:
            * platform/chromium-gpu-win/compositing/color-matching/image-color-matching-expected.png:
            * platform/chromium-gpu-win/compositing/text-on-large-layer-expected.checksum:
            * platform/chromium-gpu-win/compositing/text-on-large-layer-expected.png:
            * platform/chromium-gpu-win/fast/canvas/canvas-text-alignment-expected.checksum:
            * platform/chromium-gpu-win/fast/canvas/canvas-text-alignment-expected.png:
            * platform/chromium-gpu-win/fast/canvas/canvas-text-baseline-expected.checksum:
            * platform/chromium-gpu-win/fast/canvas/canvas-text-baseline-expected.png:
            * platform/chromium/test_expectations.txt:
    2011-04-14  Adrienne Walker  <enne@google.com>
    
            Reviewed by James Robinson.
    
            [chromium] Tile content and image layers
            https://bugs.webkit.org/show_bug.cgi?id=57113
    
            Layers tile by default if any dimension is larger than 512.  Smaller
            layers are contained within a single texture but still use the tiler
            infrastructure so that there's only one code path.
    
            Remove large layer support from content layers.  Content layers no
            longer own a platform canvas--they own a tiler.  Refactor tiler to
            allow for better separation of update/upload/paint.  Add rect
            parameter to update and draw functions on layers for the layer-space
            rect of interest.  This is necessary to know which tiles need to be
            drawn.
    
            * platform/graphics/chromium/ContentLayerChromium.cpp:
            (WebCore::ContentLayerChromium::ContentLayerChromium):
            (WebCore::ContentLayerChromium::~ContentLayerChromium):
            (WebCore::ContentLayerPainter::ContentLayerPainter):
            (WebCore::ContentLayerPainter::paint):
            (WebCore::ContentLayerChromium::paintContentsIfDirty):
            (WebCore::ContentLayerChromium::setLayerRenderer):
            (WebCore::ContentLayerChromium::tilingTransform):
            (WebCore::ContentLayerChromium::visibleLayerRect):
            (WebCore::ContentLayerChromium::layerBounds):
            (WebCore::ContentLayerChromium::updateLayerSize):
            (WebCore::ContentLayerChromium::draw):
            (WebCore::ContentLayerChromium::createTilerIfNeeded):
            (WebCore::ContentLayerChromium::updateCompositorResources):
            (WebCore::ContentLayerChromium::setTilingOption):
            (WebCore::ContentLayerChromium::bindContentsTexture):
            (WebCore::ContentLayerChromium::unreserveContentsTexture):
            (WebCore::ContentLayerChromium::setIsMask):
            (WebCore::ContentLayerChromium::dumpLayerProperties):
            * platform/graphics/chromium/ContentLayerChromium.h:
            (WebCore::ContentLayerChromium::drawsContent):
            * platform/graphics/chromium/GraphicsLayerChromium.cpp:
            (WebCore::GraphicsLayerChromium::setMaskLayer):
            * platform/graphics/chromium/ImageLayerChromium.cpp:
            (WebCore::ImageLayerChromium::paintContentsIfDirty):
            (WebCore::ImageLayerChromium::updateCompositorResources):
            (WebCore::ImageLayerChromium::layerBounds):
            (WebCore::ImageLayerChromium::tilingTransform):
            * platform/graphics/chromium/ImageLayerChromium.h:
            * platform/graphics/chromium/LayerChromium.h:
            (WebCore::LayerChromium::invalidateRect):
            (WebCore::LayerChromium::paintContentsIfDirty):
            (WebCore::LayerChromium::setIsMask):
            (WebCore::LayerChromium::draw):
            * platform/graphics/chromium/LayerRendererChromium.cpp:
            (WebCore::LayerRendererChromium::drawRootLayer):
            (WebCore::LayerRendererChromium::drawLayers):
            (WebCore::LayerRendererChromium::paintContentsRecursive):
            (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
            (WebCore::LayerRendererChromium::drawLayer):
            (WebCore::LayerRendererChromium::initializeSharedObjects):
            (WebCore::LayerRendererChromium::cleanupSharedObjects):
            * platform/graphics/chromium/LayerRendererChromium.h:
            * platform/graphics/chromium/LayerTilerChromium.cpp:
            (WebCore::LayerTilerChromium::setTileSize):
            (WebCore::LayerTilerChromium::getSingleTexture):
            (WebCore::LayerTilerChromium::invalidateRect):
            (WebCore::LayerTilerChromium::update):
            (WebCore::LayerTilerChromium::uploadCanvas):
            (WebCore::LayerTilerChromium::updateFromPixels):
            (WebCore::LayerTilerChromium::draw):
            (WebCore::LayerTilerChromium::unreserveTextures):
            * platform/graphics/chromium/LayerTilerChromium.h:
            (WebCore::LayerTilerChromium::setLayerRenderer):
            (WebCore::LayerTilerChromium::skipsDraw):
            * platform/graphics/chromium/PlatformCanvas.cpp:
            (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
            (WebCore::PlatformCanvas::Painter::Painter):
            * platform/graphics/chromium/PlatformCanvas.h:
            * platform/graphics/chromium/RenderSurfaceChromium.cpp:
            (WebCore::RenderSurfaceChromium::draw):
            * platform/graphics/chromium/RenderSurfaceChromium.h:
            * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
            (WebCore::CCCanvasLayerImpl::draw):
            * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
            * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
            (WebCore::CCHeadsUpDisplay::draw):
            * platform/graphics/chromium/cc/CCLayerImpl.cpp:
            (WebCore::CCLayerImpl::draw):
            * platform/graphics/chromium/cc/CCLayerImpl.h:
            * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
            (WebCore::CCPluginLayerImpl::draw):
            * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
            * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
            (WebCore::CCVideoLayerImpl::draw):
            * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83915 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    11f7ccb2