aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects/SkArithmeticMode.cpp
Commit message (Collapse)AuthorAge
...
* Rename ShaderType enum to ShaderVisibilityGravatar commit-bot@chromium.org2013-08-30
| | | | | | | | | | | | | | | | | | | | | Renames ShaderType in GrGLShaderBuilder to ShaderVisibility. It is now used solely as a bitfield. Methods that previously accepted a single ShaderType value are split into separate calls: - getShader -> vsGetShader, gsGetShader, fsGetShader - emiitFunction -> fsEmitFunction - appendTextureLookup -> fsAppendTextureLookup No change in functionality. This is a refactoring to allow us to separate the vertex/geometry and fragment parts of GrGLShaderBuilder. R=bsalomon@google.com Author: cdalton@nvidia.com Review URL: https://chromiumcodereview.appspot.com/23826002 git-svn-id: http://skia.googlecode.com/svn/trunk@11044 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix case where GrGLEffectMatrix gives back a dangling ptr for the coords var ↵Gravatar commit-bot@chromium.org2013-08-28
| | | | | | | | | | | | name. R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/23706003 git-svn-id: http://skia.googlecode.com/svn/trunk@10982 2bbb7eff-a529-9590-31e7-b0007b416f81
* effects: Replaces uses of GrAssert with SkASSERT.Gravatar commit-bot@chromium.org2013-08-14
| | | | | | | | | | | | | This is the first step on migrating from GrAssert to SkASSERT as requested by Brian. R=bsalomon@google.com, robertphillips@google.com, scroggo@google.com Author: tfarina@chromium.org Review URL: https://chromiumcodereview.appspot.com/22418006 git-svn-id: http://skia.googlecode.com/svn/trunk@10706 2bbb7eff-a529-9590-31e7-b0007b416f81
* Disable the unpremultiply/remultiply in SkArithmeticMode, both raster and ↵Gravatar senorblanco@chromium.org2013-06-12
| | | | | | | | | | | | | | GPU, since the SVG spec actually defines arithmetic compositing to operate on premul colours directly. The unpremul/remul code has been placed behind a gUseUnpremul global, which is default false. The non-unpremul path uses a min() to keep the colours to valid premult values. Note: This change will require new baselines for the arithmode and xfermodeimagefilter GMs. R=reed@google.com Review URL: https://codereview.chromium.org/16034013 git-svn-id: http://skia.googlecode.com/svn/trunk@9555 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement SkXfermode image filter. This required changing the signature of ↵Gravatar senorblanco@chromium.org2013-05-31
| | | | | | | | | | | | | | SkXfermode::asNewEffectOrCoeffs(), to add an optional background texture. For the raster path, we do a straightforward 2-pass method: draw background, then composite the foreground over it. For the GPU path, if the xfermode can be expressed as an effect, we build an effect with the background texture incorporated, then do a single-pass draw fetching both foreground and background textures, and compositing to the result. If the xfermode is expressed as src/dst coefficients, we do a 2-pass draw as in the raster path and use fixed-function blending. R=bsalomon@google.com, reed@google.com Review URL: https://codereview.chromium.org/16125008 git-svn-id: http://skia.googlecode.com/svn/trunk@9373 2bbb7eff-a529-9590-31e7-b0007b416f81
* Speculative fix for Tegra-based Androids: don't try to unpremultiply ↵Gravatar senorblanco@chromium.org2013-05-29
| | | | | | | | | | dstColor in-place; put it in a temporary. TBR=bsalomon Review URL: https://codereview.chromium.org/16214002 git-svn-id: http://skia.googlecode.com/svn/trunk@9336 2bbb7eff-a529-9590-31e7-b0007b416f81
* Provide a GPU implementation of SkArithmeticMode, using a custom GrEffect ↵Gravatar senorblanco@chromium.org2013-05-29
| | | | | | | | | | | | | | | | | 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
* Revert "Provide a GPU implementation of SkArithmeticMode, using a custom ↵Gravatar senorblanco@chromium.org2013-05-29
| | | | | | | | | | | | GrEffect exposed via asNewEffectOrCoeff()." This reverts commit b8ffe17b5c684f9cfff02285f27e6aa1f75c9b53. TBR=robertphillips Review URL: https://codereview.chromium.org/16115007 git-svn-id: http://skia.googlecode.com/svn/trunk@9325 2bbb7eff-a529-9590-31e7-b0007b416f81
* Provide a GPU implementation of SkArithmeticMode, using a custom GrEffect ↵Gravatar senorblanco@chromium.org2013-05-29
| | | | | | | | | | | | | | 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 Review URL: https://codereview.chromium.org/16064002 git-svn-id: http://skia.googlecode.com/svn/trunk@9324 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix alpha computation in SkArithmeticMode.Gravatar senorblanco@chromium.org2013-05-28
| | | | | | | | | | Note: this will require new baselines for the arithmode GM. R=reed@google.com Review URL: https://codereview.chromium.org/15917010 git-svn-id: http://skia.googlecode.com/svn/trunk@9302 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-01-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-01-23
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7332 2bbb7eff-a529-9590-31e7-b0007b416f81
* Added toString to SkXfermode-derived classes (for debugger) Gravatar robertphillips@google.com2013-01-22
| | | | | | | | https://codereview.appspot.com/7139058/ git-svn-id: http://skia.googlecode.com/svn/trunk@7308 2bbb7eff-a529-9590-31e7-b0007b416f81
* Mark all methods on SkXfermode as const, in preparation for declaring allGravatar reed@google.com2012-12-17
| | | | | | | xfermodes as immutable/reentrant-safe Review URL: https://codereview.appspot.com/6941065 git-svn-id: http://skia.googlecode.com/svn/trunk@6855 2bbb7eff-a529-9590-31e7-b0007b416f81
* revert arith change, until I can rebaseline all the images (and check chrome)Gravatar mike@reedtribe.org2012-08-12
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5044 2bbb7eff-a529-9590-31e7-b0007b416f81
* use premul macro to pack componentsGravatar mike@reedtribe.org2012-08-12
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5043 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix warnings on Mac in src/effectsGravatar caryclark@google.com2012-06-06
| | | | | | | | | | | | | | | | | | Fix these class of warnings: - unused functions - unused locals - sign mismatch - missing function prototypes - missing newline at end of file - 64 to 32 bit truncation The changes prefer to link in dead code in the debug build with 'if (false)' than to comment it out, but trivial cases are commented out or sometimes deleted if it appears to be a copy/paste error. Review URL: https://codereview.appspot.com/6299049 git-svn-id: http://skia.googlecode.com/svn/trunk@4181 2bbb7eff-a529-9590-31e7-b0007b416f81
* Clean up more Visual Studio warnings, including apparent bug in Arithmetic mode.Gravatar tomhudson@google.com2012-04-10
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3645 2bbb7eff-a529-9590-31e7-b0007b416f81
* Create macro for registering classes for deserializationGravatar djsollen@google.com2012-03-26
| | | | | | Review URL: https://codereview.appspot.com/5909063 git-svn-id: http://skia.googlecode.com/svn/trunk@3494 2bbb7eff-a529-9590-31e7-b0007b416f81
* add first cut at arithmetic modeGravatar mike@reedtribe.org2011-12-10
git-svn-id: http://skia.googlecode.com/svn/trunk@2849 2bbb7eff-a529-9590-31e7-b0007b416f81