diff options
author | Brian Salomon <bsalomon@google.com> | 2018-05-24 13:22:01 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-05-24 18:59:19 +0000 |
commit | 542685014b4554fdbfab0891ad8a5bfe017d9a7b (patch) | |
tree | f83fd62569606ee25f9e5e71a96df383e5eef761 /gm | |
parent | 5a5e08495eabcbf616965326d19ab63bb92ceae9 (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.cpp | 2 | ||||
-rw-r--r-- | gm/ninepatchstretch.cpp | 2 | ||||
-rw-r--r-- | gm/perspshaders.cpp | 2 |
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); } |