diff options
author | Chris Craik <ccraik@google.com> | 2012-05-10 13:45:37 -0700 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2012-05-10 16:08:46 -0700 |
commit | bd3f93b66934582acd0b6c70bcf60ca643b36ead (patch) | |
tree | ca21e51653e0a5e256e8cc9a0762729bd62728b5 /Source/WebCore/platform/graphics/android/rendering/Tile.cpp | |
parent | d236e597b13a93d21eafa2edeacb5092076937e1 (diff) | |
download | external_webkit-bd3f93b66934582acd0b6c70bcf60ca643b36ead.zip external_webkit-bd3f93b66934582acd0b6c70bcf60ca643b36ead.tar.gz external_webkit-bd3f93b66934582acd0b6c70bcf60ca643b36ead.tar.bz2 |
dirty all tiles when entering/exiting single surface mode
bug:6471089
Change-Id: I609a75d028ec9fa7b26be90d38b116a9766c4f21
Diffstat (limited to 'Source/WebCore/platform/graphics/android/rendering/Tile.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/android/rendering/Tile.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/android/rendering/Tile.cpp b/Source/WebCore/platform/graphics/android/rendering/Tile.cpp index 3af05f4..2e2c397 100644 --- a/Source/WebCore/platform/graphics/android/rendering/Tile.cpp +++ b/Source/WebCore/platform/graphics/android/rendering/Tile.cpp @@ -146,6 +146,13 @@ bool Tile::removeTexture(TileTexture* texture) return true; } +void Tile::markAsDirty() +{ + android::AutoMutex lock(m_atomicSync); + m_dirtyArea.setEmpty(); // empty dirty rect prevents fast blit path + markAsDirtyInternal(); +} + void Tile::markAsDirty(const SkRegion& dirtyArea) { if (dirtyArea.isEmpty()) @@ -171,6 +178,13 @@ void Tile::markAsDirty(const SkRegion& dirtyArea) if (!intersect) return; + markAsDirtyInternal(); +} + +void Tile::markAsDirtyInternal() +{ + // NOTE: callers must hold lock on m_atomicSync + m_dirty = true; if (m_state == UpToDate) { // We only mark a tile as unpainted in 'markAsDirty' if its status is |