Changeset 88386 in webkit


Ignore:
Timestamp:
Jun 8, 2011, 2:16:37 PM (14 years ago)
Author:
jamesr@google.com
Message:

2011-06-08 John Bauman <jbauman@chromium.org>

Reviewed by James Robinson.

Only draw portions of tiles in contentRect
https://bugs.webkit.org/show_bug.cgi?id=62243

  • platform/chromium/test_expectations.txt:
  • compositing/repaint/shrink-layer.html: Added.
  • compositing/repaint/shrink-layer-expected.png: Added.
  • compositing/repaint/shrink-layer-expected.txt: Added.

2011-06-08 John Bauman <jbauman@chromium.org>

Reviewed by James Robinson.

Only draw portions of tiles in contentRect
https://bugs.webkit.org/show_bug.cgi?id=62243

Old garbage data can remain in tiles, so make sure to draw only those
portions that are supposed to be drawn.

Test: compositing/repaint/shrink-layer.html

  • platform/graphics/chromium/LayerTilerChromium.cpp: (WebCore::LayerTilerChromium::draw):
Location:
trunk
Files:
3 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r88384 r88386  
     12011-06-08  John Bauman  <jbauman@chromium.org>
     2
     3        Reviewed by James Robinson.
     4
     5        Only draw portions of tiles in contentRect
     6        https://bugs.webkit.org/show_bug.cgi?id=62243
     7
     8        * platform/chromium/test_expectations.txt:
     9        * compositing/repaint/shrink-layer.html: Added.
     10        * compositing/repaint/shrink-layer-expected.png: Added.
     11        * compositing/repaint/shrink-layer-expected.txt: Added.
     12
    1132011-06-08  Mark Pilgrim  <pilgrim@chromium.org>
    214
  • trunk/LayoutTests/platform/chromium/test_expectations.txt

    r88375 r88386  
    35513551BUGWK60097 DEBUG : fast/dom/HTMLLinkElement/link-and-subresource-test.html = TEXT PASS
    35523552
     3553// Needs rebaseline
     3554BUGWK62243 GPU : compositing/geometry/vertical-scroll-composited.html = IMAGE
     3555
    35533556BUGWK60102 LINUX DEBUG GPU : compositing/geometry/fixed-in-composited.html = IMAGE
    35543557BUGWK60102 LINUX DEBUG GPU : compositing/geometry/horizontal-scroll-composited.html = IMAGE
  • trunk/Source/WebCore/ChangeLog

    r88385 r88386  
     12011-06-08  John Bauman  <jbauman@chromium.org>
     2
     3        Reviewed by James Robinson.
     4
     5        Only draw portions of tiles in contentRect
     6        https://bugs.webkit.org/show_bug.cgi?id=62243
     7
     8        Old garbage data can remain in tiles, so make sure to draw only those
     9        portions that are supposed to be drawn.
     10
     11        Test: compositing/repaint/shrink-layer.html
     12
     13        * platform/graphics/chromium/LayerTilerChromium.cpp:
     14        (WebCore::LayerTilerChromium::draw):
     15
    1162011-06-08  Emil A Eklund  <eae@chromium.org>
    217
  • trunk/Source/WebCore/platform/graphics/chromium/LayerTilerChromium.cpp

    r87409 r88386  
    347347    int left, top, right, bottom;
    348348    contentRectToTileIndices(contentRect, left, top, right, bottom);
     349    IntRect layerRect = contentRectToLayerRect(contentRect);
    349350    for (int j = top; j <= bottom; ++j) {
    350351        for (int i = left; i <= right; ++i) {
     
    360361            // rect with border texels which shouldn't be drawn.
    361362            IntRect tileRect = m_tilingData.tileBounds(m_tilingData.tileIndex(tile->i(), tile->j()));
     363            IntRect displayRect = tileRect;
     364            tileRect.intersect(layerRect);
     365            // Keep track of how the top left has moved, so the texture can be
     366            // offset the same amount.
     367            IntSize offset = tileRect.minXMinYCorner() - displayRect.minXMinYCorner();
    362368            tileRect.move(m_layerPosition.x(), m_layerPosition.y());
    363369            tileMatrix.translate3d(tileRect.x() + tileRect.width() / 2.0, tileRect.y() + tileRect.height() / 2.0, 0);
    364370
    365             IntPoint texOffset = m_tilingData.textureOffset(tile->i(), tile->j());
     371            IntPoint texOffset = m_tilingData.textureOffset(tile->i(), tile->j()) + offset;
    366372            float tileWidth = static_cast<float>(m_tileSize.width());
    367373            float tileHeight = static_cast<float>(m_tileSize.height());
Note: See TracChangeset for help on using the changeset viewer.