| Index: src/core/SkImageFilter.cpp
|
| diff --git a/src/core/SkImageFilter.cpp b/src/core/SkImageFilter.cpp
|
| index d7af4e65d0656c13572683b08a429c52f13f87ad..15241466ff912324489b425f85e9285d8572b9a8 100644
|
| --- a/src/core/SkImageFilter.cpp
|
| +++ b/src/core/SkImageFilter.cpp
|
| @@ -347,7 +347,8 @@ bool SkImageFilter::filterImageGPU(Proxy* proxy, const SkBitmap& src, const Cont
|
| desc.fHeight = bounds.height();
|
| desc.fConfig = kRGBA_8888_GrPixelConfig;
|
|
|
| - SkAutoTUnref<GrTexture> dst(context->textureProvider()->createApproxTexture(desc));
|
| + SkAutoTUnref<GrTexture> dst(context->textureProvider()->createTexture(desc,
|
| + proxy->getSizeConstraint()));
|
| if (!dst) {
|
| return false;
|
| }
|
| @@ -600,6 +601,15 @@ void SkImageFilter::PurgeCache() {
|
|
|
| ///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
| +#if SK_SUPPORT_GPU
|
| +SkImageFilter::Proxy::Proxy(bool requireExactTextureSize)
|
| + : fSizeConstraint(requireExactTextureSize ? GrTextureProvider::kExact_SizeConstraint
|
| + : GrTextureProvider::kApprox_SizeConstraint)
|
| +{}
|
| +#else
|
| +SkImageFilter::Proxy::Proxy(bool) {}
|
| +#endif
|
| +
|
| SkBaseDevice* SkImageFilter::DeviceProxy::createDevice(int w, int h) {
|
| SkBaseDevice::CreateInfo cinfo(SkImageInfo::MakeN32Premul(w, h),
|
| SkBaseDevice::kNever_TileUsage,
|
|
|