| Index: cc/surfaces/surface_aggregator.cc
|
| diff --git a/cc/surfaces/surface_aggregator.cc b/cc/surfaces/surface_aggregator.cc
|
| index fd51529b35923581504757f67c2fd139d701c78f..7d2a86bbadcceb33c3b9489cc88273d9cc9a3f68 100644
|
| --- a/cc/surfaces/surface_aggregator.cc
|
| +++ b/cc/surfaces/surface_aggregator.cc
|
| @@ -710,6 +710,12 @@ gfx::Rect SurfaceAggregator::PrewalkTree(const SurfaceId& surface_id,
|
| }
|
|
|
| CHECK(debug_weak_this.get());
|
| + if (surface->HasRootCopyRequests() && !frame.render_pass_list.empty()) {
|
| + int remapped_pass_id =
|
| + RemapPassId(frame.render_pass_list.back()->id, surface_id);
|
| + copy_request_passes_.insert(remapped_pass_id);
|
| + }
|
| +
|
| for (const auto& render_pass : frame.render_pass_list) {
|
| if (!render_pass->copy_requests.empty()) {
|
| int remapped_pass_id = RemapPassId(render_pass->id, surface_id);
|
| @@ -740,7 +746,7 @@ void SurfaceAggregator::CopyUndrawnSurfaces(PrewalkResult* prewalk_result) {
|
| if (!surface->HasActiveFrame())
|
| continue;
|
| const CompositorFrame& frame = surface->GetActiveFrame();
|
| - bool surface_has_copy_requests = false;
|
| + bool surface_has_copy_requests = surface->HasRootCopyRequests();
|
| for (const auto& render_pass : frame.render_pass_list) {
|
| surface_has_copy_requests |= !render_pass->copy_requests.empty();
|
| }
|
|
|