From 8ad3ab0e47f0d5039e89c1873c178f538ec1b0df Mon Sep 17 00:00:00 2001 From: Chris Craik Date: Sun, 28 Aug 2011 19:15:00 -0700 Subject: 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 --- Source/WebCore/platform/graphics/android/TransferQueue.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'Source/WebCore/platform/graphics/android/TransferQueue.cpp') 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; -- cgit v1.1