diff options
author | Chris Craik <ccraik@google.com> | 2012-06-12 13:47:12 -0700 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2012-06-12 13:53:03 -0700 |
commit | 0c274b96c2dfb5a83b12a99f1ca9069378f73bdb (patch) | |
tree | 600aaa401cb11dd4bf42316673c4e326c5a73e91 /Source/WebCore/platform/graphics/android/rendering/Tile.cpp | |
parent | 7fc1c095b5cb85afd90f47a7bf9a35495bcc64bd (diff) | |
download | external_webkit-0c274b96c2dfb5a83b12a99f1ca9069378f73bdb.zip external_webkit-0c274b96c2dfb5a83b12a99f1ca9069378f73bdb.tar.gz external_webkit-0c274b96c2dfb5a83b12a99f1ca9069378f73bdb.tar.bz2 |
Workaround double blit failure
An issue occurs on Stingray where calling glTexSubImage2d in order to blit an
update to a texture fails silently if the texture has already been updated this
frame.
With this change, we now draw the tile off-screen to work around the issue just
before the second blit is required. This way, the second blit succeeds.
bug:6630040
Change-Id: I07213954669b0f3d3f5b87a748a591e532b097b4
Diffstat (limited to 'Source/WebCore/platform/graphics/android/rendering/Tile.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/android/rendering/Tile.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/android/rendering/Tile.cpp b/Source/WebCore/platform/graphics/android/rendering/Tile.cpp index e674884..96b189a 100644 --- a/Source/WebCore/platform/graphics/android/rendering/Tile.cpp +++ b/Source/WebCore/platform/graphics/android/rendering/Tile.cpp @@ -52,6 +52,7 @@ Tile::Tile(bool isLayerTile) , m_y(-1) , m_frontTexture(0) , m_backTexture(0) + , m_lastDrawnTexture(0) , m_scale(1) , m_dirty(true) , m_repaintsPending(0) @@ -242,6 +243,7 @@ bool Tile::drawGL(float opacity, const SkRect& rect, float scale, m_frontTexture->drawGL(isLayerTile(), rect, opacity, transform, forceBlending, usePointSampling, fillPortion); + m_lastDrawnTexture = m_frontTexture; return true; } |