summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/android/TransferQueue.cpp
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2012-03-07 17:06:45 -0800
committerChris Craik <ccraik@google.com>2012-03-08 17:23:21 -0800
commitf8f42bbda64a56cfd5ab48a274020d4efc9a5594 (patch)
treeda8491da5d178ea70d78f5ba27c56e9bdf786a39 /Source/WebCore/platform/graphics/android/TransferQueue.cpp
parentddacf299acbe17093f175cec8d86088ea3472793 (diff)
downloadexternal_webkit-f8f42bbda64a56cfd5ab48a274020d4efc9a5594.zip
external_webkit-f8f42bbda64a56cfd5ab48a274020d4efc9a5594.tar.gz
external_webkit-f8f42bbda64a56cfd5ab48a274020d4efc9a5594.tar.bz2
remove TextureTileInfo and readyfor check
These checks are obsolete, as texture/tile stealing both occur on the UI thread, and detach textures from tiles. Change-Id: I6d906217ee8954ac04b95f94a4516fd4dfbbb3b0
Diffstat (limited to 'Source/WebCore/platform/graphics/android/TransferQueue.cpp')
-rw-r--r--Source/WebCore/platform/graphics/android/TransferQueue.cpp34
1 files changed, 5 insertions, 29 deletions
diff --git a/Source/WebCore/platform/graphics/android/TransferQueue.cpp b/Source/WebCore/platform/graphics/android/TransferQueue.cpp
index 8ad9119..0002c2c 100644
--- a/Source/WebCore/platform/graphics/android/TransferQueue.cpp
+++ b/Source/WebCore/platform/graphics/android/TransferQueue.cpp
@@ -152,15 +152,6 @@ bool TransferQueue::checkObsolete(const TileTransferData* data)
return true;
}
- const TextureTileInfo* tileInfo = &(data->tileInfo);
-
- if (tileInfo->m_x != baseTilePtr->x()
- || tileInfo->m_y != baseTilePtr->y()
- || tileInfo->m_scale != baseTilePtr->scale()) {
- XLOG("Mismatching x, y, scale or painter , such that the tile is obsolete");
- return true;
- }
-
return false;
}
@@ -176,7 +167,7 @@ void TransferQueue::blitTileFromQueue(GLuint fboID, BaseTileTexture* destTex,
int textureWidth = destTex->getSize().width();
int textureHeight = destTex->getSize().height();
- IntRect inval = m_transferQueue[index].tileInfo.m_inval;
+ IntRect inval = m_transferQueue[index].invalRect;
bool partialInval = !inval.isEmpty();
if (partialInval && frontTex) {
@@ -352,7 +343,7 @@ void TransferQueue::updatePureColorTiles()
if (!obsoleteBaseTile) {
destTexture = data->savedBaseTilePtr->backTexture();
destTexture->setPureColor(data->pureColor);
- destTexture->setOwnTextureTileInfoFromQueue(&data->tileInfo);
+ destTexture->transferComplete();
}
} else if (data->status == emptyItem || data->status == pendingDiscard) {
// The queue should be clear instead of setting to different status.
@@ -413,7 +404,7 @@ void TransferQueue::updateDirtyBaseTiles()
// Here we just need to upload the bitmap content to the GL Texture
GLUtils::updateTextureWithBitmap(destTexture->m_ownTextureId,
*m_transferQueue[index].bitmap,
- m_transferQueue[index].tileInfo.m_inval);
+ m_transferQueue[index].invalRect);
} else {
if (!usedFboForUpload) {
saveGLState();
@@ -425,13 +416,8 @@ void TransferQueue::updateDirtyBaseTiles()
index);
}
- // After the base tile copied into the GL texture, we need to
- // update the texture's info such that at draw time, readyFor
- // will find the latest texture's info
- // We don't need a map any more, each texture contains its own
- // texturesTileInfo.
destTexture->setPure(false);
- destTexture->setOwnTextureTileInfoFromQueue(&m_transferQueue[index].tileInfo);
+ destTexture->transferComplete();
XLOG("Blit tile x, y %d %d with dest texture %p to destTexture->m_ownTextureId %d",
m_transferQueue[index].tileInfo.m_x,
@@ -548,9 +534,6 @@ void TransferQueue::addItemCommon(const TileRenderInfo* renderInfo,
data->status = pendingBlit;
data->uploadType = type;
- // Now fill the tileInfo.
- TextureTileInfo* textureInfo = &(data->tileInfo);
-
IntRect inval(0, 0, 0, 0);
if (renderInfo->invalRect) {
inval.setX(renderInfo->invalRect->fLeft);
@@ -558,14 +541,7 @@ void TransferQueue::addItemCommon(const TileRenderInfo* renderInfo,
inval.setWidth(renderInfo->invalRect->width());
inval.setHeight(renderInfo->invalRect->height());
}
- textureInfo->m_inval = inval;
-
- textureInfo->m_x = renderInfo->x;
- textureInfo->m_y = renderInfo->y;
- textureInfo->m_scale = renderInfo->scale;
- textureInfo->m_painter = renderInfo->tilePainter;
-
- textureInfo->m_picture = renderInfo->textureInfo->m_pictureCount;
+ data->invalRect = inval;
}
// Note that there should be lock/unlock around this function call.