diff options
author | Chris Craik <ccraik@google.com> | 2011-08-28 19:15:00 -0700 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2011-09-02 16:12:04 -0700 |
commit | 8ad3ab0e47f0d5039e89c1873c178f538ec1b0df (patch) | |
tree | 80f8455d94b5ae10753e35b4f6badeea5fb8e040 /Source/WebCore/platform/graphics/android/TransferQueue.cpp | |
parent | e3edcfcfc731bd5051947d8c0a4b2685e7cae84d (diff) | |
download | external_webkit-8ad3ab0e47f0d5039e89c1873c178f538ec1b0df.zip external_webkit-8ad3ab0e47f0d5039e89c1873c178f538ec1b0df.tar.gz external_webkit-8ad3ab0e47f0d5039e89c1873c178f538ec1b0df.tar.bz2 |
Enable double buffering via base tiles
bug:2522049
allocate textures and tiles using the gldraw count when they were most recently
prepared
remaining issues:
-layers still flicker (presumably from texture stealing)
-layers aren't double buffered yet
Change-Id: Iccdf68326d7d476269d4e3a13903aaab249ee92d
Diffstat (limited to 'Source/WebCore/platform/graphics/android/TransferQueue.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/android/TransferQueue.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Source/WebCore/platform/graphics/android/TransferQueue.cpp b/Source/WebCore/platform/graphics/android/TransferQueue.cpp index 851d02c..b73f388 100644 --- a/Source/WebCore/platform/graphics/android/TransferQueue.cpp +++ b/Source/WebCore/platform/graphics/android/TransferQueue.cpp @@ -113,7 +113,7 @@ bool TransferQueue::checkObsolete(int index) return true; } - BaseTileTexture* baseTileTexture = baseTilePtr->texture(); + BaseTileTexture* baseTileTexture = baseTilePtr->backTexture(); if (!baseTileTexture) { XLOG("Invalid baseTileTexture , such that the tile is obsolete"); return true; @@ -248,7 +248,7 @@ void TransferQueue::updateDirtyBaseTiles() // the queue. Then either move on to next item or copy the content. BaseTileTexture* destTexture = 0; if (!obsoleteBaseTile) - destTexture = m_transferQueue[index].savedBaseTilePtr->texture(); + destTexture = m_transferQueue[index].savedBaseTilePtr->backTexture(); m_sharedSurfaceTexture->updateTexImage(); @@ -271,9 +271,10 @@ void TransferQueue::updateDirtyBaseTiles() // texturesTileInfo. destTexture->setOwnTextureTileInfoFromQueue(&m_transferQueue[index].tileInfo); - XLOG("Blit tile x, y %d %d to destTexture->m_ownTextureId %d", + XLOG("Blit tile x, y %d %d with dest texture %p to destTexture->m_ownTextureId %d", m_transferQueue[index].tileInfo.m_x, m_transferQueue[index].tileInfo.m_y, + destTexture, destTexture->m_ownTextureId); } index = (index + 1) % ST_BUFFER_NUMBER; |