97de357270e54be53acb17e1cb4b4d5e25bacc01 |
|
29-May-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
SkLazyPtr, mk. 2 SK_DECLARE_STATIC_LAZY_PTR and SK_DECLARE_STATIC_LAZY_PTR_ARRAY let you declare a single or array of static pointers that are lazily initialized. You can think of this as a restricted, lighter-weight version of SkOnce. There's no guarantee that Create will be called exactly once, but we do guarantee all threads will agree on the resulting pointer. We'll clean up any other extra pointers we Create()ed by calling Destroy(), which defaults to SkDELETE. In debug mode, we also clean up the winning pointer at process exit, so we can make sure we didn't leak it or free it early. I've ported SkData (singleton) and SkXfermode (array) as examples. Once this lands I'll port most other users of SkOnce. BUG=skia: R=bungeman@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/306943003 git-svn-id: http://skia.googlecode.com/svn/trunk@14976 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
2e74f9d375d2c5d0a3eb4acc7cecd35afa6bf4ae |
|
01-May-2014 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
remove code behind SK_SUPPORT_LEGACY_PROCXFERMODE BUG=skia: R=scroggo@google.com Review URL: https://codereview.chromium.org/264923004 git-svn-id: http://skia.googlecode.com/svn/trunk@14504 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
88cb22b6b4816c7a9ca6c5b795965b4606f9eb7b |
|
30-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Convert GrCrash->SkFAIL GrDebugCrash->SkDEBUGFAIL R=robertphillips@google.com, reed@google.com, mtklein@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/257393004 git-svn-id: http://skia.googlecode.com/svn/trunk@14460 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
60bd7519a9db4ddddd95e490f93165e5676f90f5 |
|
18-Apr-2014 |
skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Sanitizing source files in Housekeeper-Nightly git-svn-id: http://skia.googlecode.com/svn/trunk@14252 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
cc277b729b16c0d8d042f9ae1db6563fb4538d88 |
|
17-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Orphan ProcXfermode, with an eye towards removing it BUG=skia: R=scroggo@google.com, mtklein@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/240533003 git-svn-id: http://skia.googlecode.com/svn/trunk@14238 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
e424c1d8a615d9d638d74d38dc795ecdf8d4ca31 |
|
11-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
So apparently Chrome has an x86 iOS build... and for some reason we don't bother to build or link our SSE2 opts there. So don't go looking for them when SK_BUILD_FOR_IOS is set. BUG=skia: NOTREECHECKS=true NOTRY=true R=djsollen@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/225033003 git-svn-id: http://skia.googlecode.com/svn/trunk@14147 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
4460e75bc7e8c13e0e44ee9330ae8f556d8b0094 |
|
09-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Define SK_CPU_X86 on x86 machines. Use this to only register flattening for SkSSE2ProcCoeffXfermode::CreateProc when it's linked. BUG=skia: R=reed@google.com, mtklein@google.com, bsalomon@google.com TBR=reed@google.com NOTRY=true NOTREECHECKS=true Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/231223002 git-svn-id: http://skia.googlecode.com/svn/trunk@14108 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
c524e98f1edf06b53e65543f5f28217fa13b7aa9 |
|
09-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Xfermode: SSE2 implementation of multiply_modeproc This patch implements basics for Xfermode SSE optimization. Based on these basics, SSE2 implementation of multiply_modeproc is provided. SSE2 implementation for other modes will come in future. With this patch performance of Xfermode_Multiply will improve about 45%. Here are the data on desktop i7-3770. before: Xfermode_Multiply 8888: cmsecs = 33.30 565: cmsecs = 45.65 after: Xfermode_Multiply 8888: cmsecs = 17.18 565: cmsecs = 24.87 BUG= Committed: http://code.google.com/p/skia/source/detail?r=14006 Committed: http://code.google.com/p/skia/source/detail?r=14050 R=mtklein@google.com, robertphillips@google.com Author: qiankun.miao@intel.com Review URL: https://codereview.chromium.org/202903004 git-svn-id: http://skia.googlecode.com/svn/trunk@14107 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
372a9c3f443bdcc60b0e0c17f028461eaaed5fd1 |
|
07-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Fix EffectKey for XferEffect R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/227233007 git-svn-id: http://skia.googlecode.com/svn/trunk@14076 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
77815fd74df355b8d6eff8a91fd10cc65033a79f |
|
03-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Revert of Xfermode: SSE2 implementation of multiply_modeproc (https://codereview.chromium.org/202903004/) Reason for revert: It looks like serialization is broken. The serialize and pipe-cross-process tests are failing and turning (at least the Ubuntu12 and Win7) bots red Original issue's description: > Xfermode: SSE2 implementation of multiply_modeproc > > This patch implements basics for Xfermode SSE optimization. Based on > these basics, SSE2 implementation of multiply_modeproc is provided. SSE2 > implementation for other modes will come in future. With this patch > performance of Xfermode_Multiply will improve about 45%. Here are the > data on desktop i7-3770. > before: > Xfermode_Multiply 8888: cmsecs = 33.30 565: cmsecs = 45.65 > after: > Xfermode_Multiply 8888: cmsecs = 17.18 565: cmsecs = 24.87 > > BUG= > > Committed: http://code.google.com/p/skia/source/detail?r=14006 > > Committed: http://code.google.com/p/skia/source/detail?r=14050 R=mtklein@google.com, qiankun.miao@intel.com TBR=mtklein@google.com, qiankun.miao@intel.com NOTREECHECKS=true NOTRY=true BUG= Author: robertphillips@google.com Review URL: https://codereview.chromium.org/224253003 git-svn-id: http://skia.googlecode.com/svn/trunk@14053 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
c3118739277beb7678973d47e3d71bb863929bce |
|
03-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Xfermode: SSE2 implementation of multiply_modeproc This patch implements basics for Xfermode SSE optimization. Based on these basics, SSE2 implementation of multiply_modeproc is provided. SSE2 implementation for other modes will come in future. With this patch performance of Xfermode_Multiply will improve about 45%. Here are the data on desktop i7-3770. before: Xfermode_Multiply 8888: cmsecs = 33.30 565: cmsecs = 45.65 after: Xfermode_Multiply 8888: cmsecs = 17.18 565: cmsecs = 24.87 BUG= Committed: http://code.google.com/p/skia/source/detail?r=14006 R=mtklein@google.com, robertphillips@google.com Author: qiankun.miao@intel.com Review URL: https://codereview.chromium.org/202903004 git-svn-id: http://skia.googlecode.com/svn/trunk@14050 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
079d2986002a6eb407ba4699bae58920fdc355a0 |
|
01-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Revert of Xfermode: SSE2 implementation of multiply_modeproc (https://codereview.chromium.org/202903004/) Reason for revert: Breaking builds Original issue's description: > Xfermode: SSE2 implementation of multiply_modeproc > > This patch implements basics for Xfermode SSE optimization. Based on > these basics, SSE2 implementation of multiply_modeproc is provided. SSE2 > implementation for other modes will come in future. With this patch > performance of Xfermode_Multiply will improve about 45%. Here are the > data on desktop i7-3770. > before: > Xfermode_Multiply 8888: cmsecs = 33.30 565: cmsecs = 45.65 > after: > Xfermode_Multiply 8888: cmsecs = 17.18 565: cmsecs = 24.87 > > BUG= > > Committed: http://code.google.com/p/skia/source/detail?r=14006 R=mtklein@google.com, qiankun.miao@intel.com TBR=mtklein@google.com, qiankun.miao@intel.com NOTREECHECKS=true NOTRY=true BUG= Author: robertphillips@google.com Review URL: https://codereview.chromium.org/219243009 git-svn-id: http://skia.googlecode.com/svn/trunk@14007 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
25f7455f3a7cf2c440509bead85486079f1e4b31 |
|
01-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Xfermode: SSE2 implementation of multiply_modeproc This patch implements basics for Xfermode SSE optimization. Based on these basics, SSE2 implementation of multiply_modeproc is provided. SSE2 implementation for other modes will come in future. With this patch performance of Xfermode_Multiply will improve about 45%. Here are the data on desktop i7-3770. before: Xfermode_Multiply 8888: cmsecs = 33.30 565: cmsecs = 45.65 after: Xfermode_Multiply 8888: cmsecs = 17.18 565: cmsecs = 24.87 BUG= R=mtklein@google.com Author: qiankun.miao@intel.com Review URL: https://codereview.chromium.org/202903004 git-svn-id: http://skia.googlecode.com/svn/trunk@14006 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
140950cc595a3058144681b088e44ff1f8f52d5b |
|
28-Mar-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
SkOnce for SkXfermode::Create(Mode) This removes the mutex from the fast path when we've already cached it. BUG=skia: R=reed@google.com, bungeman@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/215533002 git-svn-id: http://skia.googlecode.com/svn/trunk@13986 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
0f10f7bf1fb43ca6346dc220a076773b1f19a367 |
|
13-Mar-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Allow toString capability to be toggled independent of developer mode. This change is motivated by the desire to see the text information in the debugger when not in developer mode. It is structured so user's can disable it if the capability is not wanted. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/197763008 git-svn-id: http://skia.googlecode.com/svn/trunk@13795 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
0a2bf90dccba3bde188e0386a7f0c60e6dde1ae9 |
|
20-Feb-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Factory methods for heap-allocated SkPathEffect and SkXfermode objects. This is part of an effort to ensure that all SkPaint effects can only be allocated on the heap. This patch makes the constructors of SkPathEffect, SkXfermode and their subclasses non-public and instead provides factory methods for creating these objects on the heap. We temporarily keep the constructors of the following classes public to not break Chrome/Blink: SkXfermode SkCornerPathEffect SkDashPathEffect BUG=skia:2187 R=scroggo@google.com, reed@google.com, mtklein@google.com, bungeman@google.com Author: dominikg@chromium.org Review URL: https://codereview.chromium.org/166583002 git-svn-id: http://skia.googlecode.com/svn/trunk@13519 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
8b0e8ac5f582de80356019406e2975079bf0829d |
|
30-Jan-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Refactor read and write buffers. Eliminates SkFlattenable{Read,Write}Buffer, promoting SkOrdered{Read,Write}Buffer a step each in the hierarchy. What used to be this: SkFlattenableWriteBuffer -> SkOrderedWriteBuffer SkFlattenableReadBuffer -> SkOrderedReadBuffer SkFlattenableReadBuffer -> SkValidatingReadBuffer is now SkWriteBuffer SkReadBuffer -> SkValidatingReadBuffer Benefits: - code is simpler, names are less wordy - the generic SkFlattenableFooBuffer code in SkPaint was incorrect; removed - write buffers are completely devirtualized, important for record speed This refactoring was mostly mechanical. You aren't going to find anything interesting in files with less than 10 lines changed. BUG=skia: R=reed@google.com, scroggo@google.com, djsollen@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/134163010 git-svn-id: http://skia.googlecode.com/svn/trunk@13245 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
b85ebea5267ec0b9630d828840fa2d7df29b9f43 |
|
12-Dec-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Preventing division by 0 I did bench tests and I can't compute the denom before the if condition without taking a hit. After a few quick tests on my linux desktop, computing the 1st denom costs 6ms, the 2nd one 5ms and both together cost 9ms. The reason for this is that both if conditions here are exceptions and are expected to be false, so the denom computation should be skipped, if possible. The bench test I ran was : out/Release/bench --match Xfermode_Hue --config 8888 --minMs 1000 BUG= R=senorblanco@chromium.org, senorblanco@google.com, reed@google.com, sugoi@google.com Author: sugoi@chromium.org Review URL: https://codereview.chromium.org/114173002 git-svn-id: http://skia.googlecode.com/svn/trunk@12649 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
d611864e679a58865b111e74fe7ac919cba42163 |
|
06-Dec-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
ARM Skia NEON patches - 32 - Xfermode: 1-pixel NEON modeprocs In some cases, it's easy to provide a NEON version of the 1-pixel modeprocs. Combined with https://codereview.chromium.org/23724013/ (merged) it allows up to 35% speed improvement on Xfermodes when aa is non-NULL. Signed-off-by: Kévin PETIT <kevin.petit@arm.com> BUG= R=djsollen@google.com, reed@google.com, mtklein@google.com, luisjoseromeroesclusa@hotmail.com Author: kevin.petit.arm@gmail.com Review URL: https://codereview.chromium.org/104883004 git-svn-id: http://skia.googlecode.com/svn/trunk@12525 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
ab1c13864df34aecfd4840ea7d1e4f8730b44f4e |
|
05-Dec-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Fix compilation with SK_ENABLE_INST_COUNT=1 Add INHERITED declarations to class declarations that prevent compilation with the flag. Remove SK_DEFINE_INST_COUNT from all class implementations. Instead, use function-local static variables in the reference count helper classes to create the global instances to store the needed info. The accessor functions are defined inline in the helper classes, so definitions are not needed. The initialization point of the variables should be as well defined as previously. Remove SK_DECLARE_INST_COUNT_TEMPLATE and use SK_DECLARE_INST_COUNT instead. This avoids possible future compilation errors further. For SK_ENABLE_INST_COUNT=0 compilation, add an empty static member function to all classes that use SK_DECLARE_INST_COUNT and SK_DECLARE_INST_COUNT_ROOT macros. The function ensures that classes contain public INHERITED typedef. This member function seems to be compiled away. This shouĺd ensure that part of the compilation errors are caught earlier. Also adds DSK_DECLARE_INST_COUNT to few SkPDFDict subclasses. R=robertphillips@google.com, richardlin@chromium.org, bsalomon@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/98703002 git-svn-id: http://skia.googlecode.com/svn/trunk@12501 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
f61ebc0927d773fe4152a3521cdc3de0112f636e |
|
22-Nov-2013 |
skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Sanitizing source files in Housekeeper-Nightly git-svn-id: http://skia.googlecode.com/svn/trunk@12358 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
52314f82ba8696e957e70eabde672b6470fedf7a |
|
21-Nov-2013 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
move SkProcCoeffXfermode unflatten constructor into .cpp, and range-check its mode BUG= Review URL: https://codereview.chromium.org/79543009 git-svn-id: http://skia.googlecode.com/svn/trunk@12355 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
ccecbbb2eaef1042c860cf56427e8d237a95c312 |
|
24-Oct-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Always create an instance when testing GrEffects for SkXfermode and SkArithmeticMode Previously the TestCreate methods of the effects would create a static instance and return that for all invocations. This is probably a copy-paste error going back to initial TestCreate method in r8449. At that time, the effect was always the same and thus static usage made sense. R=bsalomon@google.com, senorblanco@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/39393002 git-svn-id: http://skia.googlecode.com/svn/trunk@11939 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
1a6382f5e76c051ffbbb60f3a68524dfe57cf798 |
|
23-Oct-2013 |
senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Split up SkXfermode::asNewEffectOrCoeff() into asNewEffect(), asCoeff(). R=bsalomon@google.com Review URL: https://codereview.chromium.org/37593002 git-svn-id: http://skia.googlecode.com/svn/trunk@11926 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
fbcd415aa01801df5f554963d7463649b49ead73 |
|
23-Oct-2013 |
senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Remove GrContext from SkXfermode::[Aa]sNewEffectOrCoeff() and all subclasses, since it's unused. R=bsalomon@google.com Review URL: https://codereview.chromium.org/31853003 git-svn-id: http://skia.googlecode.com/svn/trunk@11913 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
cd7992ba55e8b87580f54e7c19fc033bed01640d |
|
17-Oct-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
ARM Skia NEON patches - 30 - Xfermode: NEON modeprocs Xfermode: NEON implementation of SIMD procs This patch contains a NEON implementation for a number of Xfermodes. It provides a big speedup on Xfermode benchmarks (currently up to 3x with gcc4.7 but up to 10x when gcc produces optimal code for it). Signed-off-by: Kévin PETIT <kevin.petit@arm.com> BUG= Committed: http://code.google.com/p/skia/source/detail?r=11777 Committed: http://code.google.com/p/skia/source/detail?r=11813 R=djsollen@google.com, mtklein@google.com, reed@google.com, robertphillips@google.com Author: kevin.petit.arm@gmail.com Review URL: https://codereview.chromium.org/26627004 git-svn-id: http://skia.googlecode.com/svn/trunk@11843 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
dfe0f43e11b511eaef566ae174504d30922b14a8 |
|
17-Oct-2013 |
robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Reverting r11813 (ARM Skia NEON patches - 30 - Xfermode: NEON modeprocs - https://codereview.chromium.org/26627004) due to Chromium compilation faliures. git-svn-id: http://skia.googlecode.com/svn/trunk@11833 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
b4c29c536374cdc8657838744002e8a770dff871 |
|
16-Oct-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
ARM Skia NEON patches - 30 - Xfermode: NEON modeprocs Xfermode: NEON implementation of SIMD procs This patch contains a NEON implementation for a number of Xfermodes. It provides a big speedup on Xfermode benchmarks (currently up to 3x with gcc4.7 but up to 10x when gcc produces optimal code for it). Signed-off-by: Kévin PETIT <kevin.petit@arm.com> BUG= Committed: http://code.google.com/p/skia/source/detail?r=11777 R=djsollen@google.com, mtklein@google.com, reed@google.com, robertphillips@google.com Author: kevin.petit.arm@gmail.com Review URL: https://codereview.chromium.org/26627004 git-svn-id: http://skia.googlecode.com/svn/trunk@11813 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
f8dd38424cf4460dd10c390c4051f484edf1c210 |
|
16-Oct-2013 |
robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Reverting r11777 (ARM Skia NEON patches - 30 - Xfermode: NEON modeprocs) due to Chromium compilation failure git-svn-id: http://skia.googlecode.com/svn/trunk@11799 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
baa15581f6cbd9ce4cc5ba5eb1d6fcbe27ae6741 |
|
15-Oct-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
ARM Skia NEON patches - 30 - Xfermode: NEON modeprocs Xfermode: NEON implementation of SIMD procs This patch contains a NEON implementation for a number of Xfermodes. It provides a big speedup on Xfermode benchmarks (currently up to 3x with gcc4.7 but up to 10x when gcc produces optimal code for it). Signed-off-by: Kévin PETIT <kevin.petit@arm.com> BUG= R=djsollen@google.com, mtklein@google.com, reed@google.com Author: kevin.petit.arm@gmail.com Review URL: https://codereview.chromium.org/26627004 git-svn-id: http://skia.googlecode.com/svn/trunk@11777 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
824c346b6e0e114063c1a8ad4ba7c3a669ee2cff |
|
10-Oct-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Express (GLSL expression, possibly known value) pairs as a class Express (GLSL expression, possibly known value) pairs as a class instead of two variables Introduces GrGLSLExpr<N> to encapsulate the expression and possibly constant-folded value of the expression. This simplifies passing of the expressions to functions. Changes the shaders with following patterns: { // Stage 0: Linear Gradient vec4 colorTemp = mix(uGradientStartColor_Stage0, uGradientEndColor_Stage0, clamp(vMatrixCoord_Stage0.x, 0.0, 1 colorTemp.rgb *= colorTemp.a; - output_Stage0 = vec4((vColor) * (colorTemp)); + output_Stage0 = (vColor * colorTemp); + } Previously the vector cast was always added if constant folding was effective, regardless of the term dimensions. Now the vector upcast is not inserted in places where it is not needed, ie. when the binary operator term is of the target dimension. Also, some parentheses can be omitted. It is assumed that GrGLSLExpr<N>("string") constructors construct a simple expression or parenthesized expression. Otherwise the shader code remains identical. R=jvanverth@google.com, bsalomon@google.com, robertphillips@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/25048002 git-svn-id: http://skia.googlecode.com/svn/trunk@11690 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
df187c7eb27d7616b75d91f3329deb97c4cd6de2 |
|
09-Oct-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
ARM Skia NEON patches - 28 - Xfermode: SIMD modeprocs Xfermode: allow for SIMD modeprocs This patch introduces the ability to have SIMD Xfermode modeprocs. In the NEON implementation, SIMD modeprocs will process 8 pixels at a time. Signed-off-by: Kévin PETIT <kevin.petit@arm.com> BUG= Committed: http://code.google.com/p/skia/source/detail?r=11654 R=djsollen@google.com, mtklein@google.com, reed@google.com Author: kevin.petit.arm@gmail.com Review URL: https://codereview.chromium.org/23644006 git-svn-id: http://skia.googlecode.com/svn/trunk@11669 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
6f980c6a2354fed70a6258fb4dd4155936660930 |
|
08-Oct-2013 |
djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Revert "ARM Skia NEON patches - 28 - Xfermode: SIMD modeprocs" This reverts http://code.google.com/p/skia/source/detail?r=11654 Review URL: https://codereview.chromium.org/26340010 git-svn-id: http://skia.googlecode.com/svn/trunk@11655 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
84cc1ebc5a4789e93e23c65eb4014ef5b8b0bab4 |
|
08-Oct-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
ARM Skia NEON patches - 28 - Xfermode: SIMD modeprocs Xfermode: allow for SIMD modeprocs This patch introduces the ability to have SIMD Xfermode modeprocs. In the NEON implementation, SIMD modeprocs will process 8 pixels at a time. Signed-off-by: Kévin PETIT <kevin.petit@arm.com> BUG= R=djsollen@google.com, mtklein@google.com, reed@google.com Author: kevin.petit.arm@gmail.com Review URL: https://codereview.chromium.org/23644006 git-svn-id: http://skia.googlecode.com/svn/trunk@11654 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
d5321726466185dce9ae92126044b944f51b3c83 |
|
07-Oct-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Make skia almost compile again with clang. clang is reporting many unused functions and variables. R=bsalomon@google.com, robertphillips@google.com, reed@google.com Author: tfarina@chromium.org Review URL: https://codereview.chromium.org/26167002 git-svn-id: http://skia.googlecode.com/svn/trunk@11630 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
86490573b5cba554a27637e22485455a7b133de7 |
|
04-Oct-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
commit to xfermode objects being immutable BUG= R=djsollen@google.com, mtklein@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/25968004 git-svn-id: http://skia.googlecode.com/svn/trunk@11614 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
77af6805e5faea1e2a5c0220098aec9082f3a6e5 |
|
02-Oct-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Make GPU coord transforms automatic Adds a GrCoordTransform class and updates the framework to handle coord transforms similar to how it handles textures with GrTextureAccess. Renames GrGLEffectMatrix to GrGLCoordTransform and slightly repurposes it to be used by the framework instead of effects. R=bsalomon@google.com, robertphillips@google.com Review URL: https://codereview.chromium.org/24853002 git-svn-id: http://skia.googlecode.com/svn/trunk@11569 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
24ddde97581624777feebc9e95ae558282f95d4c |
|
16-Sep-2013 |
robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Revert 11247, 11250, 11251, 11257, and 11279 to unblock DEPS roll (https://codereview.chromium.org/24159002/) 11279 Sanitizing source files in Housekeeper-Nightly - https://code.google.com/p/skia/source/detail?r=11279 11257 Canary build fix - https://codereview.chromium.org/23532068 11251 More warnings as errors fixes - https://code.google.com/p/skia/source/detail?r=11251 11250 Warnings as errors fix - https://code.google.com/p/skia/source/detail?r=11250 11247 Initial error handling code - https://chromiumcodereview.appspot.com/23021015 git-svn-id: http://skia.googlecode.com/svn/trunk@11288 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
ba6e954140e45e251d67934ed6ad752149fcf72f |
|
16-Sep-2013 |
robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Revert the revert of 11247, 11250, 11251 and 11279 (Chrome already relies on changes in r11247) git-svn-id: http://skia.googlecode.com/svn/trunk@11287 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
478884f7d3b8c7be8b62f3fa2b79192f411c3fec |
|
16-Sep-2013 |
robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Revert 11247, 11250, 11251 and 11279 to unblock DEPS roll (https://codereview.chromium.org/24159002/) 11279 Sanitizing source files in Housekeeper-Nightly - https://code.google.com/p/skia/source/detail?r=11279 11251 More warnings as errors fixes - https://code.google.com/p/skia/source/detail?r=11251 11250 Warnings as errors fix - https://code.google.com/p/skia/source/detail?r=11250 11247 Initial error handling code - https://chromiumcodereview.appspot.com/23021015 git-svn-id: http://skia.googlecode.com/svn/trunk@11285 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
5792cded61a7302f32bd0f4aeda51a9b2f1d00f6 |
|
13-Sep-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Initial error handling code I made it as simple as possible. The impact seems minimal and it should do what's necessary to make this code secure. BUG= R=reed@google.com, scroggo@google.com, djsollen@google.com, sugoi@google.com, bsalomon@google.com, mtklein@google.com, senorblanco@google.com, senorblanco@chromium.org Author: sugoi@chromium.org Review URL: https://chromiumcodereview.appspot.com/23021015 git-svn-id: http://skia.googlecode.com/svn/trunk@11247 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
e0e7cfe44bb9d66d76120a79e5275c294bacaa22 |
|
09-Sep-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Change old PRG to be SkLCGRandom; change new one to SkRandom The goal here is to get people to start using the new random number generator, while leaving the old one in place so we don't have to rebaseline GMs. R=reed@google.com, bsalomon@google.com Author: jvanverth@google.com Review URL: https://chromiumcodereview.appspot.com/23576015 git-svn-id: http://skia.googlecode.com/svn/trunk@11169 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
74a3a2135ca82ab9324b7e499caa3280348a4fda |
|
30-Aug-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Rename ShaderType enum to ShaderVisibility 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
/external/skia/src/core/SkXfermode.cpp
|
7ab7ca4199e97126de01d507d34f60a07843937f |
|
28-Aug-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Fix case where GrGLEffectMatrix gives back a dangling ptr for the coords var 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
/external/skia/src/core/SkXfermode.cpp
|
f6de475e5cbd143f348ff7738919e397b7fe7f57 |
|
17-Aug-2013 |
tfarina@chromium.org <tfarina@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Replace uses of GrAssert by SkASSERT. R=bsalomon@google.com Review URL: https://codereview.chromium.org/22850006 git-svn-id: http://skia.googlecode.com/svn/trunk@10789 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
e38e53b5327e2618a97fb26a697a477b74c44d3d |
|
15-Jul-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
ARM Skia NEON patches - 07 - Equation simplification Misc: simplify the equation of the exclusion Xfermode The equation can be dramatically simplified. The results with gm are the same except that the code is faster. BUG= R=djsollen@google.com, reed@google.com, bsalomon@google.com, cabanier@adobe.com Author: kevin.petit.arm@gmail.com Review URL: https://chromiumcodereview.appspot.com/18112016 git-svn-id: http://skia.googlecode.com/svn/trunk@10069 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
6ba4572eed5a4ecfdd22d118fa55b5c06902b574 |
|
21-Jun-2013 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
remove dst/rendertarget support for kARGB_4444_Config BUG= Review URL: https://codereview.chromium.org/17335008 git-svn-id: http://skia.googlecode.com/svn/trunk@9727 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
86fc266eda887920e3dd104bee8121ae19729cf5 |
|
31-May-2013 |
senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Implement SkXfermode image filter. This required changing the signature of 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
/external/skia/src/core/SkXfermode.cpp
|
8d47ddc19a40d1984bf1f384d711d36ab59fd1c0 |
|
09-May-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Make GrGLShaderBuilder check whether GrEffect advertised that it would require the dst color or fragment position R=senorblanco@chromium.org, robertphillips@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/14998007 git-svn-id: http://skia.googlecode.com/svn/trunk@9074 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
a0d91388bb6d3d18b7409dbc1654a4335b051ae5 |
|
29-Apr-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Stop using mix() to implement hard-light in shader. R=jvanverth@google.com, robertphillips@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/14541004 git-svn-id: http://skia.googlecode.com/svn/trunk@8910 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
c718b35bce895aa945fc479451156985206fdae1 |
|
29-Apr-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Remove inout params from saturation helper func in XferEffect. R=robertphillips@google.com, jvanverth@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/14535004 git-svn-id: http://skia.googlecode.com/svn/trunk@8909 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
dd72fdec762f2889bc09bc3f854bef3c1a2678f9 |
|
29-Apr-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Remove redundant setting of alpha in hard-light GPU shader. R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/14418005 git-svn-id: http://skia.googlecode.com/svn/trunk@8903 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
2cf444f7040614b43af67e368f3aa636ebeaa45a |
|
26-Apr-2013 |
skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Sanitizing source files in Skia_Periodic_House_Keeping git-svn-id: http://skia.googlecode.com/svn/trunk@8873 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
bb6b5baa969c7158a75dcf1ff9c1d566deb58fad |
|
25-Apr-2013 |
jvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Temporarily disable HardLight effect in unit tests. git-svn-id: http://skia.googlecode.com/svn/trunk@8865 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
18c41acf35eefc75ef4631fbb680ec64861b30af |
|
25-Apr-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Some fixes for saturation computation XferEffect. R=jvanverth@google.com, robertphillips@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/14034018 git-svn-id: http://skia.googlecode.com/svn/trunk@8850 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
77cf460e5df7dd5272e71f9835880ded48fe8d12 |
|
22-Apr-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Add non-separable xfer modes to GPU backend. Review URL: https://codereview.chromium.org/14371014 git-svn-id: http://skia.googlecode.com/svn/trunk@8815 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
64b682ca42c75667e49251d3ab04f192f92d0dd8 |
|
20-Apr-2013 |
skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Sanitizing source files in Skia_Periodic_House_Keeping git-svn-id: http://skia.googlecode.com/svn/trunk@8785 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
68567790c6d3b77e030d667e856fc20b3b945fe7 |
|
19-Apr-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Final round of .0s git-svn-id: http://skia.googlecode.com/svn/trunk@8774 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
07fa3abe14f9739e2f316fc13cf56aabcbc4e612 |
|
19-Apr-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
More .0s git-svn-id: http://skia.googlecode.com/svn/trunk@8771 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
58eb1afcf66ff91cab45b322a963d2340b18f662 |
|
19-Apr-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Add ".0" to 1 constants in xfermodes GLSL code. git-svn-id: http://skia.googlecode.com/svn/trunk@8770 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
8da9bc751e1898d50dd84d7e5ca666b00e4ff624 |
|
19-Apr-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Add all remaining separable xfer modes to GPU backend. Review URL: https://codereview.chromium.org/14189024 git-svn-id: http://skia.googlecode.com/svn/trunk@8768 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
b0091b8382970c28dba57adc170e27b2e3d7394a |
|
15-Apr-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Add coeffecients for kScreen xfermode. Review URL: https://codereview.chromium.org/14046021 git-svn-id: http://skia.googlecode.com/svn/trunk@8680 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
d7aaf6034e519ea9b70649c1d344f2f24de90ccb |
|
01-Apr-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Add Xfermode bench. Also clear before rendering in bench (rather than after). Author: bsalomon@google.com Reviewed By: robertphillips@google.com Review URL: https://chromiumcodereview.appspot.com/13334011 git-svn-id: http://skia.googlecode.com/svn/trunk@8454 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
b79d865f03456b67273b568fa5046b8ba01e365a |
|
29-Mar-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Fix GLPrograms test. Review URL: https://codereview.chromium.org/13327008 git-svn-id: http://skia.googlecode.com/svn/trunk@8450 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
26e18b593ab65e4d92dfbce92579d8bc180d4c2c |
|
29-Mar-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Add support for reading the dst pixel value in an effect. Use in a new effect for the kDarken xfer mode. The current implementation is to always make a copy of the entire dst before the draw. It will only succeed if the RT is also a texture. Obviously, there is lots of room for improvement. Review URL: https://codereview.chromium.org/13314002 git-svn-id: http://skia.googlecode.com/svn/trunk@8449 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
f51c01328dc52a87c07e056d6fc4eb7452ccac7a |
|
27-Mar-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Add interface to SkXfermode to return a GrEffect and blend coeffs. Review URL: https://codereview.chromium.org/13097006 git-svn-id: http://skia.googlecode.com/svn/trunk@8412 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
311d4eafab513adae3ef6c37dd4d573844bccd63 |
|
21-Mar-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
This changes fixes issues with the non-separable blend modes. They were not producing the correct results if alpha was involved. I fixed the math so everything happens in premultiplied alpha so there is no loss in precision. I also fixed the math of color-burn and color-dodge. Author: cabanier@gmail.com Reviewed By: reed@google.com Review URL: https://chromiumcodereview.appspot.com/12662006 git-svn-id: http://skia.googlecode.com/svn/trunk@8283 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
3c1ea3a7e5127513d3b3335d92292e02f273efef |
|
07-Mar-2013 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
land https://chromiumcodereview.appspot.com/12440004/ git-svn-id: http://skia.googlecode.com/svn/trunk@8013 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
64334352cc3f29f52dfa07225d65eb218d2fd830 |
|
06-Mar-2013 |
skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Sanitizing source files in Skia_Periodic_House_Keeping git-svn-id: http://skia.googlecode.com/svn/trunk@8003 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
b24f89353ed7a45b27ab0ffc69c222b81bbf87c3 |
|
05-Mar-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Added support for non-separable blending modes. Fixed scalar issue from https://codereview.appspot.com/7346044 Review URL: https://chromiumcodereview.appspot.com/12393049 git-svn-id: http://skia.googlecode.com/svn/trunk@7984 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
25cfa693420b6da4182bda42ba15970999b840dd |
|
04-Feb-2013 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
land https://codereview.appspot.com/7221086/ -- add Multiply xfermode matching CSS spec git-svn-id: http://skia.googlecode.com/svn/trunk@7553 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
8d3cd7a170c810e3816bf00220cbef51e7b16795 |
|
30-Jan-2013 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
clone of https://codereview.appspot.com/7208043/ Review URL: https://codereview.appspot.com/7232062 git-svn-id: http://skia.googlecode.com/svn/trunk@7476 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
98ded84b80918ac1e40224c125922941f3b2eb03 |
|
23-Jan-2013 |
skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Sanitizing source files in Skia_Periodic_House_Keeping git-svn-id: http://skia.googlecode.com/svn/trunk@7332 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
b83b6b4f7690fe929d8d6b1a3d2b7ed562b95ba6 |
|
22-Jan-2013 |
robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Added toString to SkXfermode-derived classes (for debugger) https://codereview.appspot.com/7139058/ git-svn-id: http://skia.googlecode.com/svn/trunk@7308 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
30da745bbf67a0ee0f305ca7bbdb685cc8a9e686 |
|
17-Dec-2012 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Mark all methods on SkXfermode as const, in preparation for declaring all 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
/external/skia/src/core/SkXfermode.cpp
|
4b163ed2c22facbe8891616874ae07ba7827d9c9 |
|
07-Aug-2012 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Privatization: move SkFDot.h to private move parts of SkMath.h into SkMathPriv.h Review URL: https://codereview.appspot.com/6461045 git-svn-id: http://skia.googlecode.com/svn/trunk@4997 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
c73dd5c6880739f26216f198c757028fd28df1a4 |
|
07-Aug-2012 |
djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Update SkFlattenable buffers to be more modular. This CL is an effort to stage the conversion to named parameters for all SkFlattenable commands. This particular stage only does the following two things... 1. Move flattenable buffers from SkFlattenable.h into their own header. 2. Update and Add new read write methods for better clarity and convenience. BUG= Review URL: https://codereview.appspot.com/6448095 git-svn-id: http://skia.googlecode.com/svn/trunk@4980 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
0456e0b7b85060e9b9597ce414c4c2b19aff4f58 |
|
27-Jun-2012 |
robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Added Inst counting to SkFlattenable-derived classes http://codereview.appspot.com/6355043/ git-svn-id: http://skia.googlecode.com/svn/trunk@4359 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
34342f6f5127122ecc32166dcffa7f3d2a45c387 |
|
25-Jun-2012 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
export flags on the state of the world when a picture was serialized. e.g. don't read/write functionptrs in that case (sizeof may be different for one) Review URL: https://codereview.appspot.com/6331050 git-svn-id: http://skia.googlecode.com/svn/trunk@4318 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
54924243c1b65b3ee6d8fa064b50a9b1bb2a19a5 |
|
29-Mar-2012 |
djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Cleanup code related to SkFlattenable::flatten() The following changes were made by this CL: 1. Make flatten() a protected method as callers should use SkFlattenableWriteBuffer to flatten an object 2. Make flatten a const method (including subclasses) 3. Mark subclass implementation of flatten with SK_OVERRIDE 4. Ensure overridden flatten impls call their parent 5. Remove no-op implementations of flatten from subclasses Additionally, if necessary the unflattening constructor was also moved to the protected section of the subclasses header if it was not already there. git-svn-id: http://skia.googlecode.com/svn/trunk@3540 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
ba28d03e94dc221d6a803bf2a84a420b9159255c |
|
26-Mar-2012 |
djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Create macro for registering classes for deserialization Review URL: https://codereview.appspot.com/5909063 git-svn-id: http://skia.googlecode.com/svn/trunk@3494 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
13e812c69a9e2b2550871573786fc72b17bdd766 |
|
18-Jan-2012 |
tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Interpolate vertical linear gradients for improved quality. Consolidate interpolation functions, add new faster more accurate dithering interpolator. git-svn-id: http://skia.googlecode.com/svn/trunk@3072 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
d26147adbbdca85f07dff432025afee0c8614387 |
|
15-Dec-2011 |
caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
add optional manual global initialization M include/effects/SkAvoidXfermode.h M include/effects/SkDiscretePathEffect.h M include/effects/Sk1DPathEffect.h M include/effects/Sk2DPathEffect.h M include/effects/SkBlurDrawLooper.h M include/effects/SkPixelXorXfermode.h M include/effects/SkDashPathEffect.h M include/effects/SkColorMatrixFilter.h M include/effects/SkEmbossMaskFilter.h M include/effects/SkLayerDrawLooper.h M include/effects/SkGroupShape.h M include/effects/SkBlurImageFilter.h M include/effects/SkRectShape.h A include/effects/SkEffects.h M include/effects/SkCornerPathEffect.h M include/effects/SkGradientShader.h M include/effects/SkBlurMaskFilter.h M include/effects/SkLayerRasterizer.h M include/core/SkMallocPixelRef.h M include/core/SkFlattenable.h M include/core/SkShape.h M include/core/SkPixelRef.h M include/core/SkGraphics.h M include/core/SkPathEffect.h M include/core/SkPostConfig.h M include/core/SkXfermode.h M include/core/SkColorFilter.h M include/images/SkFlipPixelRef.h M include/images/SkImageRef_GlobalPool.h M src/effects/SkDashPathEffect.cpp M src/effects/SkColorMatrixFilter.cpp M src/effects/SkBlurImageFilter.cpp M src/effects/SkGroupShape.cpp M src/effects/SkCornerPathEffect.cpp M src/effects/SkGradientShader.cpp M src/effects/SkBlurMaskFilter.cpp M src/effects/SkAvoidXfermode.cpp M src/effects/Sk2DPathEffect.cpp M src/effects/SkBlurDrawLooper.cpp M src/effects/SkPixelXorXfermode.cpp M src/effects/SkColorFilters.cpp M src/effects/SkLayerDrawLooper.cpp M src/effects/SkRectShape.cpp A src/effects/SkEffects.cpp M src/effects/SkLayerRasterizer.cpp M src/effects/SkDiscretePathEffect.cpp M src/effects/Sk1DPathEffect.cpp A src/effects/SkEffects_none.cpp M src/core/SkPixelRef.cpp M src/core/SkGraphics.cpp M src/core/SkFlattenable.cpp M src/core/SkBitmapProcShader.h M src/core/SkPathEffect.cpp M src/core/SkShape.cpp M src/core/SkXfermode.cpp M src/core/SkMallocPixelRef.cpp M src/core/SkBitmapProcShader.cpp M src/images/SkFlipPixelRef.cpp M src/images/SkImageRef_GlobalPool.cpp A src/ports/SkGlobalInitialization_chromium.cpp M src/ports/SkImageRef_ashmem.h M src/ports/SkImageRef_ashmem.cpp A src/ports/SkGlobalInitialization_default.cpp M gyp/effects.gyp M gyp/tools.gyp M gyp/ports.gyp git-svn-id: http://skia.googlecode.com/svn/trunk@2876 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
86ab6c694c0b29cb49363746ac6982faa4eef1b2 |
|
28-Nov-2011 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
separate declaration from impl for overrides, so we can declare some of the parameters as SK_RESTRICT w/o generate a warning about a mismatch with the base class parameters (which don't mention restrict). git-svn-id: http://skia.googlecode.com/svn/trunk@2749 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
e303fcf68d6fee2bf9ee0c4f6fb330a2c3e41a01 |
|
17-Nov-2011 |
mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
add SkXfermode::IsMode() and use that in SkDevice git-svn-id: http://skia.googlecode.com/svn/trunk@2703 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
f468e47ba5bf254a93ba5d1a81f9fbead7f11bd5 |
|
10-Aug-2011 |
yangsu@google.com <yangsu@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Write null for any function pointers when using the cross process flag git-svn-id: http://skia.googlecode.com/svn/trunk@2096 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
c34d7cfca1892babc0c3b8811da1201ef466bd03 |
|
10-Aug-2011 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
re-get the function-ptr when we unflatten a ProcCoeffXfermode git-svn-id: http://skia.googlecode.com/svn/trunk@2093 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976e |
|
28-Jul-2011 |
epoger@google.com <epoger@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Automatic update of all copyright notices to reflect new license terms. I have manually examined all of these diffs and restored a few files that seem to require manual adjustment. The following files still need to be modified manually, in a separate CL: android_sample/SampleApp/AndroidManifest.xml android_sample/SampleApp/res/layout/layout.xml android_sample/SampleApp/res/menu/sample.xml android_sample/SampleApp/res/values/strings.xml android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java experimental/CiCarbonSampleMain.c experimental/CocoaDebugger/main.m experimental/FileReaderApp/main.m experimental/SimpleCocoaApp/main.m experimental/iOSSampleApp/Shared/SkAlertPrompt.h experimental/iOSSampleApp/Shared/SkAlertPrompt.m experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig gpu/src/android/GrGLDefaultInterface_android.cpp gyp/common.gypi gyp_skia include/ports/SkHarfBuzzFont.h include/views/SkOSWindow_wxwidgets.h make.bat make.py src/opts/memset.arm.S src/opts/memset16_neon.S src/opts/memset32_neon.S src/opts/opts_check_arm.cpp src/ports/SkDebug_brew.cpp src/ports/SkMemory_brew.cpp src/ports/SkOSFile_brew.cpp src/ports/SkXMLParser_empty.cpp src/utils/ios/SkImageDecoder_iOS.mm src/utils/ios/SkOSFile_iOS.mm src/utils/ios/SkStream_NSData.mm tests/FillPathTest.cpp Review URL: http://codereview.appspot.com/4816058 git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
a87cd2af4c7f46ba8437c2e500805c9deb9e3a40 |
|
15-Jun-2011 |
tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Increase compatibility with clang, mostly around SK_RESTRICT. Attempting to fix up our use of __restrict__ so Chrome can enable it. git-svn-id: http://skia.googlecode.com/svn/trunk@1597 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
1447c6f7f4579942b32af6ffff1eadede40b42bc |
|
27-Apr-2011 |
tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Add missing flattenable registrations and CreateProc() functions; fixes gm --serialize xfermode test case. git-svn-id: http://skia.googlecode.com/svn/trunk@1199 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
43c50c8c77df82c5cffb55cae2d386e59802b88f |
|
14-Apr-2011 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
add reflection asColorMode to SkColorFilter (for gpu) git-svn-id: http://skia.googlecode.com/svn/trunk@1126 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
c0d4aa2088a0788f9df221497945d2ba1b342f44 |
|
13-Apr-2011 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
fix asMode() to always succeed if the xfermode was built from a Mode update dox to reflect this update test git-svn-id: http://skia.googlecode.com/svn/trunk@1121 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
521e34e2912d835ab1b33a06cb8fb416510d7c53 |
|
12-Apr-2011 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
return Coeff for kPlus_Mode and kMultiply_Mode now these work correctly on the gpu git-svn-id: http://skia.googlecode.com/svn/trunk@1116 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
48543277728fdf66b993f17421f65fba532a23a2 |
|
08-Feb-2011 |
vandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
[PDF] Add support for xfermodes / blend modes. - Change SkGraphicState to track and set the blend mode (xfermode) for modes built in to PDF (non porter duff modes + src over). - Add SkXfermode::asMode() to retrieve xfermode as an enum for non porter duff modes. - Move SkXfermode.cpp around a bit to support asMode() -- Generally move utility functions toward the top of the file. - Make SkPDFFormXObject an isolated transparency group, as it used for saveLayer, which draws on transparent, not the device background. - Set the graphic state in drawDevice and drawBitmap in order to get the right xfermode and alpha. Review URL: http://codereview.appspot.com/4131043 git-svn-id: http://skia.googlecode.com/svn/trunk@774 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
da94699149a40a90731425766d3b994e34c5ba26 |
|
03-Jul-2009 |
deanm@chromium.org <deanm@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Optimize some alpha blending modes. - Inline the component calculation helpers. - Reorder the computation in plus_modeproc. This doubles the performance of plus_modeproc. Review URL: http://codereview.appspot.com/88084 git-svn-id: http://skia.googlecode.com/svn/trunk@250 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
a0f5d1546d499ef0cd7dbfba9a866ae5a27e1541 |
|
22-Jun-2009 |
reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
move xfermode modes from porterduff into xfermode itself git-svn-id: http://skia.googlecode.com/svn/trunk@232 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
543ed9352c7dfd93071c08b14930cca2e82a08d4 |
|
24-Apr-2009 |
reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
add ADD xfermode safely handle (don't draw) if the size of SkMask exceeds 31bits git-svn-id: http://skia.googlecode.com/svn/trunk@159 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
1116fb25e582a18db0f87890364fac72ccfe09ce |
|
03-Mar-2009 |
reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
change srcover (and dstover) to use the faster thought slightly less accurate computation of the scale factor (+1 instead of SkAlpha255To256). This has the upside of guaranteeing that if the dst is opaque (alpha==255), it will always stay opaque. git-svn-id: http://skia.googlecode.com/svn/trunk@104 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
fc25abdabff76f913fb9d4f373418c10a1eca92b |
|
15-Jan-2009 |
reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
fix warnings git-svn-id: http://skia.googlecode.com/svn/trunk@68 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|
8a1c16ff38322f0210116fa7293eb8817c7e477e |
|
17-Dec-2008 |
reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
grab from latest android git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkXfermode.cpp
|