Index: cc/layers/texture_layer.cc |
diff --git a/cc/layers/texture_layer.cc b/cc/layers/texture_layer.cc |
index bc6b58a0342145bce3130c02d6983591f33855f9..4d51f6472d61d01303f48bedc4ec75314f3fda42 100644 |
--- a/cc/layers/texture_layer.cc |
+++ b/cc/layers/texture_layer.cc |
@@ -37,7 +37,8 @@ TextureLayer::TextureLayer(TextureLayerClient* client, bool uses_mailbox) |
rate_limit_context_(false), |
content_committed_(false), |
texture_id_(0), |
- needs_set_mailbox_(false) { |
+ needs_set_mailbox_(false), |
+ did_use_shared_memory_resources_(false) { |
vertex_opacity_[0] = 1.0f; |
vertex_opacity_[1] = 1.0f; |
vertex_opacity_[2] = 1.0f; |
@@ -221,6 +222,13 @@ bool TextureLayer::Update(ResourceUpdateQueue* queue, |
bool updated = Layer::Update(queue, occlusion); |
if (client_) { |
if (uses_mailbox_) { |
+ bool use_shared_memory_resources = |
+ layer_tree_host()->UsingSharedMemoryResources(); |
+ if (did_use_shared_memory_resources_ != use_shared_memory_resources) { |
+ holder_ref_.reset(); |
danakj
2014/02/14 19:38:50
Now that we're here, I wonder.. the call to Prepar
boliu
2014/02/14 22:03:08
Good point...removed all this code and just make t
|
+ } |
+ did_use_shared_memory_resources_ = use_shared_memory_resources; |
+ |
TextureMailbox mailbox; |
scoped_ptr<SingleReleaseCallback> release_callback; |
if (client_->PrepareTextureMailbox( |