aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm
diff options
context:
space:
mode:
authorGravatar Brian Salomon <bsalomon@google.com>2018-05-24 13:22:01 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-05-24 18:59:19 +0000
commit542685014b4554fdbfab0891ad8a5bfe017d9a7b (patch)
treef83fd62569606ee25f9e5e71a96df383e5eef761 /gm
parent5a5e08495eabcbf616965326d19ab63bb92ceae9 (diff)
Make GMs with persistent SkImages that may be texture backed recreate
their images if the underlying GrContext is abandoned. Change-Id: Ibcb6aa25c3bb5a2f705d56c86382295449fe2d7a Reviewed-on: https://skia-review.googlesource.com/129983 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'gm')
-rw-r--r--gm/drawbitmaprect.cpp2
-rw-r--r--gm/ninepatchstretch.cpp2
-rw-r--r--gm/perspshaders.cpp2
3 files changed, 3 insertions, 3 deletions
diff --git a/gm/drawbitmaprect.cpp b/gm/drawbitmaprect.cpp
index e90f52df76..77125c5e7e 100644
--- a/gm/drawbitmaprect.cpp
+++ b/gm/drawbitmaprect.cpp
@@ -153,7 +153,7 @@ protected:
}
void onDraw(SkCanvas* canvas) override {
- if (!fImage) {
+ if (!fImage || !fImage->isValid(canvas->getGrContext())) {
this->setupImage(canvas);
}
diff --git a/gm/ninepatchstretch.cpp b/gm/ninepatchstretch.cpp
index c905cee803..1644c2cae2 100644
--- a/gm/ninepatchstretch.cpp
+++ b/gm/ninepatchstretch.cpp
@@ -67,7 +67,7 @@ protected:
}
void onDraw(SkCanvas* canvas) override {
- if (nullptr == fBitmap.pixelRef()) {
+ if (nullptr == fBitmap.pixelRef() || !fImage->isValid(canvas->getGrContext())) {
fImage = make_image(canvas, &fCenter);
image_to_bitmap(fImage.get(), &fBitmap);
}
diff --git a/gm/perspshaders.cpp b/gm/perspshaders.cpp
index dd1a15a79b..31c48f2896 100644
--- a/gm/perspshaders.cpp
+++ b/gm/perspshaders.cpp
@@ -136,7 +136,7 @@ protected:
}
void onDraw(SkCanvas* canvas) override {
- if (!fImage) {
+ if (!fImage || !fImage->isValid(canvas->getGrContext())) {
fImage = make_image(canvas, kCellSize, kCellSize);
}