Index: cc/trees/layer_tree_host_impl.cc |
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc |
index afba687b2d8d3bcdc42ae39e27fdb42e95d1e043..3af5ba4cfe564ee567c02f565550b488042c55c3 100644 |
--- a/cc/trees/layer_tree_host_impl.cc |
+++ b/cc/trees/layer_tree_host_impl.cc |
@@ -1608,6 +1608,9 @@ void LayerTreeHostImpl::DidDrawAllLayers(const FrameData& frame) { |
// Once all layers have been drawn, pending texture uploads should no |
// longer block future uploads. |
resource_provider_->MarkPendingUploadsAsNonBlocking(); |
+ |
+ if (active_tree()->RequiresHighResToDraw()) |
+ active_tree()->ResetRequiresHighResToDraw(); |
sohanjg
2014/09/10 06:28:07
we reset this on swap buffers too, but tests don't
|
} |
void LayerTreeHostImpl::FinishAllRendering() { |
@@ -2062,6 +2065,12 @@ bool LayerTreeHostImpl::InitializeRenderer( |
return false; |
output_surface_ = output_surface.Pass(); |
+ |
+ // There will not be anything to draw here, so set high res |
+ // to avoid checkerboards, typically when we are recovering |
+ // from lost context. |
+ active_tree_->SetRequiresHighResToDraw(); |
+ |
have_valid_output_surface_ = true; |
resource_provider_ = |
ResourceProvider::Create(output_surface_.get(), |