aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/effects
diff options
context:
space:
mode:
authorGravatar senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-09-27 21:57:45 +0000
committerGravatar senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-09-27 21:57:45 +0000
commit9c39744a00573b7133fc765b0a9d50a0ceace7b8 (patch)
treef416a1bf3e821884974ec2cf4e0d383ad75d16e2 /include/effects
parent200e53fa5fe7dae717a73224064a2fc37302e003 (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.h2
-rw-r--r--include/effects/SkBlurImageFilter.h2
-rw-r--r--include/effects/SkMorphologyImageFilter.h6
-rw-r--r--include/effects/SkSingleInputImageFilter.h2
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; }