Index: cc/layers/picture_layer.cc |
diff --git a/cc/layers/picture_layer.cc b/cc/layers/picture_layer.cc |
index 6cacd6fca499d11388277351b805970c77e541e6..7c1502085e997d7e2c41486ce17238913a51770c 100644 |
--- a/cc/layers/picture_layer.cc |
+++ b/cc/layers/picture_layer.cc |
@@ -146,6 +146,11 @@ bool PictureLayer::Update() { |
} |
void PictureLayer::SetLayerMaskType(LayerMaskType mask_type) { |
+ // We do not allow converting SINGLE_TEXTURE_MASK to MULTI_TEXTURE_MASK in |
+ // order to avoid rerastering when a mask's transform is being animated. |
+ if (mask_type_ == LayerMaskType::SINGLE_TEXTURE_MASK && |
+ LayerMaskType::MULTI_TEXTURE_MASK) |
+ return; |
mask_type_ = mask_type; |
} |