diff options
author | senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-01-18 20:48:20 +0000 |
---|---|---|
committer | senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-01-18 20:48:20 +0000 |
commit | 3f2d45aff69260fcf39d4eea8586387ed44402bb (patch) | |
tree | 41bb7d9415bca4ffc6279cc91caedb36b0356790 /gyp | |
parent | 80d447893e9141e986702842ed6a5603670eb837 (diff) |
(Relanding r7275 with assert fix, plus fixes from r7276, r7280, r7283.)
Implement a bicubic resampling image filter, with raster and GPU backends.
In order to get this to work on the GPU side, I had to modify the width and height of the drawn texture in drawSprite() and drawDevice() to use the filtered texture's dimensions, instead of the source texture. (This wasn't a problem before since all other image filters produce results the same dimensions as their input texture.)
For now, this implementation only does axis-aligned scaling (same as the Lanczos-3 implementation in Chrome). It's also done for correctness and clarity, not speed, so there are lots of opportunities for speedups.
Committed: https://code.google.com/p/skia/source/detail?r=7275
Review URL: https://codereview.appspot.com/7033049
git-svn-id: http://skia.googlecode.com/svn/trunk@7287 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gyp')
-rw-r--r-- | gyp/effects.gypi | 1 | ||||
-rw-r--r-- | gyp/gmslides.gypi | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/gyp/effects.gypi b/gyp/effects.gypi index b8defb4a6a..8c61c34568 100644 --- a/gyp/effects.gypi +++ b/gyp/effects.gypi @@ -11,6 +11,7 @@ '<(skia_src_path)/effects/Sk2DPathEffect.cpp', '<(skia_src_path)/effects/SkAvoidXfermode.cpp', '<(skia_src_path)/effects/SkArithmeticMode.cpp', + '<(skia_src_path)/effects/SkBicubicImageFilter.cpp', '<(skia_src_path)/effects/SkBitmapSource.cpp', '<(skia_src_path)/effects/SkBlendImageFilter.cpp', '<(skia_src_path)/effects/SkBlurDrawLooper.cpp', diff --git a/gyp/gmslides.gypi b/gyp/gmslides.gypi index a50d084b1e..8d772f336f 100644 --- a/gyp/gmslides.gypi +++ b/gyp/gmslides.gypi @@ -4,6 +4,7 @@ '../gm/aaclip.cpp', '../gm/aarectmodes.cpp', '../gm/arithmode.cpp', + '../gm/bicubicfilter.cpp', '../gm/bigmatrix.cpp', '../gm/bitmapcopy.cpp', '../gm/bitmapmatrix.cpp', |