This changes the signature of SkImageFilter::filterImageGPU() to use SkBitmaps for...
authorsenorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 30 Jan 2013 19:08:47 +0000 (19:08 +0000)
committersenorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 30 Jan 2013 19:08:47 +0000 (19:08 +0000)
commitc2594f41066102d7a8a73effd3c574142a018b9a
treec37909d256544ee2932e9fbf2733b2a7c62d813c
parent74749cd45c29b4f5300e2518f2c2c765ce8ae208
This changes the signature of SkImageFilter::filterImageGPU() to use SkBitmaps for input and output, and removes the rect param.  This allows us to return textures which are larger than the actual result, such as when GrAutoScratchTextures are used.  The SkBitmap's size represents the active region, while the GrTexture's size is the full texture size.

This fixes the bicubic image filter GM on the GPU, which otherwise draws garbage outside the filtered region.  It also moves us closer to unifying the signatures of SkImageFilter::onFilterImage() and SkImageFilter::filterImageGPU().

Review URL: https://codereview.appspot.com/7180048

git-svn-id: http://skia.googlecode.com/svn/trunk@7467 2bbb7eff-a529-9590-31e7-b0007b416f81
18 files changed:
gyp/effects.gypi
include/core/SkImageFilter.h
include/effects/SkBicubicImageFilter.h
include/effects/SkBlendImageFilter.h
include/effects/SkBlurImageFilter.h
include/effects/SkDisplacementMapEffect.h
include/effects/SkImageFilterUtils.h [new file with mode: 0644]
include/effects/SkMorphologyImageFilter.h
include/effects/SkSingleInputImageFilter.h
src/core/SkImageFilter.cpp
src/effects/SkBicubicImageFilter.cpp
src/effects/SkBlendImageFilter.cpp
src/effects/SkBlurImageFilter.cpp
src/effects/SkDisplacementMapEffect.cpp
src/effects/SkImageFilterUtils.cpp [new file with mode: 0644]
src/effects/SkMorphologyImageFilter.cpp
src/effects/SkSingleInputImageFilter.cpp
src/gpu/SkGpuDevice.cpp