Commit e3c79bdf authored by jbauman's avatar jbauman Committed by Commit bot

Always force swap for SurfaceDisplayOutputSurface.

Force reclaim clears out the Surface's copy of the delegated frame, so a swap is always necessary to restore its contents.

Review URL: https://codereview.chromium.org/886633007

Cr-Commit-Position: refs/heads/master@{#314492}
parent 15a51028
...@@ -25,6 +25,9 @@ SurfaceDisplayOutputSurface::SurfaceDisplayOutputSurface( ...@@ -25,6 +25,9 @@ SurfaceDisplayOutputSurface::SurfaceDisplayOutputSurface(
capabilities_.delegated_rendering = true; capabilities_.delegated_rendering = true;
capabilities_.max_frames_pending = 1; capabilities_.max_frames_pending = 1;
capabilities_.can_force_reclaim_resources = true; capabilities_.can_force_reclaim_resources = true;
// Frame always needs to be swapped because forced resource reclaiming
// destroys the Display's copy.
capabilities_.draw_and_swap_full_viewport_every_frame = true;
} }
SurfaceDisplayOutputSurface::~SurfaceDisplayOutputSurface() { SurfaceDisplayOutputSurface::~SurfaceDisplayOutputSurface() {
......
...@@ -675,6 +675,7 @@ DrawResult LayerTreeHostImpl::CalculateRenderPasses( ...@@ -675,6 +675,7 @@ DrawResult LayerTreeHostImpl::CalculateRenderPasses(
if (root_surface_has_contributing_layers && if (root_surface_has_contributing_layers &&
root_surface_has_no_visible_damage && root_surface_has_no_visible_damage &&
active_tree_->LayersWithCopyOutputRequest().empty() && active_tree_->LayersWithCopyOutputRequest().empty() &&
!output_surface_->capabilities().can_force_reclaim_resources &&
!hud_wants_to_draw_) { !hud_wants_to_draw_) {
TRACE_EVENT0("cc", TRACE_EVENT0("cc",
"LayerTreeHostImpl::CalculateRenderPasses::EmptyDamageRect"); "LayerTreeHostImpl::CalculateRenderPasses::EmptyDamageRect");
......
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