Commit Graph

5 Commits

Author SHA1 Message Date
senorblanco@chromium.org
01bdf3c568 Add crop rect support for SkDisplacementMapEffect (raster and GPU paths).
Covered by new test cases added to displacement GM (will require rebaseline).

R=bsalomon@google.com

Review URL: https://codereview.chromium.org/26531002

git-svn-id: http://skia.googlecode.com/svn/trunk@11782 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 19:02:43 +00:00
commit-bot@chromium.org
1aa54bf669 Added ctm matrix to GPU path
There should be no changes in behavior caused by this cl, it just adds the ctm matrix to filterImageGPU so that it may be used for scaling on all platforms when it is implemented on the blink side.

BUG=
R=senorblanco@google.com, senorblanco@chromium.org

Author: sugoi@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22209002

git-svn-id: http://skia.googlecode.com/svn/trunk@10536 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-05 16:53:50 +00:00
commit-bot@chromium.org
7b320703d4 Implement offset for GPU filter path. Although we can't yet use this in Blink for FEOffset, due to SVG semantics, we can use it to support crop rect (upcoming patch).
This patch adds the parameter to the filterImageGPU() signature, plumbs through the code on the GPU side, and implements support for it in SkXfermodeImageFilter for both raster and GPU.

Of the remaining filters with GPU implementations, Blur, Morphology, Bicubic and Displacement work fine; they're commutative wrt offset and can simply pass it up the chain. Blend is not, but will be removed shortly anyway (has been replaced with SkXfermodeImageFilter in Blink).

R=reed@google.com, bsalomon@google.com

Author: senorblanco@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15995026

git-svn-id: http://skia.googlecode.com/svn/trunk@9977 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-10 21:22:18 +00:00
senorblanco@chromium.org
c2594f4106 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
2013-01-30 19:08:47 +00:00
sugoi@google.com
781cc76e0f Implementation of the displacement effect (both CPU and GPU)
TEST=Added new GM called "displacement"
Review URL: https://codereview.appspot.com/7058075

git-svn-id: http://skia.googlecode.com/svn/trunk@7182 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-15 15:40:19 +00:00