diff options
author | robertphillips <robertphillips@google.com> | 2014-10-28 07:21:44 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-28 07:21:44 -0700 |
commit | fd61ed0d7929cf85e0b936f48c72035af4c0a4b3 (patch) | |
tree | c91a06c5372a7846a01fe12a21e7597a790f88a3 /tests/GpuLayerCacheTest.cpp | |
parent | ed53742e92c94d5ce20b982833725cf20546aaca (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.cpp | 8 |
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()); |