aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/GpuLayerCacheTest.cpp
diff options
context:
space:
mode:
authorGravatar robertphillips <robertphillips@google.com>2014-10-28 07:21:44 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-10-28 07:21:44 -0700
commitfd61ed0d7929cf85e0b936f48c72035af4c0a4b3 (patch)
treec91a06c5372a7846a01fe12a21e7597a790f88a3 /tests/GpuLayerCacheTest.cpp
parented53742e92c94d5ce20b982833725cf20546aaca (diff)
Alter layer hoisting to only hoist layers for one canvas at a time
This CL alters layer hoisting to defer creation of the free floating layers until they are actually needed (rather than creating _all_ the hoisted layers at the start). It also fixes a pre vs. post Concat bug with how matrices were being accumulated. BUG=skia:2315 Review URL: https://codereview.chromium.org/657383004
Diffstat (limited to 'tests/GpuLayerCacheTest.cpp')
-rw-r--r--tests/GpuLayerCacheTest.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/tests/GpuLayerCacheTest.cpp b/tests/GpuLayerCacheTest.cpp
index 62f6ec7a8c..0a8d0d2442 100644
--- a/tests/GpuLayerCacheTest.cpp
+++ b/tests/GpuLayerCacheTest.cpp
@@ -66,10 +66,14 @@ static void lock_layer(skiatest::Reporter* reporter,
desc.fHeight = 512;
desc.fConfig = kSkia8888_GrPixelConfig;
- bool needsRerendering = cache->lock(layer, desc, false);
+ bool needsRerendering;
+ bool inAtlas = cache->tryToAtlas(layer, desc, &needsRerendering);
+ if (!inAtlas) {
+ cache->lock(layer, desc, &needsRerendering);
+ }
REPORTER_ASSERT(reporter, needsRerendering);
- needsRerendering = cache->lock(layer, desc, false);
+ cache->lock(layer, desc, &needsRerendering);
REPORTER_ASSERT(reporter, !needsRerendering);
REPORTER_ASSERT(reporter, layer->texture());