diff options
author | 2018-01-04 15:28:39 -0500 | |
---|---|---|
committer | 2018-01-04 21:25:54 +0000 | |
commit | 876c841f9b4c57c404c572de1c862e39cc6a05a4 (patch) | |
tree | dffc842af8a5dbbc207a4c4fb335be626b53ae68 /gm/drawminibitmaprect.cpp | |
parent | 7edde238f741b7954a18797e88dcd04b59d79d2f (diff) |
Always create a raster (cached) image
This avoids bugs in Viewer when starting in GL or Vulkan, then trying to
reuse the image that points to a (possibly deleted) context when
switching backends.
Bug: skia:
Change-Id: I4628aba5298bb733b8f4bb562cdbc872779d2829
Reviewed-on: https://skia-review.googlesource.com/90882
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'gm/drawminibitmaprect.cpp')
-rw-r--r-- | gm/drawminibitmaprect.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gm/drawminibitmaprect.cpp b/gm/drawminibitmaprect.cpp index b463d0614f..be842dc912 100644 --- a/gm/drawminibitmaprect.cpp +++ b/gm/drawminibitmaprect.cpp @@ -13,11 +13,10 @@ #include "SkRandom.h" #include "SkShader.h" #include "SkSurface.h" -#include "sk_tool_utils.h" -static sk_sp<SkImage> makebm(SkCanvas* caller, int w, int h) { +static sk_sp<SkImage> makebm(int w, int h) { SkImageInfo info = SkImageInfo::MakeN32Premul(w, h); - auto surface(sk_tool_utils::makeSurface(caller, info)); + auto surface(SkSurface::MakeRaster(info)); SkCanvas* canvas = surface->getCanvas(); const SkScalar wScalar = SkIntToScalar(w); @@ -79,7 +78,7 @@ protected: void onDraw(SkCanvas* canvas) override { if (nullptr == fImage) { - fImage = makebm(canvas, gSurfaceSize, gSurfaceSize); + fImage = makebm(gSurfaceSize, gSurfaceSize); } const SkRect dstRect = { 0, 0, SkIntToScalar(64), SkIntToScalar(64)}; |