aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/SkGpuDevice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/SkGpuDevice.cpp')
-rw-r--r--src/gpu/SkGpuDevice.cpp12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index 5de1000085..a3f00c1434 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -641,13 +641,6 @@ void SkGpuDevice::drawOval(const SkDraw& draw, const SkRect& oval, const SkPaint
///////////////////////////////////////////////////////////////////////////////
-static SkBitmap wrap_texture(GrTexture* texture, int width, int height) {
- SkBitmap result;
- result.setInfo(SkImageInfo::MakeN32Premul(width, height));
- result.setPixelRef(new SkGrPixelRef(result.info(), texture))->unref();
- return result;
-}
-
void SkGpuDevice::drawPath(const SkDraw& draw, const SkPath& origSrcPath,
const SkPaint& paint, const SkMatrix* prePathMatrix,
bool pathIsMutable) {
@@ -1139,8 +1132,9 @@ bool SkGpuDevice::filterTexture(GrContext* context, GrTexture* texture,
SkImageFilter::DeviceProxy proxy(this);
if (filter->canFilterImageGPU()) {
- return filter->filterImageGPU(&proxy, wrap_texture(texture, width, height),
- ctx, result, offset);
+ SkBitmap bm;
+ GrWrapTextureInBitmap(texture, width, height, false, &bm);
+ return filter->filterImageGPU(&proxy, bm, ctx, result, offset);
} else {
return false;
}