| Index: cc/surfaces/display.cc
|
| diff --git a/cc/surfaces/display.cc b/cc/surfaces/display.cc
|
| index 7ec46727385581123b61289e353b1d6d98821024..ab1f0afcdf7790e08433b4d867c31a3d0c9eb9b4 100644
|
| --- a/cc/surfaces/display.cc
|
| +++ b/cc/surfaces/display.cc
|
| @@ -134,46 +134,25 @@ bool Display::Draw() {
|
| }
|
| DelegatedFrameData* frame_data = frame->delegated_frame_data.get();
|
|
|
| - frame->metadata.latency_info.insert(frame->metadata.latency_info.end(),
|
| - stored_latency_info_.begin(),
|
| - stored_latency_info_.end());
|
| - stored_latency_info_.clear();
|
| - bool have_copy_requests = false;
|
| - for (const auto* pass : frame_data->render_pass_list) {
|
| - have_copy_requests |= !pass->copy_requests.empty();
|
| - }
|
| + gfx::Size surface_size =
|
| + frame_data->render_pass_list.back()->output_rect.size();
|
|
|
| - gfx::Size surface_size;
|
| - bool have_damage = false;
|
| - if (!frame_data->render_pass_list.empty()) {
|
| - surface_size = frame_data->render_pass_list.back()->output_rect.size();
|
| - have_damage =
|
| - !frame_data->render_pass_list.back()->damage_rect.size().IsEmpty();
|
| - }
|
| - bool avoid_swap = surface_size != current_surface_size_;
|
| - bool should_draw = !frame->metadata.latency_info.empty() ||
|
| - have_copy_requests || (have_damage && !avoid_swap);
|
| -
|
| - if (should_draw) {
|
| - gfx::Rect device_viewport_rect = gfx::Rect(current_surface_size_);
|
| - gfx::Rect device_clip_rect = device_viewport_rect;
|
| - bool disable_picture_quad_image_filtering = false;
|
| -
|
| - renderer_->DecideRenderPassAllocationsForFrame(
|
| - frame_data->render_pass_list);
|
| - renderer_->DrawFrame(&frame_data->render_pass_list, device_scale_factor_,
|
| - device_viewport_rect, device_clip_rect,
|
| - disable_picture_quad_image_filtering);
|
| - }
|
| + gfx::Rect device_viewport_rect = gfx::Rect(current_surface_size_);
|
| + gfx::Rect device_clip_rect = device_viewport_rect;
|
| + bool disable_picture_quad_image_filtering = false;
|
|
|
| - if (should_draw && !avoid_swap) {
|
| - renderer_->SwapBuffers(frame->metadata);
|
| - } else {
|
| - stored_latency_info_.insert(stored_latency_info_.end(),
|
| - frame->metadata.latency_info.begin(),
|
| - frame->metadata.latency_info.end());
|
| + renderer_->DecideRenderPassAllocationsForFrame(frame_data->render_pass_list);
|
| + renderer_->DrawFrame(&frame_data->render_pass_list,
|
| + device_scale_factor_,
|
| + device_viewport_rect,
|
| + device_clip_rect,
|
| + disable_picture_quad_image_filtering);
|
| +
|
| + if (surface_size != current_surface_size_) {
|
| DidSwapBuffers();
|
| DidSwapBuffersComplete();
|
| + } else {
|
| + renderer_->SwapBuffers(frame->metadata);
|
| }
|
|
|
| return true;
|
|
|