summaryrefslogtreecommitdiffstats
path: root/cc/TiledLayerChromiumTest.cpp
diff options
context:
space:
mode:
authorenne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-28 22:00:10 +0000
committerenne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-28 22:00:10 +0000
commita416a0be470ae7d640f67875590265989f48e303 (patch)
tree87bbef155ad341a2ffccb9da41797d72618347ef /cc/TiledLayerChromiumTest.cpp
parentbccbaf25ab40103942e680a95cd7ccc4ffa1adb1 (diff)
downloadchromium_src-a416a0be470ae7d640f67875590265989f48e303.zip
chromium_src-a416a0be470ae7d640f67875590265989f48e303.tar.gz
chromium_src-a416a0be470ae7d640f67875590265989f48e303.tar.bz2
[cc] Color evicted vs. invalidated checkerboard tiles differently
If --show-debug-layer-borders are on, tint checkerboards differently. * Light red = texture backing for tile was evicted or never painted * Light blue = we have a texture backing, but it's been invalidated Previously reverted: https://codereview.chromium.org/10962042/ BUG=150610 Review URL: https://chromiumcodereview.appspot.com/10990116 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159346 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/TiledLayerChromiumTest.cpp')
-rw-r--r--cc/TiledLayerChromiumTest.cpp124
1 files changed, 62 insertions, 62 deletions
diff --git a/cc/TiledLayerChromiumTest.cpp b/cc/TiledLayerChromiumTest.cpp
index 5b90e2e..a30052c 100644
--- a/cc/TiledLayerChromiumTest.cpp
+++ b/cc/TiledLayerChromiumTest.cpp
@@ -181,8 +181,8 @@ TEST_F(TiledLayerChromiumTest, pushDirtyTiles)
updateAndPush(layer.get(), layerImpl.get());
// We should have both tiles on the impl side.
- EXPECT_TRUE(layerImpl->hasTileAt(0, 0));
- EXPECT_TRUE(layerImpl->hasTileAt(0, 1));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 0));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 1));
// Invalidates both tiles, but then only update one of them.
layer->setBounds(IntSize(100, 200));
@@ -191,8 +191,8 @@ TEST_F(TiledLayerChromiumTest, pushDirtyTiles)
updateAndPush(layer.get(), layerImpl.get());
// We should only have the first tile since the other tile was invalidated but not painted.
- EXPECT_TRUE(layerImpl->hasTileAt(0, 0));
- EXPECT_FALSE(layerImpl->hasTileAt(0, 1));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 0));
+ EXPECT_FALSE(layerImpl->hasResourceIdForTileAt(0, 1));
}
TEST_F(TiledLayerChromiumTest, pushOccludedDirtyTiles)
@@ -213,8 +213,8 @@ TEST_F(TiledLayerChromiumTest, pushOccludedDirtyTiles)
EXPECT_EQ(0, occluded.overdrawMetrics().tilesCulledForUpload());
// We should have both tiles on the impl side.
- EXPECT_TRUE(layerImpl->hasTileAt(0, 0));
- EXPECT_TRUE(layerImpl->hasTileAt(0, 1));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 0));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 1));
// Invalidates part of the top tile...
layer->invalidateContentRect(IntRect(0, 0, 50, 50));
@@ -227,8 +227,8 @@ TEST_F(TiledLayerChromiumTest, pushOccludedDirtyTiles)
EXPECT_EQ(0, occluded.overdrawMetrics().tilesCulledForUpload());
// We should still have both tiles, as part of the top tile is still unoccluded.
- EXPECT_TRUE(layerImpl->hasTileAt(0, 0));
- EXPECT_TRUE(layerImpl->hasTileAt(0, 1));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 0));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 1));
}
TEST_F(TiledLayerChromiumTest, pushDeletedTiles)
@@ -243,8 +243,8 @@ TEST_F(TiledLayerChromiumTest, pushDeletedTiles)
updateAndPush(layer.get(), layerImpl.get());
// We should have both tiles on the impl side.
- EXPECT_TRUE(layerImpl->hasTileAt(0, 0));
- EXPECT_TRUE(layerImpl->hasTileAt(0, 1));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 0));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 1));
m_textureManager->clearPriorities();
textureManagerClearAllMemory(m_textureManager.get(), m_resourceProvider.get());
@@ -254,16 +254,16 @@ TEST_F(TiledLayerChromiumTest, pushDeletedTiles)
layerPushPropertiesTo(layer.get(), layerImpl.get());
// We should now have no textures on the impl thread.
- EXPECT_FALSE(layerImpl->hasTileAt(0, 0));
- EXPECT_FALSE(layerImpl->hasTileAt(0, 1));
+ EXPECT_FALSE(layerImpl->hasResourceIdForTileAt(0, 0));
+ EXPECT_FALSE(layerImpl->hasResourceIdForTileAt(0, 1));
// This should recreate and update one of the deleted textures.
layer->setVisibleContentRect(IntRect(0, 0, 100, 100));
updateAndPush(layer.get(), layerImpl.get());
// We should have one tiles on the impl side.
- EXPECT_TRUE(layerImpl->hasTileAt(0, 0));
- EXPECT_FALSE(layerImpl->hasTileAt(0, 1));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 0));
+ EXPECT_FALSE(layerImpl->hasResourceIdForTileAt(0, 1));
}
TEST_F(TiledLayerChromiumTest, pushIdlePaintTiles)
@@ -281,7 +281,7 @@ TEST_F(TiledLayerChromiumTest, pushIdlePaintTiles)
EXPECT_TRUE(needsUpdate);
// We should have one tile on the impl side.
- EXPECT_TRUE(layerImpl->hasTileAt(2, 2));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(2, 2));
// For the next four updates, we should detect we still need idle painting.
for (int i = 0; i < 4; i++) {
@@ -293,7 +293,7 @@ TEST_F(TiledLayerChromiumTest, pushIdlePaintTiles)
IntRect idlePaintTiles(1, 1, 3, 3);
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++)
- EXPECT_EQ(layerImpl->hasTileAt(i, j), idlePaintTiles.contains(i, j));
+ EXPECT_EQ(layerImpl->hasResourceIdForTileAt(i, j), idlePaintTiles.contains(i, j));
}
// We should always finish painting eventually.
@@ -342,18 +342,18 @@ TEST_F(TiledLayerChromiumTest, pushTilesAfterIdlePaintFailed)
}
// Sanity check, we should have textures for the big layer.
- EXPECT_TRUE(layerImpl1->hasTextureIdForTileAt(0, 0));
- EXPECT_TRUE(layerImpl1->hasTextureIdForTileAt(0, 23));
+ EXPECT_TRUE(layerImpl1->hasResourceIdForTileAt(0, 0));
+ EXPECT_TRUE(layerImpl1->hasResourceIdForTileAt(0, 23));
// We should only have the first two tiles from layer2 since
// it failed to idle update the last tile.
- EXPECT_TRUE(layerImpl2->hasTileAt(0, 0));
- EXPECT_TRUE(layerImpl2->hasTextureIdForTileAt(0, 0));
- EXPECT_TRUE(layerImpl2->hasTileAt(0, 1));
- EXPECT_TRUE(layerImpl2->hasTextureIdForTileAt(0, 1));
+ EXPECT_TRUE(layerImpl2->hasResourceIdForTileAt(0, 0));
+ EXPECT_TRUE(layerImpl2->hasResourceIdForTileAt(0, 0));
+ EXPECT_TRUE(layerImpl2->hasResourceIdForTileAt(0, 1));
+ EXPECT_TRUE(layerImpl2->hasResourceIdForTileAt(0, 1));
EXPECT_FALSE(needsUpdate);
- EXPECT_FALSE(layerImpl2->hasTileAt(0, 2));
+ EXPECT_FALSE(layerImpl2->hasResourceIdForTileAt(0, 2));
}
TEST_F(TiledLayerChromiumTest, pushIdlePaintedOccludedTiles)
@@ -371,7 +371,7 @@ TEST_F(TiledLayerChromiumTest, pushIdlePaintedOccludedTiles)
updateAndPush(layer.get(), layerImpl.get());
// We should have the prepainted tile on the impl side, but culled it during paint.
- EXPECT_TRUE(layerImpl->hasTileAt(0, 0));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 0));
EXPECT_EQ(1, occluded.overdrawMetrics().tilesCulledForUpload());
}
@@ -389,8 +389,8 @@ TEST_F(TiledLayerChromiumTest, pushTilesMarkedDirtyDuringPaint)
updateAndPush(layer.get(), layerImpl.get());
// We should have both tiles on the impl side.
- EXPECT_TRUE(layerImpl->hasTileAt(0, 0));
- EXPECT_TRUE(layerImpl->hasTileAt(0, 1));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 0));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 1));
}
TEST_F(TiledLayerChromiumTest, pushTilesLayerMarkedDirtyDuringPaintOnNextLayer)
@@ -410,10 +410,10 @@ TEST_F(TiledLayerChromiumTest, pushTilesLayerMarkedDirtyDuringPaintOnNextLayer)
layer2.get(), layer2Impl.get());
// We should have both tiles on the impl side for all layers.
- EXPECT_TRUE(layer1Impl->hasTileAt(0, 0));
- EXPECT_TRUE(layer1Impl->hasTileAt(0, 1));
- EXPECT_TRUE(layer2Impl->hasTileAt(0, 0));
- EXPECT_TRUE(layer2Impl->hasTileAt(0, 1));
+ EXPECT_TRUE(layer1Impl->hasResourceIdForTileAt(0, 0));
+ EXPECT_TRUE(layer1Impl->hasResourceIdForTileAt(0, 1));
+ EXPECT_TRUE(layer2Impl->hasResourceIdForTileAt(0, 0));
+ EXPECT_TRUE(layer2Impl->hasResourceIdForTileAt(0, 1));
}
TEST_F(TiledLayerChromiumTest, pushTilesLayerMarkedDirtyDuringPaintOnPreviousLayer)
@@ -432,10 +432,10 @@ TEST_F(TiledLayerChromiumTest, pushTilesLayerMarkedDirtyDuringPaintOnPreviousLay
layer2.get(), layer2Impl.get());
// We should have both tiles on the impl side for all layers.
- EXPECT_TRUE(layer1Impl->hasTileAt(0, 0));
- EXPECT_TRUE(layer1Impl->hasTileAt(0, 1));
- EXPECT_TRUE(layer2Impl->hasTileAt(0, 0));
- EXPECT_TRUE(layer2Impl->hasTileAt(0, 1));
+ EXPECT_TRUE(layer1Impl->hasResourceIdForTileAt(0, 0));
+ EXPECT_TRUE(layer1Impl->hasResourceIdForTileAt(0, 1));
+ EXPECT_TRUE(layer2Impl->hasResourceIdForTileAt(0, 0));
+ EXPECT_TRUE(layer2Impl->hasResourceIdForTileAt(0, 1));
}
TEST_F(TiledLayerChromiumTest, paintSmallAnimatedLayersImmediately)
@@ -489,12 +489,12 @@ TEST_F(TiledLayerChromiumTest, paintSmallAnimatedLayersImmediately)
if (!runOutOfMemory[i]) {
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j)
- EXPECT_TRUE(layerImpl->hasTileAt(i, j));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(i, j));
}
} else {
for (int i = 0; i < 8; ++i) {
for (int j = 0; j < 4; ++j)
- EXPECT_EQ(layerImpl->hasTileAt(i, j), i < 4);
+ EXPECT_EQ(layerImpl->hasResourceIdForTileAt(i, j), i < 4);
}
}
}
@@ -521,7 +521,7 @@ TEST_F(TiledLayerChromiumTest, idlePaintOutOfMemory)
EXPECT_FALSE(needsUpdate);
// We should have one tile on the impl side.
- EXPECT_TRUE(layerImpl->hasTileAt(1, 1));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(1, 1));
}
TEST_F(TiledLayerChromiumTest, idlePaintZeroSizedLayer)
@@ -547,7 +547,7 @@ TEST_F(TiledLayerChromiumTest, idlePaintZeroSizedLayer)
EXPECT_FALSE(needsUpdate);
// Empty layers don't have tiles.
- EXPECT_FALSE(layerImpl->hasTileAt(0, 0));
+ EXPECT_FALSE(layerImpl->hasResourceIdForTileAt(0, 0));
}
}
@@ -577,7 +577,7 @@ TEST_F(TiledLayerChromiumTest, idlePaintNonVisibleLayers)
// We should never signal idle paint, as we painted the entire layer
// or the layer was not visible.
EXPECT_FALSE(needsUpdate);
- EXPECT_EQ(layerImpl->hasTileAt(0, 0), haveTile[i]);
+ EXPECT_EQ(layerImpl->hasResourceIdForTileAt(0, 0), haveTile[i]);
}
}
@@ -592,8 +592,8 @@ TEST_F(TiledLayerChromiumTest, invalidateFromPrepare)
updateAndPush(layer.get(), layerImpl.get());
// We should have both tiles on the impl side.
- EXPECT_TRUE(layerImpl->hasTileAt(0, 0));
- EXPECT_TRUE(layerImpl->hasTileAt(0, 1));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 0));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 1));
layer->fakeLayerTextureUpdater()->clearPrepareCount();
// Invoke update again. As the layer is valid update shouldn't be invoked on
@@ -673,10 +673,10 @@ TEST_F(TiledLayerChromiumTest, verifyInvalidationWhenContentsScaleChanges)
layer->update(*m_queue.get(), 0, m_stats);
updateTextures();
layerPushPropertiesTo(layer.get(), layerImpl.get());
- EXPECT_TRUE(layerImpl->hasTileAt(0, 0));
- EXPECT_FALSE(layerImpl->hasTileAt(0, 1));
- EXPECT_FALSE(layerImpl->hasTileAt(1, 0));
- EXPECT_FALSE(layerImpl->hasTileAt(1, 1));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 0));
+ EXPECT_FALSE(layerImpl->hasResourceIdForTileAt(0, 1));
+ EXPECT_FALSE(layerImpl->hasResourceIdForTileAt(1, 0));
+ EXPECT_FALSE(layerImpl->hasResourceIdForTileAt(1, 1));
// Change the contents scale and verify that the content rectangle requiring painting
// is not scaled.
@@ -690,10 +690,10 @@ TEST_F(TiledLayerChromiumTest, verifyInvalidationWhenContentsScaleChanges)
layer->update(*m_queue.get(), 0, m_stats);
updateTextures();
layerPushPropertiesTo(layer.get(), layerImpl.get());
- EXPECT_TRUE(layerImpl->hasTileAt(0, 0));
- EXPECT_TRUE(layerImpl->hasTileAt(0, 1));
- EXPECT_TRUE(layerImpl->hasTileAt(1, 0));
- EXPECT_TRUE(layerImpl->hasTileAt(1, 1));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 0));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 1));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(1, 0));
+ EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(1, 1));
// Invalidate the entire layer again, but do not paint. All tiles should be gone now from the
// impl side.
@@ -702,10 +702,10 @@ TEST_F(TiledLayerChromiumTest, verifyInvalidationWhenContentsScaleChanges)
m_textureManager->prioritizeTextures();
layerPushPropertiesTo(layer.get(), layerImpl.get());
- EXPECT_FALSE(layerImpl->hasTileAt(0, 0));
- EXPECT_FALSE(layerImpl->hasTileAt(0, 1));
- EXPECT_FALSE(layerImpl->hasTileAt(1, 0));
- EXPECT_FALSE(layerImpl->hasTileAt(1, 1));
+ EXPECT_FALSE(layerImpl->hasResourceIdForTileAt(0, 0));
+ EXPECT_FALSE(layerImpl->hasResourceIdForTileAt(0, 1));
+ EXPECT_FALSE(layerImpl->hasResourceIdForTileAt(1, 0));
+ EXPECT_FALSE(layerImpl->hasResourceIdForTileAt(1, 1));
}
TEST_F(TiledLayerChromiumTest, skipsDrawGetsReset)
@@ -1375,9 +1375,9 @@ TEST_F(TiledLayerChromiumTest, dontAllocateContentsWhenTargetSurfaceCantBeAlloca
for (unsigned i = 0; i < 3; ++i) {
for (unsigned j = 0; j < 2; ++j)
- EXPECT_TRUE(rootImpl->hasTextureIdForTileAt(i, j));
- EXPECT_TRUE(childImpl->hasTextureIdForTileAt(i, 0));
- EXPECT_TRUE(child2Impl->hasTextureIdForTileAt(i, 0));
+ EXPECT_TRUE(rootImpl->hasResourceIdForTileAt(i, j));
+ EXPECT_TRUE(childImpl->hasResourceIdForTileAt(i, 0));
+ EXPECT_TRUE(child2Impl->hasResourceIdForTileAt(i, 0));
}
}
ccLayerTreeHost->commitComplete();
@@ -1410,9 +1410,9 @@ TEST_F(TiledLayerChromiumTest, dontAllocateContentsWhenTargetSurfaceCantBeAlloca
for (unsigned i = 0; i < 3; ++i) {
for (unsigned j = 0; j < 2; ++j)
- EXPECT_TRUE(rootImpl->hasTextureIdForTileAt(i, j));
- EXPECT_FALSE(childImpl->hasTextureIdForTileAt(i, 0));
- EXPECT_FALSE(child2Impl->hasTextureIdForTileAt(i, 0));
+ EXPECT_TRUE(rootImpl->hasResourceIdForTileAt(i, j));
+ EXPECT_FALSE(childImpl->hasResourceIdForTileAt(i, 0));
+ EXPECT_FALSE(child2Impl->hasResourceIdForTileAt(i, 0));
}
}
ccLayerTreeHost->commitComplete();
@@ -1446,9 +1446,9 @@ TEST_F(TiledLayerChromiumTest, dontAllocateContentsWhenTargetSurfaceCantBeAlloca
for (unsigned i = 0; i < 3; ++i) {
for (unsigned j = 0; j < 2; ++j)
- EXPECT_FALSE(rootImpl->hasTextureIdForTileAt(i, j));
- EXPECT_FALSE(childImpl->hasTextureIdForTileAt(i, 0));
- EXPECT_FALSE(child2Impl->hasTextureIdForTileAt(i, 0));
+ EXPECT_FALSE(rootImpl->hasResourceIdForTileAt(i, j));
+ EXPECT_FALSE(childImpl->hasResourceIdForTileAt(i, 0));
+ EXPECT_FALSE(child2Impl->hasResourceIdForTileAt(i, 0));
}
}
ccLayerTreeHost->commitComplete();