summaryrefslogtreecommitdiffstats
path: root/cc/tiled_layer_unittest.cc
diff options
context:
space:
mode:
authorccameron@chromium.org <ccameron@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-30 05:21:14 +0000
committerccameron@chromium.org <ccameron@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-30 05:21:14 +0000
commit9fa7d38937304e85e1cd2d477ad56539e519edf4 (patch)
tree60e7382741ab4770e0925f642d788aebe8ee8b8a /cc/tiled_layer_unittest.cc
parent8d3b636ac2dea51a6c09dfbf3e467f118eff7d4e (diff)
downloadchromium_src-9fa7d38937304e85e1cd2d477ad56539e519edf4.zip
chromium_src-9fa7d38937304e85e1cd2d477ad56539e519edf4.tar.gz
chromium_src-9fa7d38937304e85e1cd2d477ad56539e519edf4.tar.bz2
Use a mutex to deal with concurrent access to the m_evictedBackings
list, instead of passing the list of pointers around. In ThreadProxy::beginFrame, we unlink all evicted textures, so that the call to updateLayers will know to re-paint the evicted layers. In ThreadProxy::scheduleActionCommit, we determine if we can draw now by checking to see if there exist any linked evicted textures. If there are none, we can draw what we are in the process of committing. This assumes that once we get to m_layerTreeHost->willBeginFrame() in ThreadProxy::beginFrame, the next frame to be commited by ThreadProxy::scheduleActionCommit be at or after the frame that is being produced by that call to ThreadProxy::beginFrame. BUG=158747 Review URL: https://chromiumcodereview.appspot.com/11411251 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170403 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/tiled_layer_unittest.cc')
-rw-r--r--cc/tiled_layer_unittest.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/cc/tiled_layer_unittest.cc b/cc/tiled_layer_unittest.cc
index 52c4bea..b1336c8 100644
--- a/cc/tiled_layer_unittest.cc
+++ b/cc/tiled_layer_unittest.cc
@@ -94,9 +94,12 @@ public:
};
void resourceManagerClearAllMemory(PrioritizedResourceManager* resourceManager, ResourceProvider* resourceProvider)
{
- DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked(m_proxy);
- resourceManager->clearAllMemory(resourceProvider);
- resourceManager->reduceMemory(resourceProvider);
+ {
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked(m_proxy);
+ resourceManager->clearAllMemory(resourceProvider);
+ resourceManager->reduceMemory(resourceProvider);
+ }
+ resourceManager->unlinkAndClearEvictedBackings();
}
void updateTextures()
{