aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkRecordOpts.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/SkRecordOpts.cpp')
-rw-r--r--src/core/SkRecordOpts.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/SkRecordOpts.cpp b/src/core/SkRecordOpts.cpp
index 605caa3b06..bd8364fcda 100644
--- a/src/core/SkRecordOpts.cpp
+++ b/src/core/SkRecordOpts.cpp
@@ -192,6 +192,11 @@ struct SaveLayerDrawRestoreNooper {
return false;
}
+ if (match->first<SaveLayer>()->saveLayerFlags & (1U << 31)) {
+ // can't throw away the layer if the kDontClipToLayer_PrivateSaveLayerFlag is set
+ return false;
+ }
+
// A SaveLayer's bounds field is just a hint, so we should be free to ignore it.
SkPaint* layerPaint = match->first<SaveLayer>()->paint;
SkPaint* drawPaint = match->second<SkPaint>();