Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(141)

Unified Diff: src/core/SkImageFilter.cpp

Issue 1421493003: tunnel down texture-size-constraint to imagefilters (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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,

Powered by Google App Engine
This is Rietveld 408576698