reed
8f7b0b2d80
simplify/unify xferproc api
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1721223002
Review URL: https://codereview.chromium.org/1721223002
2016-02-24 06:21:36 -08:00
reed
129ed1cd6d
lots of sRGB and F16 blits
...
- generalize F16 xfermode procs
- spriteblits for F16 and sRGB
- saveLayer now respects colortype and profiletype
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1686013002
Review URL: https://codereview.chromium.org/1685203002
2016-02-22 06:42:31 -08:00
reed
dd9ffea9ce
make SkPM4f private
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1713653002
Review URL: https://codereview.chromium.org/1713653002
2016-02-18 12:39:14 -08:00
reed
4528c867c4
lcd blits for sRGB
...
Unimplemented for F16 for the moment, but not needed yet.
Surprisingly not much slower than current impl (not srgb correct)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1707883002
Review URL: https://codereview.chromium.org/1707883002
2016-02-18 08:16:33 -08:00
reed
d2ed622a2f
start experimenting with 64bit frame-buffers
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1680523002
Review URL: https://codereview.chromium.org/1680523002
2016-02-09 09:14:59 -08:00
robertphillips
4f0379444d
Alter SkXfermode's asFragmentProcessor & asXPFactory contracts
...
TBR=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1674673002
Review URL: https://codereview.chromium.org/1674673002
2016-02-09 05:09:28 -08:00
reed
3125565804
extend modecolorfilter to 4f
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1670063002
Review URL: https://codereview.chromium.org/1670063002
2016-02-08 12:56:57 -08:00
benjaminwagner
ff172dab92
Revert of Work around exasperating Google3 Android build error. (patchset #1 id:1 of https://codereview.chromium.org/1649493005/ )
...
Reason for revert:
This workaround no longer seems to be necessary.
Original issue's description:
> Work around exasperating Google3 Android build error.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1649493005
>
> Committed: https://skia.googlesource.com/skia/+/900901fb1ba5170549670829fc8f9d9b590ff5f0
TBR=mtklein@google.com ,reed@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:
Review URL: https://codereview.chromium.org/1669663003
2016-02-03 16:29:25 -08:00
reed
395eabeb0e
float components in xfermodes
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1623483002
TBR=mtklein
Review URL: https://codereview.chromium.org/1634273002
2016-01-30 18:52:31 -08:00
benjaminwagner
900901fb1b
Work around exasperating Google3 Android build error.
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1649493005
Review URL: https://codereview.chromium.org/1649493005
2016-01-28 12:55:31 -08:00
mtklein
bbb6dc80fd
kill SkValue
...
This is clearly not what we're going to do.
TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1643753002
Review URL: https://codereview.chromium.org/1643753002
2016-01-27 13:08:33 -08:00
halcanary
27a6e86fb1
SkValue: SkXfermode
...
Implement:
template<> SkValue SkToValue<SkXfermode>(const SkXfermode*);
template<> bool SkFromValue<SkXfermode*>(const SkValue&, SkXfermode**);
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1585813004
NOTRY=true
Review URL: https://codereview.chromium.org/1585813004
2016-01-21 14:15:10 -08:00
egdaniel
c4b72720e7
Don't create a GXPFactory when blend is SrcOver
...
BUG=skia:
Review URL: https://codereview.chromium.org/1471053002
2015-11-23 13:20:42 -08:00
egdaniel
f234272cbd
Revert of Make specialized SrcOver XPFactory (patchset #3 id:40001 of https://codereview.chromium.org/1455273006/ )
...
Reason for revert:
breaking some builds
Original issue's description:
> Make specialized SrcOver XPFactory
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/a7006d45217d128a94fa53cb4b827cca79bc7049
TBR=bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1464933003
2015-11-20 15:12:59 -08:00
egdaniel
a7006d4521
Make specialized SrcOver XPFactory
...
BUG=skia:
Review URL: https://codereview.chromium.org/1455273006
2015-11-20 14:01:07 -08:00
pkasting
129319ff55
Attempt to update Xfermode comments to have parallel structure.
...
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/1406413003
2015-10-29 08:41:15 -07:00
bsalomon
4a33952961
Bye bye processor data manager.
...
Review URL: https://codereview.chromium.org/1388113002
2015-10-06 08:40:51 -07:00
bsalomon
ae4738f677
Create fragment processor for performing input color blend with child processor
...
The new FP is used to implement SkXM::Mode color filters and SkXM::Mode image filters. Also, these now support all advanced SkXM::Mode xfermodes.
Review URL: https://codereview.chromium.org/1334293003
2015-09-15 15:33:27 -07:00
mtklein
2c323427cb
No one calls SkXfermode::GetProc16
...
BUG=skia:
Review URL: https://codereview.chromium.org/1253493002
2015-07-27 12:07:29 -07:00
joshualitt
9cc1775e72
rename GrShaderDataManager -> GrProcessorDataManager
...
BUG=skia:
Review URL: https://codereview.chromium.org/1228683002
2015-07-09 06:28:14 -07:00
joshualitt
b2456053c7
more threading of GrShaderDataManager
...
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1215643006
2015-07-08 09:36:59 -07:00
mtklein
2766c00fc0
remove SkInstCnt
...
It's been outclassed by Valgrind and leak sanitizer,
and it seems to be causing problems for external folks building Skia.
I'm not sure why our own builds seem unaffected.
Latest thread:
https://groups.google.com/forum/#!topic/skia-discuss/oj9FsQwwSF0
BUG=skia:
Review URL: https://codereview.chromium.org/1217573002
2015-06-26 11:45:03 -07:00
egdaniel
dcfb7cf336
Remove the need for asCoeff in SkXfermode.
...
BUG=skia:
Review URL: https://codereview.chromium.org/864833002
2015-01-22 06:52:29 -08:00
egdaniel
58136167fc
Do more cleanup from xp changes
...
BUG=skia:
Review URL: https://codereview.chromium.org/811903004
2015-01-20 10:19:22 -08:00
egdaniel
38cd055215
Do some minor pre cleanup work before converting all xfermodes to XPs.
...
BUG=skia:
Review URL: https://codereview.chromium.org/853543003
2015-01-14 08:05:11 -08:00
egdaniel
9513143efa
Make all blending up to GrOptDrawState be handled by the xp/xp factory.
...
In this cl the blending information is extracted for the xp and stored in the ODS
which is then used as it currently is. In the follow up cl, an XP backend will be added
and at that point all blending work will take place inside XP's.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/7c66342a399b529634bed0fabfaa562db2c0dbd4
Review URL: https://codereview.chromium.org/759713002
2014-12-09 11:15:44 -08:00
egdaniel
8d95ffa497
Revert of Make all blending up to GrOptDrawState be handled by the xp/xp factory. (patchset #7 id:140001 of https://codereview.chromium.org/759713002/ )
...
Reason for revert:
break many gm's
Original issue's description:
> Make all blending up to GrOptDrawState be handled by the xp/xp factory.
>
> In this cl the blending information is extracted for the xp and stored in the ODS
> which is then used as it currently is. In the follow up cl, an XP backend will be added
> and at that point all blending work will take place inside XP's.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/7c66342a399b529634bed0fabfaa562db2c0dbd4
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/766653008
2014-12-08 13:26:43 -08:00
egdaniel
7c66342a39
Make all blending up to GrOptDrawState be handled by the xp/xp factory.
...
In this cl the blending information is extracted for the xp and stored in the ODS
which is then used as it currently is. In the follow up cl, an XP backend will be added
and at that point all blending work will take place inside XP's.
BUG=skia:
Review URL: https://codereview.chromium.org/759713002
2014-12-08 11:20:40 -08:00
egdaniel
378092f3d1
Add XferProcessor factory in GrPaint and GrDrawState.
...
In this CL the XP should have zero effect on the actual rendering pipeline.
BUG=skia:
Review URL: https://codereview.chromium.org/751283002
2014-12-03 10:40:13 -08:00
mtklein
3f3b3d0035
Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.
...
This was needed for pictures before v33, and we're now requiring v35+.
Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/52c293547b973f7fb5de3c83f5062b07d759ab88
Review URL: https://codereview.chromium.org/769953002
2014-12-01 11:47:08 -08:00
mtklein
6e78293ee8
Revert of Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. (patchset #1 id:1 of https://codereview.chromium.org/769953002/ )
...
Reason for revert:
Breaks canary builds. Will reland after the Chromium change lands.
Original issue's description:
> Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.
>
> This was needed for pictures before v33, and we're now requiring v35+.
>
> Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/52c293547b973f7fb5de3c83f5062b07d759ab88
TBR=reed@google.com ,mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/768183002
2014-12-01 10:56:05 -08:00
mtklein
52c293547b
Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.
...
This was needed for pictures before v33, and we're now requiring v35+.
Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc
BUG=skia:
Review URL: https://codereview.chromium.org/769953002
2014-12-01 10:23:11 -08:00
joshualitt
b0a8a377f8
Patch to create a distinct geometry processor. The vast majority of this patch
...
is just a rename. The meat is in GrGeometryProcessor, GrProcessor,
GrGL*Processor, GrProcessorStage, Gr*BackendProcessorFactory,
GrProcessUnitTestFactory, and the builders
BUG=skia:
R=bsalomon@google.com
Author: joshualitt@chromium.org
Review URL: https://codereview.chromium.org/582963002
2014-09-23 09:50:21 -07:00
reed
9fa60daad4
Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc).
...
Refactoring pattern:
1. guard the existing constructor(readbuffer) with the legacy build-flag
2. If you are a instancable subclass, implement CreateProc(readbuffer) to create a new instances from the buffer params (or return NULL).
If you're a shader subclass
1. You must read/write the local matrix if your class accepts that in its factory/constructor, else ignore it.
R=robertphillips@google.com , mtklein@google.com , senorblanco@google.com , senorblanco@chromium.org , sugoi@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/395603002
2014-08-21 07:59:51 -07:00
bsalomon
97b9ab72cd
Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.
...
Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef*
Make GrEffectRef a typedef for GrEffect.
Committed: https://skia.googlesource.com/skia/+/2011fe9cdfa63b83489a146cea6a724cede352c8
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/377503004
2014-07-08 06:52:35 -07:00
reed
969842ac9c
Revert of Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*. ( https://codereview.chromium.org/377503004/ )
...
Reason for revert:
broke linux builders
Original issue's description:
> Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.
>
> Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef*
>
> Make GrEffectRef a typedef for GrEffect.
>
> Committed: https://skia.googlesource.com/skia/+/2011fe9cdfa63b83489a146cea6a724cede352c8
R=robertphillips@google.com , bsalomon@google.com
TBR=bsalomon@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
Author: reed@google.com
Review URL: https://codereview.chromium.org/372053003
2014-07-07 15:17:49 -07:00
bsalomon
2011fe9cdf
Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.
...
Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef*
Make GrEffectRef a typedef for GrEffect.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/377503004
2014-07-07 15:11:31 -07:00
commit-bot@chromium.org
97de357270
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
2014-05-29 20:13:22 +00:00
commit-bot@chromium.org
bd0be25074
Remove SK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS flag.
...
Neither Chrome nor Android uses this flag anymore.
Make sure all constructors touched that only have one parameter are marked as 'explicit'.
BUG=2187
R=scroggo@google.com , reed@google.com
Author: dominikg@chromium.org
Review URL: https://codereview.chromium.org/282203004
git-svn-id: http://skia.googlecode.com/svn/trunk@14749 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-15 15:40:41 +00:00
reed@google.com
2e74f9d375
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
2014-05-01 15:56:52 +00:00
commit-bot@chromium.org
cc277b729b
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
2014-04-17 15:19:32 +00:00
mtklein@google.com
e4a4f12bb5
Real fix for SK_API / Windows shared lib problems.
...
Ben reviewed this over my shoulder, and we tested on his machine.
git-svn-id: http://skia.googlecode.com/svn/trunk@14122 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-09 22:54:57 +00:00
commit-bot@chromium.org
0f10f7bf1f
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
2014-03-13 18:02:17 +00:00
commit-bot@chromium.org
0a2bf90dcc
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
2014-02-20 20:40:19 +00:00
commit-bot@chromium.org
8b0e8ac5f5
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
2014-01-30 18:58:24 +00:00
reed@google.com
4469938e92
Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning""
...
This reverts commit 1e787c38fa71f2a21fd728f1b1d620b9b09b0d3d.
BUG=
Review URL: https://codereview.chromium.org/54603004
git-svn-id: http://skia.googlecode.com/svn/trunk@12057 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 17:28:30 +00:00
reed@google.com
6fcbfcead5
Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"
...
This reverts commit 1d22c4aaf9d8f053f25194a1ed74b137bfb19497.
git-svn-id: http://skia.googlecode.com/svn/trunk@12056 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 16:31:11 +00:00
reed@google.com
081560e3ab
add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning
...
BUG=
R=robertphillips@google.com , senorblanco@chromium.org , vandebo@chromium.org
Review URL: https://codereview.chromium.org/51033004
git-svn-id: http://skia.googlecode.com/svn/trunk@12055 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 16:24:08 +00:00
senorblanco@chromium.org
1a6382f5e7
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
2013-10-23 18:41:36 +00:00
commit-bot@chromium.org
c0b7e10c6a
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=
Committed: http://code.google.com/p/skia/source/detail?r=11247
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://codereview.chromium.org/23021015
git-svn-id: http://skia.googlecode.com/svn/trunk@11922 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 17:06:21 +00:00