diff options
author | senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-09-27 21:57:45 +0000 |
---|---|---|
committer | senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-09-27 21:57:45 +0000 |
commit | 9c39744a00573b7133fc765b0a9d50a0ceace7b8 (patch) | |
tree | f416a1bf3e821884974ec2cf4e0d383ad75d16e2 /include/effects | |
parent | 200e53fa5fe7dae717a73224064a2fc37302e003 (diff) |
Fix recursive GPU processing for SkImageFilter. Plumb through the
SkImageFilter::Proxy parameter to the GPU recursion path. Extract
DeviceImageFilterProxy from SkCanvas.cpp into its own .h, and rename it.
https://codereview.appspot.com/6575059/
git-svn-id: http://skia.googlecode.com/svn/trunk@5720 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'include/effects')
-rw-r--r-- | include/effects/SkBlendImageFilter.h | 2 | ||||
-rw-r--r-- | include/effects/SkBlurImageFilter.h | 2 | ||||
-rw-r--r-- | include/effects/SkMorphologyImageFilter.h | 6 | ||||
-rw-r--r-- | include/effects/SkSingleInputImageFilter.h | 2 |
4 files changed, 7 insertions, 5 deletions
diff --git a/include/effects/SkBlendImageFilter.h b/include/effects/SkBlendImageFilter.h index c13140f9fd..be1be68054 100644 --- a/include/effects/SkBlendImageFilter.h +++ b/include/effects/SkBlendImageFilter.h @@ -34,7 +34,7 @@ public: SkIPoint* offset) SK_OVERRIDE; #if SK_SUPPORT_GPU virtual bool canFilterImageGPU() const SK_OVERRIDE { return true; } - virtual GrTexture* onFilterImageGPU(GrTexture* src, const SkRect& rect) SK_OVERRIDE; + virtual GrTexture* onFilterImageGPU(Proxy* proxy, GrTexture* src, const SkRect& rect) SK_OVERRIDE; #endif protected: diff --git a/include/effects/SkBlurImageFilter.h b/include/effects/SkBlurImageFilter.h index 9e86f7a38a..eeafbb9a31 100644 --- a/include/effects/SkBlurImageFilter.h +++ b/include/effects/SkBlurImageFilter.h @@ -26,7 +26,7 @@ protected: SkBitmap* result, SkIPoint* offset) SK_OVERRIDE; bool canFilterImageGPU() const SK_OVERRIDE { return true; } - virtual GrTexture* onFilterImageGPU(GrTexture* src, const SkRect& rect) SK_OVERRIDE; + virtual GrTexture* onFilterImageGPU(Proxy* proxy, GrTexture* src, const SkRect& rect) SK_OVERRIDE; private: SkSize fSigma; diff --git a/include/effects/SkMorphologyImageFilter.h b/include/effects/SkMorphologyImageFilter.h index d1d43ba732..edee221781 100644 --- a/include/effects/SkMorphologyImageFilter.h +++ b/include/effects/SkMorphologyImageFilter.h @@ -38,7 +38,8 @@ public: virtual bool onFilterImage(Proxy*, const SkBitmap& src, const SkMatrix&, SkBitmap* result, SkIPoint* offset) SK_OVERRIDE; #if SK_SUPPORT_GPU - virtual GrTexture* onFilterImageGPU(GrTexture* src, const SkRect& rect) SK_OVERRIDE; + virtual GrTexture* onFilterImageGPU(Proxy* proxy, GrTexture* src, + const SkRect& rect) SK_OVERRIDE; #endif SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDilateImageFilter) @@ -58,7 +59,8 @@ public: virtual bool onFilterImage(Proxy*, const SkBitmap& src, const SkMatrix&, SkBitmap* result, SkIPoint* offset) SK_OVERRIDE; #if SK_SUPPORT_GPU - virtual GrTexture* onFilterImageGPU(GrTexture* src, const SkRect& rect) SK_OVERRIDE; + virtual GrTexture* onFilterImageGPU(Proxy* proxy, GrTexture* src, + const SkRect& rect) SK_OVERRIDE; #endif SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkErodeImageFilter) diff --git a/include/effects/SkSingleInputImageFilter.h b/include/effects/SkSingleInputImageFilter.h index fd2c6aa11d..b29eca039d 100644 --- a/include/effects/SkSingleInputImageFilter.h +++ b/include/effects/SkSingleInputImageFilter.h @@ -32,7 +32,7 @@ protected: #if SK_SUPPORT_GPU // Recurses on input (if non-NULL), and returns the processed result as // a texture, otherwise returns src. - GrTexture* getInputResultAsTexture(GrTexture* src, const SkRect& rect); + GrTexture* getInputResultAsTexture(Proxy* proxy, GrTexture* src, const SkRect& rect); #endif SkImageFilter* input() const { return fInput; } |