Index: cc/layers/picture_layer_impl.cc |
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc |
index 718535bebc523b27d4abb6afeaff4ca19ab73a30..33366c8ce2bbe1579ec75316d62a12e2618bb4a7 100644 |
--- a/cc/layers/picture_layer_impl.cc |
+++ b/cc/layers/picture_layer_impl.cc |
@@ -362,7 +362,8 @@ void PictureLayerImpl::AppendQuads(RenderPass* render_pass, |
ResourceProvider* resource_provider = |
layer_tree_impl()->resource_provider(); |
ResourceFormat format = |
- resource_provider->memory_efficient_texture_format(); |
+ resource_provider->memory_efficient_texture_format( |
+ FORMAT_USAGE_NATIVE); |
PictureDrawQuad* quad = |
render_pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
quad->SetNew(shared_quad_state, geometry_rect, opaque_rect, |
@@ -631,6 +632,8 @@ scoped_refptr<Tile> PictureLayerImpl::CreateTile( |
// Otherwise, always analyze to maximize memory savings. |
if (!is_mask_) |
flags = Tile::USE_PICTURE_ANALYSIS; |
+ if (contents_opaque()) |
+ flags |= Tile::IS_OPAQUE; |
return layer_tree_impl()->tile_manager()->CreateTile( |
raster_source_.get(), content_rect.size(), content_rect, contents_scale, |