|
cc: Rationalize sync points and lost status for returned resources
Right now, under certain circumstances, the lost status and sync point for
returned resources may be incorrect. The problem lies in the
DelegatedFrameResourceCollection, which uses the values from the last unref, but
that one might be in-process / out-of-order, and not know about sync points or
lost status from a parent compositor (or even the impl thread).
This CL makes sure we only return a positive sync point for a resource that was
used by a resource provider or one of its parents. In particular, resources that
aren't use should return a sync point of 0. This allows us to merge the returns,
under the assumption that there is only one real user, the topmost parent, which
also inserts sync points in the same order it returns resources.
BUG=None
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+146 lines, -104 lines) |
Patch |
 |
M |
cc/layers/delegated_frame_resource_collection.h
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
M |
cc/layers/delegated_frame_resource_collection.cc
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
 |
M |
cc/layers/texture_layer.cc
|
View
|
|
1 chunk |
+2 lines, -3 lines |
0 comments
|
Download
|
 |
M |
cc/layers/texture_layer_impl.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
cc/layers/texture_layer_unittest.cc
|
View
|
|
6 chunks |
+10 lines, -23 lines |
0 comments
|
Download
|
 |
M |
cc/resources/resource_provider.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
cc/resources/resource_provider.cc
|
View
|
|
12 chunks |
+41 lines, -41 lines |
0 comments
|
Download
|
 |
M |
cc/resources/resource_provider_unittest.cc
|
View
|
|
13 chunks |
+78 lines, -35 lines |
0 comments
|
Download
|
 |
M |
cc/resources/transferable_resource.cc
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
cc/trees/layer_tree_host_unittest_delegated.cc
|
View
|
|
2 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
|