skia2/include/effects
senorblanco@chromium.org 9a6eb0e1e8 Provide a GPU implementation of SkArithmeticMode, using a custom GrEffect exposed via asNewEffectOrCoeff().
Doing it this way required modifying the arithmode GM to use saveLayer()/restore() rather than creating an offscreen SkBitmap, since otherwise the compositing is always done in raster mode. Fixing that in turn exposed that SkArithmeticMode did not work in Picture mode, since it wasn't flattenable. Made it so.

Note: this will require rebaselining the arithmode GM (again).

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

Originally committed: https://code.google.com/p/skia/source/detail?r=9324
Reverted: https://code.google.com/p/skia/source/detail?r=9325

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9330 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-29 20:55:09 +00:00
..
Sk1DPathEffect.h add optional cull-rect to patheffects, so they can do less work if their results 2013-01-24 21:03:11 +00:00
Sk2DPathEffect.h add optional cull-rect to patheffects, so they can do less work if their results 2013-01-24 21:03:11 +00:00
SkArithmeticMode.h Provide a GPU implementation of SkArithmeticMode, using a custom GrEffect exposed via asNewEffectOrCoeff(). 2013-05-29 20:55:09 +00:00
SkAvoidXfermode.h Added toString to SkXfermode-derived classes (for debugger) 2013-01-22 14:32:09 +00:00
SkBicubicImageFilter.h Nuke SkSingleInputImageFilter. 99% of its functionality was refactored into SkImageFilterUtils in https://code.google.com/p/skia/source/detail?r=7467, so it has outlived its usefulness. 2013-02-04 22:57:21 +00:00
SkBitmapSource.h Export effects classes with SK_API. 2012-10-12 14:41:39 +00:00
SkBlendImageFilter.h revert name changes to SkBlendImageFilter. It (correctly) named its enum kMultiply_Mode, 2013-02-01 14:35:09 +00:00
SkBlurDrawLooper.h Added toString to SkDrawLooper-derived classes 2013-01-28 20:21:59 +00:00
SkBlurImageFilter.h Nuke SkSingleInputImageFilter. 99% of its functionality was refactored into SkImageFilterUtils in https://code.google.com/p/skia/source/detail?r=7467, so it has outlived its usefulness. 2013-02-04 22:57:21 +00:00
SkBlurMaskFilter.h Modify the blur bench to add tests for high-quality blurs, and large non-integer blurs. Change the Coarse flag (which just turns on separable blurs) to an #ifdef, since separable is no longer just Coarse. (This #ifdef will hopefully be shortlived, once Chrome has switched). 2012-11-29 17:09:27 +00:00
SkColorFilterImageFilter.h New SkRectShaderImageFilter image filter 2013-02-21 15:02:28 +00:00
SkColorMatrix.h Use GrCustomStage to implement color matrix. 2012-10-17 13:36:14 +00:00
SkColorMatrixFilter.h Add printing of SkColorFilter-derived classes to debugger 2013-05-23 14:00:17 +00:00
SkCornerPathEffect.h add optional cull-rect to patheffects, so they can do less work if their results 2013-01-24 21:03:11 +00:00
SkDashPathEffect.h add optional cull-rect to patheffects, so they can do less work if their results 2013-01-24 21:03:11 +00:00
SkDiscretePathEffect.h add optional cull-rect to patheffects, so they can do less work if their results 2013-01-24 21:03:11 +00:00
SkDisplacementMapEffect.h 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. 2013-01-30 19:08:47 +00:00
SkDrawExtraPathEffect.h Export effects classes with SK_API. 2012-10-12 14:41:39 +00:00
SkEmbossMaskFilter.h Added toString to SkMaskFilter-derived classes 2013-03-18 17:53:38 +00:00
SkGradientShader.h Add flag to gradients to interpolate colors in premul space. Experimental API to encapsulate the shared parameters for all gradients into a struct. 2013-05-24 14:58:44 +00:00
SkImageFilterUtils.h 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. 2013-01-30 19:08:47 +00:00
SkKernel33MaskFilter.h Added toString to SkMaskFilter-derived classes 2013-03-18 17:53:38 +00:00
SkLayerDrawLooper.h Add methods to SkLayerDrawLooper to allow adding layers on top 2013-05-22 12:35:50 +00:00
SkLayerRasterizer.h change all interfaces for SkRasterizer to const, in preparation for marking it 2012-12-18 16:57:03 +00:00
SkLerpXfermode.h add SkLerpXfermode 2013-05-21 21:33:11 +00:00
SkLightingImageFilter.h Nuke SkSingleInputImageFilter. 99% of its functionality was refactored into SkImageFilterUtils in https://code.google.com/p/skia/source/detail?r=7467, so it has outlived its usefulness. 2013-02-04 22:57:21 +00:00
SkMagnifierImageFilter.h Allow single-pass filters (which use asNewEffect()) to participate in the image filter DAG. This was done by introducing the SkSinglePassImageFilter abstract base class, which implements canFilterImageGPU() and filterImageGPU() on behalf of the derived class. The derived class still only needs to asNewEffect(). This allows us to recurse on the filter input in SkSinglePassImageFilter::onFilterImageGPU(). It also allows us to remove any knowledge of single-pass image filters from SkGpuDevice and from the SkImageFilter base class as well. 2013-04-08 19:43:22 +00:00
SkMatrixConvolutionImageFilter.h Allow single-pass filters (which use asNewEffect()) to participate in the image filter DAG. This was done by introducing the SkSinglePassImageFilter abstract base class, which implements canFilterImageGPU() and filterImageGPU() on behalf of the derived class. The derived class still only needs to asNewEffect(). This allows us to recurse on the filter input in SkSinglePassImageFilter::onFilterImageGPU(). It also allows us to remove any knowledge of single-pass image filters from SkGpuDevice and from the SkImageFilter base class as well. 2013-04-08 19:43:22 +00:00
SkMergeImageFilter.h Pull SkMergeImageFilter out into its own file. 2012-12-04 14:18:50 +00:00
SkMorphologyImageFilter.h Nuke SkSingleInputImageFilter. 99% of its functionality was refactored into SkImageFilterUtils in https://code.google.com/p/skia/source/detail?r=7467, so it has outlived its usefulness. 2013-02-04 22:57:21 +00:00
SkOffsetImageFilter.h Nuke SkSingleInputImageFilter. 99% of its functionality was refactored into SkImageFilterUtils in https://code.google.com/p/skia/source/detail?r=7467, so it has outlived its usefulness. 2013-02-04 22:57:21 +00:00
SkPaintFlagsDrawFilter.h change SkDrawFilter::filter to return a bool, where false means don't-draw 2012-11-26 20:26:54 +00:00
SkPerlinNoiseShader.h Adding missing SK_API identifier to class so that it's accessible in debug blink. 2013-04-25 14:54:15 +00:00
SkPixelXorXfermode.h Added toString to SkXfermode-derived classes (for debugger) 2013-01-22 14:32:09 +00:00
SkPorterDuff.h clone of https://codereview.appspot.com/7208043/ 2013-01-30 21:36:11 +00:00
SkRectShaderImageFilter.h Small adjustments to SkRectShaderImageFilter to follow up on original cl. 2013-02-21 20:26:50 +00:00
SkStippleMaskFilter.h Added toString to SkMaskFilter-derived classes 2013-03-18 17:53:38 +00:00
SkTableColorFilter.h Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:09:54 +00:00
SkTableMaskFilter.h Added toString to SkMaskFilter-derived classes 2013-03-18 17:53:38 +00:00
SkTestImageFilters.h Pull SkMergeImageFilter out into its own file. 2012-12-04 14:18:50 +00:00
SkTransparentShader.h Added print out of SkShader information to debugger 2013-01-15 20:17:47 +00:00