diff options
author | senorblanco <senorblanco@chromium.org> | 2016-04-18 10:32:02 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-04-18 10:32:02 -0700 |
commit | f35566e8a2497cd7c7bcfeee00c507b3e8ba1587 (patch) | |
tree | a80023794f388bceafdd4e0bc962668fcf73fff0 /src/gpu/SkGpuDevice.cpp | |
parent | 983294f78f11159a7def7fd2ea0c12f911d17688 (diff) |
Remove deprecated paths from image filter infrastructure.
Now that there are no filterImageGPUDeprecated() implementations,
we can being to rip out the deprecated infrastructure.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1888243003
Committed: https://skia.googlesource.com/skia/+/6fb3cd7209849e665635ac17ef4eef4ad63e7f61
Review URL: https://codereview.chromium.org/1888243003
Diffstat (limited to 'src/gpu/SkGpuDevice.cpp')
-rw-r--r-- | src/gpu/SkGpuDevice.cpp | 110 |
1 files changed, 3 insertions, 107 deletions
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp index e49c57890e..f6137de56e 100644 --- a/src/gpu/SkGpuDevice.cpp +++ b/src/gpu/SkGpuDevice.cpp @@ -1160,25 +1160,6 @@ void SkGpuDevice::internalDrawBitmap(const SkBitmap& bitmap, } } -bool SkGpuDevice::filterTexture(GrContext* context, GrTexture* texture, - int width, int height, - const SkImageFilter* filter, - const SkImageFilter::Context& ctx, - SkBitmap* result, SkIPoint* offset) { - ASSERT_SINGLE_OWNER - SkASSERT(filter); - - SkImageFilter::DeviceProxy proxy(this); - - if (filter->canFilterImageGPU()) { - SkBitmap bm; - GrWrapTextureInBitmap(texture, width, height, false, &bm); - return filter->filterImageGPUDeprecated(&proxy, bm, ctx, result, offset); - } else { - return false; - } -} - void SkGpuDevice::drawSprite(const SkDraw& draw, const SkBitmap& bitmap, int left, int top, const SkPaint& paint) { ASSERT_SINGLE_OWNER @@ -1204,34 +1185,7 @@ void SkGpuDevice::drawSprite(const SkDraw& draw, const SkBitmap& bitmap, bool alphaOnly = kAlpha_8_SkColorType == bitmap.colorType(); - SkImageFilter* filter = paint.getImageFilter(); - // This bitmap will own the filtered result as a texture. - SkBitmap filteredBitmap; - - if (filter) { - SkIPoint offset = SkIPoint::Make(0, 0); - SkMatrix matrix(*draw.fMatrix); - matrix.postTranslate(SkIntToScalar(-left), SkIntToScalar(-top)); - SkIRect clipBounds = draw.fClip->getBounds().makeOffset(-left, -top); - SkAutoTUnref<SkImageFilter::Cache> cache(getImageFilterCache()); - // This cache is transient, and is freed (along with all its contained - // textures) when it goes out of scope. - SkImageFilter::Context ctx(matrix, clipBounds, cache); - if (this->filterTexture(fContext, texture, w, h, filter, ctx, &filteredBitmap, - &offset)) { - texture = (GrTexture*) filteredBitmap.getTexture(); - offX = filteredBitmap.pixelRefOrigin().fX; - offY = filteredBitmap.pixelRefOrigin().fY; - w = filteredBitmap.width(); - h = filteredBitmap.height(); - left += offset.x(); - top += offset.y(); - } else { - return; - } - SkASSERT(!GrPixelConfigIsAlphaOnly(texture->config())); - alphaOnly = false; - } + SkASSERT(!paint.getImageFilter()); GrPaint grPaint; SkAutoTUnref<const GrFragmentProcessor> fp( @@ -1367,30 +1321,7 @@ void SkGpuDevice::drawDevice(const SkDraw& draw, SkBaseDevice* device, int w = ii.width(); int h = ii.height(); - SkImageFilter* filter = paint.getImageFilter(); - // This bitmap will own the filtered result as a texture. - SkBitmap filteredBitmap; - - if (filter) { - SkIPoint offset = SkIPoint::Make(0, 0); - SkMatrix matrix(*draw.fMatrix); - matrix.postTranslate(SkIntToScalar(-x), SkIntToScalar(-y)); - SkIRect clipBounds = draw.fClip->getBounds().makeOffset(-x, -y); - // This cache is transient, and is freed (along with all its contained - // textures) when it goes out of scope. - SkAutoTUnref<SkImageFilter::Cache> cache(getImageFilterCache()); - SkImageFilter::Context ctx(matrix, clipBounds, cache); - if (this->filterTexture(fContext, devTex, device->width(), device->height(), - filter, ctx, &filteredBitmap, &offset)) { - devTex = filteredBitmap.getTexture(); - w = filteredBitmap.width(); - h = filteredBitmap.height(); - x += offset.fX; - y += offset.fY; - } else { - return; - } - } + SkASSERT(!paint.getImageFilter()); GrPaint grPaint; SkAutoTUnref<const GrFragmentProcessor> fp( @@ -1420,37 +1351,6 @@ void SkGpuDevice::drawDevice(const SkDraw& draw, SkBaseDevice* device, fDrawContext->fillRectToRect(fClip, grPaint, SkMatrix::I(), dstRect, srcRect); } -bool SkGpuDevice::canHandleImageFilter(const SkImageFilter* filter) { - ASSERT_SINGLE_OWNER - return filter->canFilterImageGPU(); -} - -bool SkGpuDevice::filterImage(const SkImageFilter* filter, const SkBitmap& src, - const SkImageFilter::Context& ctx, - SkBitmap* result, SkIPoint* offset) { - ASSERT_SINGLE_OWNER - // want explicitly our impl, so guard against a subclass of us overriding it - if (!this->SkGpuDevice::canHandleImageFilter(filter)) { - return false; - } - - SkAutoLockPixels alp(src, !src.getTexture()); - if (!src.getTexture() && !src.readyToDraw()) { - return false; - } - - GrTexture* texture; - // We assume here that the filter will not attempt to tile the src. Otherwise, this cache lookup - // must be pushed upstack. - AutoBitmapTexture abt(fContext, src, GrTextureParams::ClampNoFilter(), &texture); - if (!texture) { - return false; - } - - return this->filterTexture(fContext, texture, src.width(), src.height(), - filter, ctx, result, offset); -} - void SkGpuDevice::drawImage(const SkDraw& draw, const SkImage* image, SkScalar x, SkScalar y, const SkPaint& paint) { ASSERT_SINGLE_OWNER @@ -1937,15 +1837,11 @@ bool SkGpuDevice::EXPERIMENTAL_drawPicture(SkCanvas* mainCanvas, const SkPicture #endif } -SkImageFilter::Cache* SkGpuDevice::NewImageFilterCache() { - return SkImageFilter::Cache::Create(kDefaultImageFilterCacheSize); -} - SkImageFilter::Cache* SkGpuDevice::getImageFilterCache() { ASSERT_SINGLE_OWNER // We always return a transient cache, so it is freed after each // filter traversal. - return SkGpuDevice::NewImageFilterCache(); + return SkImageFilter::Cache::Create(kDefaultImageFilterCacheSize); } #endif |