Commit 16ff972e authored by kylechar's avatar kylechar Committed by Commit Bot

Revert "Don't disable draw during resize"

This reverts commit 985a1f41.

Reason for revert: https://crbug.com/1055738

Original change's description:
> Don't disable draw during resize
> 
> https://crrev.com/c/2011130 changed Display::DisableSwapUntilResize() to
> also block draw instead of just swap. This had the side of effect of
> blocking draw when the browser window is minimized, which means we stop
> casting tab/window contents. Switch DisableSwapUntilResize() back to
> just block swap instead of draw+swap.
> 
> Bug: 1054239, b/149923568
> Change-Id: I66a10dc1e801c56783107ce4412ab557f70da9f8
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2068642
> Commit-Queue: kylechar <kylechar@chromium.org>
> Reviewed-by: Saman Sami <samans@chromium.org>
> Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#744018}

TBR=kylechar@chromium.org,samans@chromium.org,vasilyt@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 1054239, 1055738, b/149923568
Change-Id: I43a2f985c36fbc4f38e143beb650981acd1a3d7a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2076518Reviewed-by: default avatarkylechar <kylechar@chromium.org>
Commit-Queue: kylechar <kylechar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#744847}
parent 7a5bb52a
......@@ -354,7 +354,7 @@ void Display::SetVisible(bool visible) {
}
void Display::Resize(const gfx::Size& size) {
disable_swap_until_resize_ = false;
disable_draw_until_resize_ = false;
if (size == current_surface_size_)
return;
......@@ -376,7 +376,7 @@ void Display::DisableSwapUntilResize(
TRACE_EVENT0("viz", "Display::DisableSwapUntilResize");
DCHECK(no_pending_swaps_callback_.is_null());
if (!disable_swap_until_resize_) {
if (!disable_draw_until_resize_) {
DCHECK(scheduler_);
if (!swapped_since_resize_)
......@@ -388,7 +388,7 @@ void Display::DisableSwapUntilResize(
no_pending_swaps_callback_ = std::move(no_pending_swaps_callback);
}
disable_swap_until_resize_ = true;
disable_draw_until_resize_ = true;
}
// There are no pending swaps for current size so immediately run callback.
......@@ -618,7 +618,8 @@ bool Display::DrawAndSwap(base::TimeTicks expected_display_time) {
if (!size_matches)
TRACE_EVENT_INSTANT0("viz", "Size mismatch.", TRACE_EVENT_SCOPE_THREAD);
bool should_draw = have_copy_requests || (have_damage && size_matches);
bool should_draw = !disable_draw_until_resize_ &&
(have_copy_requests || (have_damage && size_matches));
client_->DisplayWillDrawAndSwap(should_draw, &frame.render_pass_list);
base::Optional<base::ElapsedTimer> draw_timer;
......@@ -665,7 +666,7 @@ bool Display::DrawAndSwap(base::TimeTicks expected_display_time) {
TRACE_EVENT_INSTANT0("viz", "Draw skipped.", TRACE_EVENT_SCOPE_THREAD);
}
bool should_swap = !disable_swap_until_resize_ && should_draw && size_matches;
bool should_swap = should_draw && size_matches;
if (should_swap) {
PresentationGroupTiming presentation_group_timing;
presentation_group_timing.OnDraw(draw_timer->Begin());
......
......@@ -253,7 +253,7 @@ class VIZ_SERVICE_EXPORT Display : public DisplaySchedulerClient,
base::circular_deque<Display::PresentationGroupTiming>
pending_presentation_group_timings_;
bool disable_swap_until_resize_ = true;
bool disable_draw_until_resize_ = true;
// Callback that will be run after all pending swaps have acked.
base::OnceClosure no_pending_swaps_callback_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment