Chromium Code Reviews| Index: cc/layers/picture_layer_impl.cc |
| diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc |
| index 29d84f22556bd443dce5e1beed587ba5d2eced34..4d6eff894af2ba533e42438edafc5529e48370f9 100644 |
| --- a/cc/layers/picture_layer_impl.cc |
| +++ b/cc/layers/picture_layer_impl.cc |
| @@ -157,7 +157,8 @@ void PictureLayerImpl::AppendQuads(QuadSink* quad_sink, |
| iter; |
| ++iter) { |
| gfx::Rect geometry_rect = iter.geometry_rect(); |
| - if (!*iter || !iter->drawing_info().IsReadyToDraw()) { |
| + if (!*iter || (!iter->drawing_info().IsReadyToDraw() && |
| + !append_quads_data->cannot_append_tile_draw_quads)) { |
| if (DrawCheckerboardForMissingTiles()) { |
| // TODO(enne): Figure out how to show debug "invalidated checker" color |
| scoped_ptr<CheckerboardDrawQuad> quad = CheckerboardDrawQuad::Create(); |
| @@ -194,7 +195,11 @@ void PictureLayerImpl::AppendQuads(QuadSink* quad_sink, |
| } |
| const ManagedTileState::DrawingInfo& drawing_info = iter->drawing_info(); |
| - switch (drawing_info.mode()) { |
| + ManagedTileState::DrawingInfo::Mode mode = iter->drawing_info().mode(); |
| + if (append_quads_data->cannot_append_tile_draw_quads && |
|
enne (OOO)
2013/04/28 22:42:27
I think you should not append one picture quad per
aelias_OOO_until_Jul13
2013/04/30 07:28:20
Agreed, although cut-and-pasting that snippet resu
|
| + mode == ManagedTileState::DrawingInfo::RESOURCE_MODE) |
| + mode = ManagedTileState::DrawingInfo::PICTURE_PILE_MODE; |
| + switch (mode) { |
| case ManagedTileState::DrawingInfo::RESOURCE_MODE: { |
| gfx::RectF texture_rect = iter.texture_rect(); |
| gfx::Rect opaque_rect = iter->opaque_rect(); |
| @@ -547,6 +552,9 @@ bool PictureLayerImpl::AreVisibleResourcesReady() const { |
| DCHECK(layer_tree_impl()->IsPendingTree()); |
| DCHECK(ideal_contents_scale_); |
| + if (layer_tree_impl()->settings().tile_free_software_compositing) |
|
enne (OOO)
2013/04/28 22:42:27
Settings are considered to be immutable. I'm not
aelias_OOO_until_Jul13
2013/04/30 07:28:20
I deleted this, it was a workaround for the issue
|
| + return true; |
| + |
| if (!tilings_->num_tilings()) |
| return true; |