Index: src/core/SkSpecialImage.cpp |
diff --git a/src/core/SkSpecialImage.cpp b/src/core/SkSpecialImage.cpp |
index 081b2a5b765ed560a915c917af557ff39963ed06..f903270dff72dfd1569cbe9a9c9fe45d1dd0d69d 100644 |
--- a/src/core/SkSpecialImage.cpp |
+++ b/src/core/SkSpecialImage.cpp |
@@ -473,12 +473,11 @@ public: |
SkRect dst = SkRect::MakeXYWH(x, y, |
this->subset().width(), this->subset().height()); |
- SkBitmap bm; |
+ auto img = sk_sp<SkImage>(new SkImage_Gpu(fTexture->width(), fTexture->height(), |
+ this->uniqueID(), fAlphaType, fTexture.get(), |
+ SkBudgeted::kNo)); |
- GrWrapTextureInBitmap(fTexture.get(), |
- fTexture->width(), fTexture->height(), this->isOpaque(), &bm); |
- |
- canvas->drawBitmapRect(bm, this->subset(), |
+ canvas->drawImageRect(img, this->subset(), |
dst, paint, SkCanvas::kStrict_SrcRectConstraint); |
} |