vjiaoblack
e426babe75
Moving SkBlurImageFilter into core
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2255803003
Committed: https://skia.googlesource.com/skia/+/dd3259eb95c3b47e11eefa3b176365a112a32b48
Review-Url: https://codereview.chromium.org/2255803003
2016-08-22 10:51:27 -07:00
mtklein
2ec417257b
Revert of Moving SkBlurImageFilter into core (patchset #6 id:100001 of https://codereview.chromium.org/2255803003/ )
...
Reason for revert:
It looks like this breaks our roll into Google3:
https://test.corp.google.com/ui#id=OCL:130943857:BASE:130944046:1471881622765:61dbdd3
Original issue's description:
> Moving SkBlurImageFilter into core
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2255803003
>
> Committed: https://skia.googlesource.com/skia/+/dd3259eb95c3b47e11eefa3b176365a112a32b48
TBR=reed@google.com ,fmalita@chromium.org,vjiaoblack@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/2263283002
2016-08-22 09:25:59 -07:00
vjiaoblack
dd3259eb95
Moving SkBlurImageFilter into core
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2255803003
Review-Url: https://codereview.chromium.org/2255803003
2016-08-22 08:50:20 -07:00
reed
a39667c848
add SkMatrixPriv for specialized helpers
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2268443002
Review-Url: https://codereview.chromium.org/2268443002
2016-08-22 06:39:49 -07:00
reed
589a39eb81
store info in basedevice, change getter to non-virtual const&
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2261003003
Review-Url: https://codereview.chromium.org/2261003003
2016-08-20 07:59:19 -07:00
bsalomon
ac3aa245ac
Plumb drawArc to SkDevice.
...
Plumbs the drawArc canvas method down to SkDevice without converting to a path. Plumbs through the various recording canvas classes.
BUG=skia:5227
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2257023003
Review-Url: https://codereview.chromium.org/2257023003
2016-08-19 11:25:20 -07:00
dvonbeck
af0f6efa35
Added SkColor4f::FromColor3f(SkColor3f, float a)
...
Planning to use this for the ColorDisplay widget in https://codereview.chromium.org/2259183003/
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2264643002
Review-Url: https://codereview.chromium.org/2264643002
2016-08-19 11:23:15 -07:00
mtklein
cbdf007bc2
Fast path translate() in SkCanvas and SkLiteDL.
...
This adds didTranslate() so that SkLiteDL (and other canvas recorders)
can record the translate rather than the full concat.
It also adds a case to SkMatrix::preTranslate() to fast path
translate x translate -> translate (i.e. +=).
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2255283002
Committed: https://skia.googlesource.com/skia/+/5fa47f4fd13b3158de4599414c86d17649c2dd1c
Misc bots failing in pictureimagefilter replay modes.
https://luci-milo.appspot.com/swarming/task/30b8e53f3a1f4f10/steps/dm/0/stdout
Problem is FMA vs. not.
CQ_INCLUDE_TRYBOTS=master.client.skia:
Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot
Review-Url: https://codereview.chromium.org/2255283002
2016-08-19 09:05:27 -07:00
mtklein
954df2fe9f
Revert of Fast path translate() in SkCanvas and SkLiteDL. (patchset #5 id:80001 of https://codereview.chromium.org/2255283002/ )
...
Reason for revert:
speculative
Original issue's description:
> Fast path translate() in SkCanvas and SkLiteDL.
>
> This adds didTranslate() so that SkLiteDL (and other canvas recorders)
> can record the translate rather than the full concat.
>
> It also adds a case to SkMatrix::preTranslate() to fast path
> translate x translate -> translate (i.e. +=).
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2255283002
>
> Committed: https://skia.googlesource.com/skia/+/5fa47f4fd13b3158de4599414c86d17649c2dd1c
TBR=herb@google.com ,reed@google.com,mtklein@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/2264433002
2016-08-18 17:43:59 -07:00
mtklein
5fa47f4fd1
Fast path translate() in SkCanvas and SkLiteDL.
...
This adds didTranslate() so that SkLiteDL (and other canvas recorders)
can record the translate rather than the full concat.
It also adds a case to SkMatrix::preTranslate() to fast path
translate x translate -> translate (i.e. +=).
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2255283002
Review-Url: https://codereview.chromium.org/2255283002
2016-08-18 15:42:32 -07:00
msarett
9637ea91b8
Fix initialization bug for fConservativeIsScaleTranslate
...
Also don't mark it as conservative, we expect it to be correct all
the time.
TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2261573002
Review-Url: https://codereview.chromium.org/2261573002
2016-08-18 14:03:30 -07:00
reed
3aafe111b6
make LayerIter private, and remove skipClip option
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2257203002
Review-Url: https://codereview.chromium.org/2257203002
2016-08-18 12:45:34 -07:00
reed
7c1235457f
remove disable aa/dither flags from Props -- never used
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2257643003
TBR=bsalomon
Review-Url: https://codereview.chromium.org/2257643003
2016-08-18 09:30:44 -07:00
brianosman
69c166d2ce
Add alphaType() to SkImage
...
Keep isOpaque as a convenience method -- many places really only need to
know that for optimization purposes (SrcOver -> Src, etc...).
In all the places where we pull data back out or convert to another
object and need to supply an SkImageInfo, we can avoid losing information
about premulness.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2250663002
Review-Url: https://codereview.chromium.org/2250663002
2016-08-17 14:01:05 -07:00
msarett
36931c2b47
Add test for platform encoders, turn off platform encoders by default
...
Clients that like WIC and CG can still use them. And we can be
confident about that, since we now test WIC and CG.
Let Skia always use our own encoders by default, so we can do cool,
custom things on all platforms.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2250683003
Review-Url: https://codereview.chromium.org/2250683003
2016-08-16 15:11:24 -07:00
halcanary
3287588a46
SkPDF: SkPDFFont class changes
...
SkPDFFont:
* inline some one-line methdods.
- SkPDFFont::typeface()
- SkPDFFont::fontInfo()
- SkPDFFont::firstGlyphID()
- SkPDFFont::lastGlyphID()
- SkPDFFont::getFontDescriptor()
* de-virtualize some methods:
- SkPDFFont::getType()
- SkPDFFont::multiByteGlyphs()
* Constructor takes more arguments:
fontType, multiByteGlyphs
* re-order fields (pointers before shorts)
* use sk_sp<T> more, T* less
SkAdvancedTypefaceMetrics:
* SkAdvancedTypefaceMetrics::fFont now a uint8_t
* other enumes are sized.
* SkAdvancedTypefaceMetrics::fStyle now big enough.
* remove use of SkTBitOr, replaced with fancy templates
No public API changes.
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2246903002
Review-Url: https://codereview.chromium.org/2246903002
2016-08-16 09:36:23 -07:00
mtklein
883c8efae7
SkLiteDL: remove freelisting, add reset() and SKLITEDL_PAGE knob.
...
We think Android can cache these better than a global freelist allows.
This removes the freelisting but adds reset() to allow reuse.
I took the opportunity to abstract 4096 as a define SKLITEDL_PAGE.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2248693004
Review-Url: https://codereview.chromium.org/2248693004
2016-08-16 09:36:18 -07:00
msarett
168820625c
Add onDrawBitmapLattice(), avoid unnecessary bitmap->image copy
...
out/Release/nanobench --match Lattice --config gpu --ms 3000
3.42ms -> 17.2us
For reference, a loop over drawBitmapRects (which is what
Android currently does) is about 13us.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2205273003
Review-Url: https://codereview.chromium.org/2205273003
2016-08-16 09:31:08 -07:00
hstern
e6f8ff0013
Defined SkDEBUGFAILF on Release builds
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2244253003
Review-Url: https://codereview.chromium.org/2244253003
2016-08-15 15:26:31 -07:00
bsalomon
7f0d9f3920
Attempt to throw away rrect clips of rrects.
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2241273003
Review-Url: https://codereview.chromium.org/2241273003
2016-08-15 14:49:10 -07:00
mtklein
8bbbb696cd
Revert of add parallel public API for recording SkLiteDL. (patchset #1 id:1 of https://codereview.chromium.org/2246893002/ )
...
Reason for revert:
looking like we won't need this
Original issue's description:
> add parallel public API for recording SkLiteDL.
>
> The API is restricted to pretty much just what Derek calls,
> but it's enough that we can switch testing over to use it.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2246893002
>
> Committed: https://skia.googlesource.com/skia/+/ced26a3d6b77d3a6744a8ccb8eff23eda45fc867
TBR=djsollen@google.com ,reed@google.com,mtklein@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/2243393002
2016-08-15 12:56:00 -07:00
dvonbeck
6ad75d10eb
LightingFP now supports multiple directional lights
...
BUG=skia:5518
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2239933004
Review-Url: https://codereview.chromium.org/2239933004
2016-08-15 11:35:55 -07:00
mtklein
ced26a3d6b
add parallel public API for recording SkLiteDL.
...
The API is restricted to pretty much just what Derek calls,
but it's enough that we can switch testing over to use it.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2246893002
Review-Url: https://codereview.chromium.org/2246893002
2016-08-15 08:05:39 -07:00
vjiaoblack
772b5ee446
Added PointLights to SkLights::Light
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2237493002
Review-Url: https://codereview.chromium.org/2237493002
2016-08-12 11:38:47 -07:00
msarett
fbfa258027
Optimized implementation of quickReject()
...
Impl Overview
(1) Keep the device clip bounds up to date. This
requires minimal additional work in a few places
throughout canvas.
(2) Keep track of if the ctm isScaleTranslate. Yes,
there's a function that does this, but it's slow
to call.
(3) Perform the src->device transform in quick reject,
then check intersection/nan.
Other Notes:
(1) NaN and intersection checks are performed
simultaneously.
(2) We no longer quick reject infinity.
(3) Affine and perspective are both handled in the slow
case.
(4) SkRasterClip::isEmpty() is handled by the intersection
check.
Performance on Nexus 6P:
93.2ms -> 59.8ms
Overall Android Jank Tests Performance Impact:
Should gain us a ms or two on some tests.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2225393002
Committed: https://skia.googlesource.com/skia/+/d22a817ff57986407facd16af36320fc86ce02da
Review-Url: https://codereview.chromium.org/2225393002
2016-08-12 08:29:08 -07:00
mtklein
5aeb2fa253
Revert of Optimized implementation of quickReject() (patchset #12 id:260001 of https://codereview.chromium.org/2225393002/ )
...
Reason for revert:
New assert triggering in the Chrome roll,
https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/208750/steps/webkit_unit_tests%20%28with%20patch%29%20on%20Ubuntu-12.04/logs/FrameThrottlingTest.SynchronousLayoutInAnimationFrameCallback
and breaks the SKNX_NO_SIMD bot,
https://codereview.chromium.org/2236363004
Original issue's description:
> Optimized implementation of quickReject()
>
> Impl Overview
> (1) Keep the device clip bounds up to date. This
> requires minimal additional work in a few places
> throughout canvas.
> (2) Keep track of if the ctm isScaleTranslate. Yes,
> there's a function that does this, but it's slow
> to call.
> (3) Perform the src->device transform in quick reject,
> then check intersection/nan.
>
> Other Notes:
> (1) NaN and intersection checks are performed
> simultaneously.
> (2) We no longer quick reject infinity.
> (3) Affine and perspective are both handled in the slow
> case.
> (4) SkRasterClip::isEmpty() is handled by the intersection
> check.
>
> Performance on Nexus 6P:
> 93.2ms -> 59.8ms
>
> Overall Android Jank Tests Performance Impact:
> Should gain us a ms or two on some tests.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2225393002
>
> Committed: https://skia.googlesource.com/skia/+/d22a817ff57986407facd16af36320fc86ce02da
TBR=reed@google.com ,herb@google.com,msarett@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/2231393003
2016-08-12 02:22:33 -07:00
msarett
d22a817ff5
Optimized implementation of quickReject()
...
Impl Overview
(1) Keep the device clip bounds up to date. This
requires minimal additional work in a few places
throughout canvas.
(2) Keep track of if the ctm isScaleTranslate. Yes,
there's a function that does this, but it's slow
to call.
(3) Perform the src->device transform in quick reject,
then check intersection/nan.
Other Notes:
(1) NaN and intersection checks are performed
simultaneously.
(2) We no longer quick reject infinity.
(3) Affine and perspective are both handled in the slow
case.
(4) SkRasterClip::isEmpty() is handled by the intersection
check.
Performance on Nexus 6P:
93.2ms -> 59.8ms
Overall Android Jank Tests Performance Impact:
Should gain us a ms or two on some tests.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2225393002
Review-Url: https://codereview.chromium.org/2225393002
2016-08-11 14:40:04 -07:00
msarett
6372e65909
Delete quickRejectY()
...
This is the first step in a refactor of quickReject().
TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2241473002
Review-Url: https://codereview.chromium.org/2241473002
2016-08-11 10:31:49 -07:00
reed
a9ca05ca5e
Deserialize pictures with custom image-deserializer
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2187613002
Review-Url: https://codereview.chromium.org/2187613002
2016-08-11 03:55:15 -07:00
hstern
7cffe9733b
Add constructor to DashInfo to enable initializer lists
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2230143003
Review-Url: https://codereview.chromium.org/2230143003
2016-08-10 16:36:11 -07:00
fmalita
0cbe77c383
Add a SkTLazy copy assignment operator
...
Also scrub for NULL, etc.
R=mtklein@google.com ,reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2232913003
Review-Url: https://codereview.chromium.org/2232913003
2016-08-10 16:30:37 -07:00
robertphillips
27cdd94790
Implement GPU occluded blur mask filter
...
Spawned off: https://codereview.chromium.org/2214163003/ (Minor clean up related to blur mask filters)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2201133002
Review-Url: https://codereview.chromium.org/2201133002
2016-08-10 16:25:25 -07:00
reed
2ab9057b31
update textblob api to use sk_sp
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2236013002
NOTREECHECKS=True
Review-Url: https://codereview.chromium.org/2236013002
2016-08-10 14:16:41 -07:00
robertphillips
f5a83e8184
Create blurred RRect mask on GPU (rather than uploading it)
...
This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates)
All blurred rrects using the "analytic" path will change slightly with this CL.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222083004
Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479
Committed: https://skia.googlesource.com/skia/+/94b5c5a41160e0f55e267fc3d830df65736fac50
Review-Url: https://codereview.chromium.org/2222083004
2016-08-10 12:00:09 -07:00
csmartdalton
ceeaa78713
Fix SkDEBUGCODE to accept commas
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2231663002
Review-Url: https://codereview.chromium.org/2231663002
2016-08-10 10:07:58 -07:00
robertphillips
3f0e6945f8
Revert of Create blurred RRect mask on GPU (rather than uploading it) (patchset #5 id:80001 of https://codereview.chromium.org/2222083004/ )
...
Reason for revert:
No NoGPU bot on commit queue ?
Original issue's description:
> Create blurred RRect mask on GPU (rather than uploading it)
>
> This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates)
>
> All blurred rrects using the "analytic" path will change slightly with this CL.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222083004
>
> Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479
> Committed: https://skia.googlesource.com/skia/+/94b5c5a41160e0f55e267fc3d830df65736fac50
TBR=bsalomon@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/2232953002
2016-08-10 08:40:35 -07:00
robertphillips
94b5c5a411
Create blurred RRect mask on GPU (rather than uploading it)
...
This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates)
All blurred rrects using the "analytic" path will change slightly with this CL.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222083004
Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479
Review-Url: https://codereview.chromium.org/2222083004
2016-08-10 07:14:55 -07:00
halcanary
c5769b2e49
Revert of Change mapRectScaleTranslate to pass args/ret by value (patchset #2 id:20001 of https://codereview.chromium.org/2138943002/ )
...
Reason for revert:
Build-Ubuntu-GCC-Arm7-Release-Android fails.
Original issue's description:
> Change mapRectScaleTranslate to pass args/ret by value
>
> This reverts commit 6092b6e0e5
.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2138943002
>
> Committed: https://skia.googlesource.com/skia/+/1bd13ca922d6448d595064faee486eaf3fa56e56
TBR=mtklein@google.com ,msarett@google.com,reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/2234843002
2016-08-10 07:13:21 -07:00
reed
1bd13ca922
Change mapRectScaleTranslate to pass args/ret by value
...
This reverts commit 6092b6e0e5
.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2138943002
Review-Url: https://codereview.chromium.org/2138943002
2016-08-10 06:17:54 -07:00
robertphillips
69cfa9c28d
Revert of Create blurred RRect mask on GPU (rather than uploading it) (patchset #4 id:60001 of https://codereview.chromium.org/2222083004/ )
...
Reason for revert:
Erg - dumb bug
Original issue's description:
> Create blurred RRect mask on GPU (rather than uploading it)
>
> This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates)
>
> All blurred rrects using the "analytic" path will change slightly with this CL.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222083004
>
> Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479
TBR=bsalomon@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/2236493002
2016-08-10 06:15:33 -07:00
robertphillips
75ccdc77a7
Create blurred RRect mask on GPU (rather than uploading it)
...
This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates)
All blurred rrects using the "analytic" path will change slightly with this CL.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222083004
Review-Url: https://codereview.chromium.org/2222083004
2016-08-10 05:33:12 -07:00
halcanary
e9d55c57a6
Revert of Store mipmap levels in deferred texture image (patchset #11 id:200001 of https://codereview.chromium.org/2115023002/ )
...
Reason for revert:
speculative revert: android dm crashes
Original issue's description:
> Store mipmap levels in deferred texture image
>
> This is a follow-up to https://codereview.chromium.org/2034933003/ which
> was reverted due to a memory leak.
>
> When creating the deferred texture image, detect if using medium / high
> quality. If so, generate and store mipmaps in the deferred texture
> image.
>
> When creating a texture from that be sure to read it back out.
>
> BUG=578304
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2115023002
>
> Committed: https://skia.googlesource.com/skia/+/d6113140f7ae8996f679ac6698a60fb8c1386da3
TBR=brianosman@google.com ,bsalomon@google.com,ericrk@chromium.org,cblume@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=578304
Review-Url: https://codereview.chromium.org/2227323002
2016-08-09 17:46:25 -07:00
cblume
d6113140f7
Store mipmap levels in deferred texture image
...
This is a follow-up to https://codereview.chromium.org/2034933003/ which
was reverted due to a memory leak.
When creating the deferred texture image, detect if using medium / high
quality. If so, generate and store mipmaps in the deferred texture
image.
When creating a texture from that be sure to read it back out.
BUG=578304
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2115023002
Review-Url: https://codereview.chromium.org/2115023002
2016-08-09 13:45:56 -07:00
halcanary
8eccc308c8
SkPDF: SkPDFFont organization changes.
...
SkPDFFont:
- SkPDFType1Font::populate() encode advances correctly.
- break out logically independent code into new files:
* SkPDFConvertType1FontStream
* SkPDFMakeToUnicodeCmap
SkPDFFont.cpp is now 380 lines smaller.
Expose `SkPDFAppendCmapSections()` for testing.
SkPDFFontImpl.h
- Fold into SkPDFFont.
SkPDFConvertType1FontStream:
- Now assume given a SkStreamAsset
SkPDFFont:
- AdvanceMetric now hidden in a anonymous namespace.
No public API changes.
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2221163002
Review-Url: https://codereview.chromium.org/2221163002
2016-08-09 13:04:34 -07:00
mtklein
b47cd4b3d6
Use SkNVRefCnt for a couple common types.
...
These types are ref-counted, but don't otherwise need a vtable.
This makes them good candidates for SkNVRefCnt.
Destruction can be a little more direct, and if nothing else,
sizeof(T) will get a little smaller by dropping the vptr.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2232433002
Review-Url: https://codereview.chromium.org/2232433002
2016-08-09 12:20:04 -07:00
hstern
23d9776024
Move seg_to to a new header, define SkSegType enum there
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2221203002
Review-Url: https://codereview.chromium.org/2221203002
2016-08-09 09:38:30 -07:00
halcanary
8b1d32c8d0
SkPDF/SkAdvancedTypefaceMetrics: simplify ATM, PDF takes over
...
No public API changes.
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222523003
Review-Url: https://codereview.chromium.org/2222523003
2016-08-08 09:09:59 -07:00
bungeman
f95388da1a
Remove SK_SUPPORT_LEGACY_DATA_FACTORIES.
...
The code protected by this flag is no longer used. Remove the flag and
code. This also removes SK_SUPPORT_LEGACY_TYPEFACE_PTR from Android, as
it is no longer needed.
TBR=reed
Only removes already guarded API.
Review-Url: https://codereview.chromium.org/2223933002
2016-08-08 08:09:10 -07:00
mtklein
9c5052f16b
SkLite*
...
SkLiteRecorder, a new SkCanvas, fills out SkLiteDL, a new SkDrawable.
This SkDrawable is a display list similar to SkRecord and SkBigPicture / SkRecordedDrawable, but with a few new design points inspired by Android and slimming paint:
1) SkLiteDL is structured as one big contiguous array rather than the two layer structure of SkRecord. This trades away flexibility and large-op-count performance for better data locality for small to medium size pictures.
2) We keep a global freelist of SkLiteDLs, both reusing the SkLiteDL struct itself and its contiguous byte array. This keeps the expected number of mallocs per display list allocation <1 (really, ~0) for cyclical use cases.
These two together mean recording is faster. Measuring against the code we use at head, SkLiteRecorder trends about ~3x faster across various size pictures, matching speed at 0 draws and beating the special-case 1-draw pictures we have today. (I.e. we won't need those special case implementations anymore, because they're slower than this new generic code.) This new strategy records 10 drawRects() in about the same time the old strategy took for 2.
This strategy stays the winner until at least 500 drawRect()s on my laptop, where I stopped checking.
A simpler alternative to freelisting is also possible (but not implemented here), where we allow the client to manually reset() an SkLiteDL for reuse when its refcnt is 1. That's essentially what we're doing with the freelist, except tracking what's available for reuse globally instead of making the client do it.
This code is not fully capable yet, but most of the key design points are there. The internal structure of SkLiteDL is the area I expect to be most volatile (anything involving Op), but its interface and the whole of SkLiteRecorder ought to be just about done.
You can run nanobench --match picture_overhead as a demo. Everything it exercises is fully fleshed out, so what it tests is an apples-to-apples comparison as far as recording costs go. I have not yet compared playback performance.
It should be simple to wrap this into an SkPicture subclass if we want.
I won't start proposing we replace anything old with anything new quite yet until I have more ducks in a row, but this does look pretty promising (similar to the SkRecord over old SkPicture change a couple years ago) and I'd like to land, experiment, iterate, especially with an eye toward Android.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2213333002
Review-Url: https://codereview.chromium.org/2213333002
2016-08-06 12:51:51 -07:00
djsollen
300405a7a2
Enable SK_DEBUG/SK_RELEASE to be defined in the user config.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2204683005
Review-Url: https://codereview.chromium.org/2204683005
2016-08-05 13:04:41 -07:00
lsalzman
40254c2c2d
SkBlendARGB32 and S32[A]_Blend_BlitRow32 are currently formulated as: SkAlphaMulQ(src, src_scale) + SkAlphaMulQ(dst, dst_scale), which boils down to ((src*src_scale)>>8) + ((dst*dst_scale)>>8). In particular, note that the intermediate precision is discarded before the two parts are added together, causing the final result to possibly inaccurate.
...
In Firefox, we use SkCanvas::saveLayer in combination with a backdrop that initializes the layer to the background. When this is blended back onto background using transparency, where the source and destination pixel colors are the same, the resulting color after the blend is not preserved due to the lost precision mentioned above. In cases where this operation is repeatedly performed, this causes substantially noticeable differences in color as evidenced in this downstream Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=1200684
In the test-case in the downstream report, essentially it does blend(src=0xFF2E3338, dst=0xFF2E3338, scale=217), which gives the result 0xFF2E3237, while we would expect to get back 0xFF2E3338.
This problem goes away if the blend is instead reformulated to effectively do (src*src_scale + dst*dst_scale)>>8, which keeps the intermediate precision during the addition before shifting it off.
This modifies the blending operations thusly. The performance should remain mostly unchanged, or possibly improve slightly, so there should be no real downside to doing this, with the benefit of making the results more accurate. Without this, it is currently unsafe for Firefox to blend a layer back onto itself that was initialized with a copy of its background.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2097883002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
[mtklein adds...]
No public API changes.
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/2097883002
2016-08-05 11:48:45 -07:00
bungeman
feb3c1a57f
Move to SkDataTable::MakeXXX and sk_sp.
...
Change SkDataTable::NewXXX to SkDataTable::MakeXXX and return sk_sp.
This updates users of SkDataTable to sk_sp as well.
There do not appear to be any external users of these methods.
Review-Url: https://codereview.chromium.org/2211143002
2016-08-05 06:51:50 -07:00
robertphillips
15c42ca310
Remove SkSurface::MakeRenderTargetDirect
...
split into:
https://codereview.chromium.org/2182543003/ (Move prepareForExternalIO from GrRenderTarget to GrDrawContext)
https://codereview.chromium.org/2187573002/ (Reduce usage of MakeRenderTargetDirect)
https://codereview.chromium.org/2186073002/ (Rename GrContext's newDrawContext & drawContext to makeDrawContext)
https://codereview.chromium.org/2178353005/ (Remove use of MakeRenderTargetDirect from view system)
https://codereview.chromium.org/2198433003/ (Remove some ancillary users of SkSurface::MakeRenderTargetDirect)
https://codereview.chromium.org/2208483004/ (Remove GrRenderTarget member variable from SkGpuDevice)
https://codereview.chromium.org/2211473002/ (Move GrContext::makeDrawContext to new GrContextPriv object)
TBR=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2176333002
Review-Url: https://codereview.chromium.org/2176333002
2016-08-04 08:45:02 -07:00
mtklein
7a1f45f9e5
spin off easy stuff from Herb's windows GN CL
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2209533004
No public API changes.
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/2209533004
2016-08-04 06:19:33 -07:00
mtklein
62e1a1a4ba
Make SK_BUILD_FOR_WIN32 auto-detection work.
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2205173003
No public API changes
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/2205173003
2016-08-03 11:09:59 -07:00
robertphillips
a746f7894a
Fix dtor bug in SkLights
...
The overriding problem was that the SkTDArray wasn't calling the SkLight destructors.
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2206823003
Review-Url: https://codereview.chromium.org/2206823003
2016-08-03 09:40:39 -07:00
bungeman
38d909ec28
Move off SK_SUPPORT_LEGACY_DATA_FACTORIES.
...
This moves Skia code off of SK_SUPPORT_LEGACY_DATA_FACTORIES.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2206633004
Review-Url: https://codereview.chromium.org/2206633004
2016-08-02 14:40:46 -07:00
mtklein
091cb8d72d
Delete SkARGBImageEncoder.
...
It appears to be unused now except by its unit test, also deleted.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2208433002
No public API changes.
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/2208433002
2016-08-02 12:57:33 -07:00
bungeman
b1dd067128
Remove 'Ulta' width.
...
All users of this old name appear to be updated.
TBR=reed
Removing unused and mis-spelled API.
Review-Url: https://codereview.chromium.org/2206453003
2016-08-02 10:43:29 -07:00
msarett
c573a40ed5
Add drawImageLattice() and drawBitmapLattice() APIs
...
The specified image/bitmap is divided into rects, which
can be draw stretched, shrunk, or at a fixed size. Will be
used by Android to draw 9patch (which are acutally N-patch)
images.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1992283002
Review-Url: https://codereview.chromium.org/1992283002
2016-08-02 08:05:56 -07:00
reed
320a40d773
Always return ImageShader, even from SkShader::MakeBitmapShader
...
Lessons learned
1. ImageShader (correctly) always compresses (typically via PNG) during serialization. This has the surprise results of
- if the image was marked opaque, but has some non-opaque pixels (i.e. bug in blitter or caller), then compressing may "fix" those pixels, making the deserialized version draw differently. bug filed.
- 565 compressess/decompresses to 8888 (at least on Mac), which draws differently (esp. under some filters). bug filed.
2. BitmapShader did not enforce a copy for mutable bitmaps, but ImageShader does (since it creates an Image). Thus the former would see subsequent changes to the pixels after shader creation, while the latter does not, hence the change to the BlitRow test to avoid this modify-after-create pattern. I sure hope this prev. behavior was a bug/undefined-behavior, since this CL changes that.
BUG=skia:5595
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2195893002
Review-Url: https://codereview.chromium.org/2195893002
2016-08-02 06:12:06 -07:00
mtklein
1bb5fecbea
Sketch SkPictureRecorder::optimizeFor(GrContext*).
...
I'm open to API suggestions.
We can pass this in finishAs(), up front, whatever.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2203453002
Review-Url: https://codereview.chromium.org/2203453002
2016-08-01 13:17:47 -07:00
bungeman
d783e08004
Replace 'Ulta' with 'Ultra'.
...
Start fixing a typo in an enum name.
TBR=reed
This is just a typo fix.
Review-Url: https://codereview.chromium.org/2202703002
2016-08-01 12:37:13 -07:00
reed
f1ac18229c
implement isABitmap for imageshader, return localmatrix for bitmap's impl
...
For imageshader, I only return true if the image is explicitly raster-backed. I do not return true for texture, nor for generator (i.e. lazy/picture) backed. Is that ok?
BUG=skia:5592
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2197323002
Review-Url: https://codereview.chromium.org/2197323002
2016-08-01 11:24:14 -07:00
msarett
abbd6d5e02
Add SkColorSpace::Equals() API
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2196743002
Review-Url: https://codereview.chromium.org/2196743002
2016-08-01 09:43:08 -07:00
mtklein
8d7f5c3f29
Default fake gamma to sRGB.
...
No one appears to be using the default 2.2.
This makes SK_GAMMA_SRGB the default / a no-op, which seems more realistic.
Chrome's explicitly setting SK_GAMMA_EXPONENT or SK_GAMMA_SRGB.
We set Android platform explicitly to 1.4.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2198073002
Review-Url: https://codereview.chromium.org/2198073002
2016-08-01 09:22:12 -07:00
robertphillips
12e9662cf7
Remove some ancillary users of SkSurface::MakeRenderTargetDirect
...
calved off of: https://codereview.chromium.org/2176333002/ (Remove SkSurface::MakeRenderTargetDirect)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2198433003
Review-Url: https://codereview.chromium.org/2198433003
2016-08-01 05:53:23 -07:00
bungeman
aa8f39402c
Conditionally define SK_SUPPORT_LEGACY_DATA_FACTORIES.
...
In order to remove this define it will first need to be defined in
Chromium. However, doing so causes redefinition warnings as errors.
Only define this macro if it is not already defined to avoid this.
TBR=reed
This doesn't change any API.
Review-Url: https://codereview.chromium.org/2198453002
2016-07-29 10:47:45 -07:00
msarett
a0605bf9d1
Add writeToMemory() API to SkColorSpace
...
New API mirrors the form of similar APIs in SkRegion,
SkMatrix, etc.
This also fixes a bug:
SkImageInfo appears in a object that Chrome stores in
discardable memory. So when sk_sp<SkColorSpace> was added
to SkImageInfo a leak was introduced. We'll use this new
method and deserialize to store the SkColorSpace in the
discardable object.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2192903002
Review-Url: https://codereview.chromium.org/2192903002
2016-07-28 10:47:50 -07:00
fmalita
eae6a91277
SkPaint intercept API for SkTextBlob and horizontal text
...
Add getPosTextHIntercepts(), getTextBlobIntercepts().
Consolidate the implementation in GetTextIntercepts<> template.
BUG=chormium:581456
R=caryclark@google.com ,reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2186663004
Review-Url: https://codereview.chromium.org/2186663004
2016-07-28 09:47:24 -07:00
mtklein
fa84d94bb0
Make both SK_API definition points identical and order independent.
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2189983002
Review-Url: https://codereview.chromium.org/2189983002
2016-07-28 09:45:15 -07:00
msarett
7b9b541af8
Expose more gamma info for UMA statistics
...
TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2188633003
Review-Url: https://codereview.chromium.org/2188633003
2016-07-27 13:51:46 -07:00
caryclark
d6562000ef
require semi at the end of SkASSERT and friends
...
R=bungeman@google.com
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2185063002
Review-Url: https://codereview.chromium.org/2185063002
2016-07-27 12:02:07 -07:00
jcgregorio
aef94d1818
Avoid warnings on GCC 4.8.4
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2183243002
[mtklein adds...]
TBR=reed@google.com
No public API changes.
Review-Url: https://codereview.chromium.org/2183243002
2016-07-26 14:10:17 -07:00
robertphillips
7e92276554
Reduce usage of MakeRenderTargetDirect
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2187573002
Review-Url: https://codereview.chromium.org/2187573002
2016-07-26 11:38:17 -07:00
brianosman
3a0dbde1cf
Remove SkSurfaceProps gamma-correctness flag entirely.
...
This is no longer required - gamma-correctness is now just based on the
presence or absence of a color space.
Public API change is just removal of (unused) flag.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2188463002
TBR=bsalomon@google.com
Review-Url: https://codereview.chromium.org/2188463002
2016-07-26 11:36:05 -07:00
bungeman
b8113780c3
Update typeface serialization style.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2030683002
Committed: https://skia.googlesource.com/skia/+/7ae1c72e593823e6e300e4199558555765bcec17
Review-Url: https://codereview.chromium.org/2030683002
2016-07-25 16:54:59 -07:00
bungeman
6e45bda29e
Add test for typeface style round trip.
...
This also fixes the CG and GDI ports so they pass the test.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2171163002
Review-Url: https://codereview.chromium.org/2171163002
2016-07-25 15:11:49 -07:00
reed
c7ec7c9cab
remove/deprecate SkBitmap::getTexture, as it now always returns false
...
oh happy day
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2175873002
Review-Url: https://codereview.chromium.org/2175873002
2016-07-25 08:29:10 -07:00
reed
2c9e20055b
remove fClipStack and attach/deattach-from-canvas
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2180793002
Review-Url: https://codereview.chromium.org/2180793002
2016-07-25 08:05:23 -07:00
halcanary
d0e95a524c
typedef uint16_t SkGlyphID
...
This goes well with our existing `typedef int32_t SkUnichar`.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2095263003
Review-Url: https://codereview.chromium.org/2095263003
2016-07-25 07:18:12 -07:00
brianosman
1638c0deea
Add destination color space to AsFPArgs. Eliminates last XFORMTODO.
...
This is going to be needed in many more places as I finish connecting the
dots. Even better - I'd like to switch to a world where SkColorSpace !=
nullptr is the only signal we use for gamma-correct rendering, so I can
eliminate SkSourceGammaTreatment and SkSurfaceProps::isGammaCorrect.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2180503002
Review-Url: https://codereview.chromium.org/2180503002
2016-07-25 05:12:53 -07:00
reed
b560b5c8c0
lockPixelsAreWritable is deprecated
...
BUG=skia:4328
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2177063002
TBR=
Review-Url: https://codereview.chromium.org/2177063002
2016-07-24 12:30:34 -07:00
senorblanco
9c1d45d986
Always init SkPathRef variables.
...
BUG=623195
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2173853003
Review-Url: https://codereview.chromium.org/2173853003
2016-07-22 13:51:42 -07:00
mtklein
9a5c47f4ef
Add SkRasterPipeline blitter.
...
This is now pixel-exact with the existing sRGB SW impl as far as I've tested.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146413002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot
Committed: https://skia.googlesource.com/skia/+/3011e337693a9786f62d8de9ac4b239ad6dbdaca
Review-Url: https://codereview.chromium.org/2146413002
2016-07-22 11:05:04 -07:00
brianosman
839345d634
Bundle SkShader::asFragmentProcessor arguments in a struct
...
The signature of this thing keeps changing (and is about to change again).
This just makes maintenance much easier.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2175563003
Review-Url: https://codereview.chromium.org/2175563003
2016-07-22 11:04:53 -07:00
mtklein
aa29b27329
Revert of Add SkRasterPipeline blitter. (patchset #18 id:340001 of https://codereview.chromium.org/2146413002/ )
...
Reason for revert:
Leaking the blitter
https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-ASAN/builds/7908/steps/test_skia%20on%20Ubuntu/logs/stdio
Original issue's description:
> Add SkRasterPipeline blitter.
>
> This is now pixel-exact with the existing sRGB SW impl as far as I've tested.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146413002
> CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/3011e337693a9786f62d8de9ac4b239ad6dbdaca
TBR=reed@google.com ,mtklein@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/2178523002
2016-07-22 10:20:52 -07:00
vjiaoblack
5bfee98c8c
Creating framework for drawShadowedPicture
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146073003
Committed: https://skia.googlesource.com/skia/+/0ae097d116f4332be02a135ffc99c162473dee6a
Committed: https://skia.googlesource.com/skia/+/95302da19d8b0a3bcd9d9be0e79f486760787f09
Review-Url: https://codereview.chromium.org/2146073003
2016-07-22 10:04:15 -07:00
mtklein
3011e33769
Add SkRasterPipeline blitter.
...
This is now pixel-exact with the existing sRGB SW impl as far as I've tested.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146413002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Review-Url: https://codereview.chromium.org/2146413002
2016-07-22 08:53:26 -07:00
brianosman
dfe4f2e4fe
Add SkColorSpace to GrDrawContext
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2164363002
Review-Url: https://codereview.chromium.org/2164363002
2016-07-21 13:28:36 -07:00
vjiaoblack
95302da19d
Creating framework for drawShadowedPicture
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146073003
Committed: https://skia.googlesource.com/skia/+/0ae097d116f4332be02a135ffc99c162473dee6a
Review-Url: https://codereview.chromium.org/2146073003
2016-07-21 10:25:54 -07:00
vjiaoblack
33d325890e
Revert of Creating framework for drawShadowedPicture (patchset #14 id:260001 of https://codereview.chromium.org/2146073003/ )
...
Reason for revert:
Decided to re-wait for a final LGTM.
Already found a bug in variable naming to fix.
Original issue's description:
> Creating framework for drawShadowedPicture
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146073003
>
> Committed: https://skia.googlesource.com/skia/+/0ae097d116f4332be02a135ffc99c162473dee6a
TBR=reed@google.com ,robertphillips@google.com,bsalomon@google.com,jvanverth@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/2167223002
2016-07-21 09:24:16 -07:00
vjiaoblack
0ae097d116
Creating framework for drawShadowedPicture
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146073003
Review-Url: https://codereview.chromium.org/2146073003
2016-07-21 09:10:23 -07:00
robertphillips
1f3923e4e5
Deprecate SkDevice::accessBitmap method
...
Relies on https://codereview.chromium.org/2162423003/ (Add SK_SUPPORT_LEGACY_ACCESSBITMAP Skia guard) landing in Chromium first.
Calved off: https://codereview.chromium.org/2163323002/ (Add desired width & height to drawContext (as opposed to using the width & height of the RT))
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2168483003
Review-Url: https://codereview.chromium.org/2168483003
2016-07-21 07:17:54 -07:00
brianosman
afbf71dd92
Adding color space to SkSpecialImage
...
Mostly means that GPU backed special images need to be supplied (and
store) a color space object.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2163343002
Review-Url: https://codereview.chromium.org/2163343002
2016-07-21 07:15:37 -07:00
brianosman
dddbe380b0
Adding an SkColorSpace to SkImage_Gpu
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2165703003
Review-Url: https://codereview.chromium.org/2165703003
2016-07-20 13:55:39 -07:00
reed
cf5c846b41
remove dead methods now that we use specials exclusively for imagefilters
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2164763003
Review-Url: https://codereview.chromium.org/2164763003
2016-07-20 12:28:40 -07:00
bungeman
1f790aaeef
Improve assert reporting.
...
Make SkASSERTF output readable.
Ensure the assert predicate is stringified once.
Make the abort code consistent.
TBR=reed
This doesn't change any public API, most of this should be privatized.
Review-Url: https://codereview.chromium.org/2161103002
2016-07-20 09:49:10 -07:00
robertphillips
ea70c4bb22
Remove SkDevice::accessRenderTarget virtual
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2167723002
Review-Url: https://codereview.chromium.org/2167723002
2016-07-20 08:54:31 -07:00
reed
a2217ef965
use special-image for imagefilters and save/restore layer
...
add special virtuals to device, in preparation for using them instead of bitmap for imagefilters
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2155933002
patch from issue 2155933002 at patchset 20001 (http://crrev.com/2155933002#ps20001 )
use specialimages instead of bitmaps for imagefiltering
Review-Url: https://codereview.chromium.org/2155063002
2016-07-20 06:04:34 -07:00
reed
e51c356ae4
pre-land special methods on device
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2161233002
Review-Url: https://codereview.chromium.org/2161233002
2016-07-19 14:33:20 -07:00
brianosman
9ecaa1d9f0
Remove unused MakeFromTextureCopy API
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2165803002
Review-Url: https://codereview.chromium.org/2165803002
2016-07-19 14:16:49 -07:00
robertphillips
e34f17d236
Make SkFont a bit more useable
...
Split out of https://codereview.chromium.org/2163483002/ (Use SkFont in GrStencilAndCoverTextContext)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2163633002
Review-Url: https://codereview.chromium.org/2163633002
2016-07-19 07:59:22 -07:00
robertphillips
6451a0cea6
Add makeSpecial calls to SkGpuDevice
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2161533003
Review-Url: https://codereview.chromium.org/2161533003
2016-07-18 08:31:31 -07:00
bsalomon
0ae36a2ceb
In GrShape detect that stroked axis-aligned lines are rrects.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2151313002
Review-Url: https://codereview.chromium.org/2151313002
2016-07-18 07:31:13 -07:00
abarth
6fc8ff024b
Add support for Fuchsia
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2152273002
[mtklein edit from here down]
No public API changes.
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/2152273002
2016-07-15 15:15:15 -07:00
reed
7503d60847
move responsibility for creating raster-device into pdf
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146333004
NOTRY=True
win failure seems unrelated
Review-Url: https://codereview.chromium.org/2146333004
2016-07-15 14:23:30 -07:00
reed
cd4051e1c4
remove unused CreateInfo flag
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2153173002
NOTRY=True
Review-Url: https://codereview.chromium.org/2153173002
2016-07-15 09:41:27 -07:00
robertphillips
4c7e117b69
Remove dead flag from SkPictureRecorder
...
With the Chrome CL (https://codereview.chromium.org/2149533003/ (Remove use of unsupported Skia flag)) landed, this should be good to go.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2152943002
Review-Url: https://codereview.chromium.org/2152943002
2016-07-14 13:44:14 -07:00
vjiaoblack
e5de130788
Added the framework for having canvas/recorder/picture record depth_set's.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2127233002
Committed: https://skia.googlesource.com/skia/+/6d3fb898d5f73a82e36f11c712a633c3921ed518
Committed: https://skia.googlesource.com/skia/+/1185d90c785f743364cc9113d7007a59af07470c
Review-Url: https://codereview.chromium.org/2127233002
2016-07-13 14:05:28 -07:00
robertphillips
dda54455a2
Remove GrLayerHoister
...
This relies on https://codereview.chromium.org/1944013002/ (Add legacy flag to allow Skia to remove Ganesh layer hoister) landing first so as to not break the DEPS roll.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1950523002
Review-Url: https://codereview.chromium.org/1950523002
2016-07-13 13:27:16 -07:00
reed
b1b12f8666
handle large conic weights
...
BUG=627414
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2142393003
Review-Url: https://codereview.chromium.org/2142393003
2016-07-13 10:56:53 -07:00
mtklein
6e998e6137
Revert "Added the framework for having canvas/recorder/picture record depth_set's."
...
1-click revert failed again.
This reverts commit 1185d90c78
.
BUG=skia:
TBR=
NOTRY=true
Review-Url: https://codereview.chromium.org/2147963002
2016-07-13 09:03:48 -07:00
vjiaoblack
1185d90c78
Added the framework for having canvas/recorder/picture record depth_set's.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2127233002
Committed: https://skia.googlesource.com/skia/+/6d3fb898d5f73a82e36f11c712a633c3921ed518
Review-Url: https://codereview.chromium.org/2127233002
2016-07-13 08:35:41 -07:00
bungeman
e3aea10428
Remove user specified typeface id.
...
Now that there may be multiple font managers in a process the typeface
ids must be unique across all typefaces, not just unique within a font
manager. If two typefaces have the same id there will be issues in the
glyph cache. All existing font managers were already doing this by
calling SkFontCache::NewFontID, so centralize this in SkTypeface.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147733002
Review-Url: https://codereview.chromium.org/2147733002
2016-07-13 05:16:58 -07:00
bsalomon
634b430080
Add a function to convert a texture backed SkImage to raster.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147493004
Review-Url: https://codereview.chromium.org/2147493004
2016-07-12 18:11:17 -07:00
mtklein
e504dbc092
Revert "Added the framework for having canvas/recorder/picture record depth_set's."
...
1-click revert failed.
This reverts commit 6d3fb898d5
.
TBR=
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2148543002
Review-Url: https://codereview.chromium.org/2148543002
2016-07-12 15:41:08 -07:00
bungeman
7438bfc080
Factor code to rotate a canvas about a point.
...
SkMatrix::scale and ::rotate take a point around which to scale or rotate.
Canvas lacks these helpers, so the code to rotate a canvas around a
point has been duplicated many times. Factor all of these
implementations into SkCanvas::rotate.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2142033002
Review-Url: https://codereview.chromium.org/2142033002
2016-07-12 15:01:19 -07:00
vjiaoblack
6d3fb898d5
Added the framework for having canvas/recorder/picture record depth_set's.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2127233002
Review-Url: https://codereview.chromium.org/2127233002
2016-07-12 14:50:41 -07:00
msarett
afb8539f62
Revert of try to speed-up maprect + round2i + contains (patchset #8 id:140001 of https://codereview.chromium.org/2133413002/ )
...
Reason for revert:
Breaking the roll...
https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/253294/steps/compile%20%28with%20patch%29/logs/stdio
Original issue's description:
> try to speed-up maprect + round2i + contains
>
> We call roundOut in a few places. If we can get SkNx::Ceil we could efficiently implement that as well.
>
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2133413002
> CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/b42b785d1cbc98bd34aceae338060831b974f9c5
TBR=mtklein@google.com ,reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/2136343002
2016-07-11 14:57:26 -07:00
reed
b42b785d1c
try to speed-up maprect + round2i + contains
...
We call roundOut in a few places. If we can get SkNx::Ceil we could efficiently implement that as well.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2133413002
CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Review-Url: https://codereview.chromium.org/2133413002
2016-07-11 13:17:35 -07:00
reed
6092b6e0e5
Revert of change mapRectScaleTranslate to pass args/ret by value (patchset #1 id:1 of https://codereview.chromium.org/2137853002/ )
...
Reason for revert:
Triggered a compiler bug on Android?
FAILED: /usr/bin/ccache /b/work/skia/platform_tools/android/bin/../toolchains/arm-r11c-14/bin/arm-linux-androideabi-g++ -MMD -MF obj/src/core/core.SkMatrix.o.d -DSK_INTERNAL -DSK_GAMMA_APPLY_TO_A8 -DQT_NO_KEYWORDS -DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0 -DSK_SUPPORT_GPU=1 -DSK_FORCE_DISTANCE_FIELD_TEXT=0 -DSK_HAS_GIF_LIBRARY -DSK_HAS_JPEG_LIBRARY -DSK_HAS_PNG_LIBRARY -DSK_HAS_WEBP_LIBRARY -DSK_TEST_QCMS -DSK_IS_BOT -DSK_CODEC_DECODES_RAW -DSK_ARM_HAS_NEON -DSK_BUILD_FOR_ANDROID -DSK_GAMMA_EXPONENT=1.4 -DSK_GAMMA_CONTRAST=0.0 -DSKIA_DLL -DSKIA_IMPLEMENTATION=1 -DSK_SUPPORT_LEGACY_CLIPTOLAYERFLAG -DNDEBUG -I../../../include/c -I../../../include/config -I../../../include/core -I../../../include/pathops -I../../../include/ports -I../../../include/private -I../../../include/utils -I../../../include/images -I../../../src/core -I../../../src/sfnt -I../../../src/image -I../../../src/opts -I../../../src/utils -I../../../include/gpu -I../../../src/gpu -I../../../platform_tools/android/third_party/cpufeatures -fPIC -g -fno-exceptions -fstrict-aliasing -Wall -Wextra -Winit-self -Wpointer-arith -Wsign-compare -Wvla -Wno-unused-parameter -Werror -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=softfp -fuse-ld=gold -O2 -std=c++11 -fno-rtti -fno-threadsafe-statics -Wnon-virtual-dtor -c ../../../src/core/SkMatrix.cpp -o obj/src/core/core.SkMatrix.o
../../../src/core/SkMatrix.cpp: In member function 'SkRect SkMatrix::mapRectScaleTranslate(SkRect) const':
../../../src/core/SkMatrix.cpp:1120:1: error: unrecognizable insn:
}
^
(insn 32 31 33 2 (set (reg:V4SF 115 [ D.83077 ])
(unspec:V4SF [
(mem/c:V4SF (reg/f:SI 104 virtual-incoming-args) [0 MEM[(const __builtin_neon_sf[4] *)&src]+0 S16 A32])
] UNSPEC_VLD1)) /b/work/skia/platform_tools/android/toolchains/arm-r11c-14/lib/gcc/arm-linux-androideabi/4.9/include/arm_neon.h:8693 -1
(nil))
../../../src/core/SkMatrix.cpp:1120:1: internal compiler error: in extract_insn, at recog.c:2202
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://source.android.com/source/report-bugs.html > for instructions.
Original issue's description:
> change mapRectScaleTranslate to pass args/ret by value
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2137853002
>
> TBR=mtklein
>
> Committed: https://skia.googlesource.com/skia/+/14dce6ed5934d7a6e1fac79f8e76e12f5670aae2
TBR=msarett@google.com ,mtklein@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/2139523002
2016-07-10 11:45:35 -07:00
reed
14dce6ed59
change mapRectScaleTranslate to pass args/ret by value
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2137853002
TBR=mtklein
Review-Url: https://codereview.chromium.org/2137853002
2016-07-10 11:35:03 -07:00
bungeman
7ad42cfe87
Corrected test for gcc/libc++ workaround.
...
NOTREECHECKS=true
NOTRY=true
The presubmit bot is all hung up.
Review-Url: https://codereview.chromium.org/2136613002
2016-07-08 12:25:37 -07:00
bsalomon
f48c62fa6a
Promote the GCC/libc++/<memory> 'typedef float float32_t' workaround to SkTypes.h
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2135453002
Review-Url: https://codereview.chromium.org/2135453002
2016-07-08 03:28:42 -07:00
reed
ea5a6513c0
make some canvas utils virtual (for proxy based subclasses)
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2130973002
Review-Url: https://codereview.chromium.org/2130973002
2016-07-07 16:44:27 -07:00
reed
63f30d9049
fix typos and capitalization on drawTextRSXform CL
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2123923006
Review-Url: https://codereview.chromium.org/2123923006
2016-07-07 16:32:51 -07:00
reed
45561a0b15
drawTextRSXform
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2130643004
Review-Url: https://codereview.chromium.org/2130643004
2016-07-07 12:47:17 -07:00
mtklein
e5fb9c8079
centralize VECTORCALL as SK_VECTORCALL
...
Gonna start using this, might as well define it once centrally.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2126253002
No public API changes.
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/2126253002
2016-07-07 08:12:09 -07:00
bsalomon
a7d85ba138
Add gm that tests shaded stroked rectangles.
...
Fix GPU handling of previously untested cases.
Move rect->path fallback from SkGpuDevice to GrDrawContext.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2125663003
Review-Url: https://codereview.chromium.org/2125663003
2016-07-06 11:54:59 -07:00
reed
41c27e15ec
Experiment: add flag for finish-recording to return null
...
BUG=skia:5495
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2106843004
Review-Url: https://codereview.chromium.org/2106843004
2016-07-06 09:29:17 -07:00
fmalita
03912f141f
Document SkSurface::MakeRaster's memory initialization
...
So clients don't go clearing w/ SK_ColorTRANSPARENT unnecessarily.
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2066903003
Review-Url: https://codereview.chromium.org/2066903003
2016-07-06 06:22:06 -07:00
reed
2dcb615c6f
make setScaleTranslate public
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2122093002
TBR=
Review-Url: https://codereview.chromium.org/2122093002
2016-07-05 20:10:42 -07:00
halcanary
9f4b332f59
SkPDF: allow overriding Producer metadata
...
I recommend not using this functionality.
Also, some documentation.
BUG=skia:5436
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2074583003
Review-Url: https://codereview.chromium.org/2074583003
2016-06-30 08:22:04 -07:00
reed
d922c33a8e
inline very common intersect+rect_rgn
...
Extracted from previous compound CL (with other changes).
This is the very common case for clips, and inlining this eliminates a series of function calls.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2116513002
TBR=mtklein
Review-Url: https://codereview.chromium.org/2116513002
2016-06-30 07:47:34 -07:00
hcm
40e25b2e34
Update skia milestone to next
...
No API changes, just moving version fwd.
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2115573002
Review-Url: https://codereview.chromium.org/2115573002
2016-06-30 07:31:09 -07:00
reed
47df89ebfd
speed up maprect for scale+trans case
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2111703002
Review-Url: https://codereview.chromium.org/2111703002
2016-06-30 06:38:54 -07:00
reed
0a8f40cbe6
remove SK_SUPPORT_LEGACY_COLORPROFILETYPE dead-code
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2101983003
TBR=
Review-Url: https://codereview.chromium.org/2101983003
2016-06-28 05:43:28 -07:00
dvonbeck
12c4fc2579
SkLightingShader normal vector CPU computation refactor.
...
The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.
This CL's base was the CL for GPU handling: https://codereview.chromium.org/2043393002/
What this CL includes:
- A refactor of the SkLightingShader context's code that deals with reading normals off of a normal map. This is now abstracted out into a NormalSource::Provider class that the context uses.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050773002
Committed: https://skia.googlesource.com/skia/+/790a70118327a129cb6b48fabe80f4e184c1e67c
Review-Url: https://codereview.chromium.org/2050773002
2016-06-27 11:40:45 -07:00
robertphillips
8bad3acce5
Fix up flags to SkGpuBlurUtils::GaussianBlur
...
This fixes a bug introduced in: https://codereview.chromium.org/1961953002/ (Reland of Simplify SkGpuBlurUtils::GaussianBlur method)
Although the 'canOverwriteSrc' flag is/was being used I still believe we're better off re-adding it after the mask-blur refactoring finishes.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2100873002
Review-Url: https://codereview.chromium.org/2100873002
2016-06-27 11:11:05 -07:00
dvonbeck
2c80711f90
Revert of Refactoring of CPU NormalMap handling out into its own class (patchset #13 id:240001 of https://codereview.chromium.org/2050773002/ )
...
Reason for revert:
GMs are crashing on Windows Test trybots
Original issue's description:
> SkLightingShader normal vector CPU computation refactor.
>
> The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.
>
> This CL's base was the CL for GPU handling: https://codereview.chromium.org/2043393002/
>
> What this CL includes:
>
> - A refactor of the SkLightingShader context's code that deals with reading normals off of a normal map. This is now abstracted out into a NormalSource::Provider class that the context uses.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050773002
>
> Committed: https://skia.googlesource.com/skia/+/790a70118327a129cb6b48fabe80f4e184c1e67c
TBR=egdaniel@google.com ,reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/2101653002
2016-06-27 09:30:19 -07:00
dvonbeck
790a701183
SkLightingShader normal vector CPU computation refactor.
...
The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.
This CL's base was the CL for GPU handling: https://codereview.chromium.org/2043393002/
What this CL includes:
- A refactor of the SkLightingShader context's code that deals with reading normals off of a normal map. This is now abstracted out into a NormalSource::Provider class that the context uses.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050773002
Review-Url: https://codereview.chromium.org/2050773002
2016-06-27 08:43:58 -07:00
brianosman
e074d1fa6a
Change SkColor4f to RGBA channel order
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2093763003
Review-Url: https://codereview.chromium.org/2093763003
2016-06-24 06:31:47 -07:00
msarett
c1a3e24918
SkMatrix44 clarifications and clean-ups
...
Fixed row/col major bug and added comments to the
header.
Made SkMatrix::I() thread safe using constexpr.
Added a test set3x3RowMajorf().
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2098583002
Review-Url: https://codereview.chromium.org/2098583002
2016-06-23 12:42:29 -07:00
msarett
111a42d9ce
Enable flattening and unflattening of SkColorSpace
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085653003
Review-Url: https://codereview.chromium.org/2085653003
2016-06-22 08:18:54 -07:00
brianosman
6efeda4838
Revert of Store mipmap levels in deferred texture image (patchset #15 id:280001 of https://codereview.chromium.org/2034933003/ )
...
Reason for revert:
Crashes on a few different bots (including ASAN). Examples:
https://build.chromium.org/p/client.skia.android/builders/Test-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release/builds/6324
https://build.chromium.org/p/client.skia/builders/Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Debug/builds/5400
https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Debug-ASAN/builds/3539
Original issue's description:
> Store mipmap levels in deferred texture image
>
> When creating the deferred texture image, detect if using medium / high
> quality. If so, generate and store mipmaps in the deferred texture
> image.
>
> When creating a texture from that be sure to read it back out.
>
> BUG=578304
> R=bsalomon@google.com
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2034933003
>
> Committed: https://skia.googlesource.com/skia/+/b3105190a6e02d37f1d7f07a3a8bdd368ec7f157
TBR=bsalomon@google.com ,ericrk@chromium.org,cblume@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=578304
Review-Url: https://codereview.chromium.org/2083393002
2016-06-22 07:10:06 -07:00
cblume
b3105190a6
Store mipmap levels in deferred texture image
...
When creating the deferred texture image, detect if using medium / high
quality. If so, generate and store mipmaps in the deferred texture
image.
When creating a texture from that be sure to read it back out.
BUG=578304
R=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2034933003
Review-Url: https://codereview.chromium.org/2034933003
2016-06-21 13:43:13 -07:00
reed
dabe5d3780
update callers to not use SkColorProfileType
...
Requires https://codereview.chromium.org/2087833002/ to land first.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2086583002
Review-Url: https://codereview.chromium.org/2086583002
2016-06-21 10:28:14 -07:00
egdaniel
802acec187
Revert of More removal of SkColorProfileType... (patchset #2 id:20001 of https://codereview.chromium.org/2071393002/ )
...
Reason for revert:
This was still used in chrome
Original issue's description:
> More removal of SkColorProfileType...
>
> Scrub GMs. Remove the gDefaultProfile thing (it's unused now), along with
> the command line flag that was setting it in DM and nanobench.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2071393002
>
> Committed: https://skia.googlesource.com/skia/+/944876f2745a62a839e49275daf93a0329372e67
TBR=msarett@google.com ,reed@google.com,bsalomon@google.com,brianosman@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/2074103004
2016-06-17 15:11:46 -07:00
brianosman
944876f274
More removal of SkColorProfileType...
...
Scrub GMs. Remove the gDefaultProfile thing (it's unused now), along with
the command line flag that was setting it in DM and nanobench.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2071393002
Review-Url: https://codereview.chromium.org/2071393002
2016-06-17 13:43:27 -07:00
reed
960b2d69bb
remove colorprofiletype from imageinfo
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2075853002
Review-Url: https://codereview.chromium.org/2075853002
2016-06-17 09:26:41 -07:00
brianosman
b109b8c5ec
Lots of progress on switching to SkColorSpace rather than SkColorProfileType
...
Fixed a bunch of code in Ganesh, as well as usage of SkColorProfileType in most of our tools (DM, SampleApp, Viewer, nanobench, skiaserve, HelloWorld).
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069173002
Committed: https://skia.googlesource.com/skia/+/6a61a875467646f8dbc37cfecf49e12d1f475170
Review-Url: https://codereview.chromium.org/2069173002
2016-06-16 13:03:24 -07:00
dvonbeck
8811e40850
Refactoring of GPU NormalMap handling out into its own class.
...
The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.
What this CL includes:
- Created a new 'NormalMapFP', out of the existing normal map reading behavior in LightingFP.
- Encapsulates this new fragment processor on a new class NormalMapSource.
- Created a NormalSource abstraction that will interface with SkLightingShader.
- Adapted SkLightingShader to use the normals from its NormalSource field ON THE GPU SIDE. No changes done to the CPU side yet.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043393002
Committed: https://skia.googlesource.com/skia/+/87b0dd00cf9409c5fc990f5d0bb7c0df837f08da
Committed: https://skia.googlesource.com/skia/+/a7d1e2a57aef2aa4913d4380646d60bbab761318
Review-Url: https://codereview.chromium.org/2043393002
2016-06-16 12:39:25 -07:00
brianosman
ab8241880d
Revert of Lots of progress switching to SkColorSpace rather than SkColorProfileType (patchset #10 id:180001 of https://codereview.chromium.org/2069173002/ )
...
Reason for revert:
Mac crashes in GrUploadPixmapToTexture
Original issue's description:
> Lots of progress on switching to SkColorSpace rather than SkColorProfileType
>
> Fixed a bunch of code in Ganesh, as well as usage of SkColorProfileType in most of our tools (DM, SampleApp, Viewer, nanobench, skiaserve, HelloWorld).
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069173002
>
> Committed: https://skia.googlesource.com/skia/+/6a61a875467646f8dbc37cfecf49e12d1f475170
TBR=reed@google.com ,herb@google.com,msarett@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/2072813002
2016-06-16 11:41:44 -07:00
brianosman
6a61a87546
Lots of progress on switching to SkColorSpace rather than SkColorProfileType
...
Fixed a bunch of code in Ganesh, as well as usage of SkColorProfileType in most of our tools (DM, SampleApp, Viewer, nanobench, skiaserve, HelloWorld).
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069173002
Review-Url: https://codereview.chromium.org/2069173002
2016-06-16 11:10:04 -07:00
msarett
c4ce6b5924
Differentiate between sRGBGamma and 2Dot2Gamma
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2067833003
Review-Url: https://codereview.chromium.org/2067833003
2016-06-16 07:37:41 -07:00
msarett
ded0f26a93
Keep SkColorSpace and SkColorProfileType in sync
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2068743003
Committed: https://skia.googlesource.com/skia/+/04d35bd80dde7cace866781037cbbdcab14ab683
Review-Url: https://codereview.chromium.org/2068743003
2016-06-16 05:33:31 -07:00
egdaniel
d2fd9e9f4f
Revert of Keep SkColorSpace and SkColorProfileType in sync (patchset #2 id:20001 of https://codereview.chromium.org/2068743003/ )
...
Reason for revert:
breaking roll.
../../third_party/skia/include/core/SkImageInfo.h:202: error: undefined reference to 'SkColorSpace::NewNamed(SkColorSpace::Named)'
Original issue's description:
> Keep SkColorSpace and SkColorProfileType in sync
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2068743003
>
> Committed: https://skia.googlesource.com/skia/+/04d35bd80dde7cace866781037cbbdcab14ab683
TBR=reed@google.com ,brianosman@google.com,herb@google.com,msarett@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/2073593002
2016-06-15 15:39:13 -07:00
egdaniel
4132de7069
Revert of Refactoring of GPU NormalMap handling out into its own class (patchset #9 id:160001 of https://codereview.chromium.org/2043393002/ )
...
Reason for revert:
break deps roll
Original issue's description:
> Refactoring of GPU NormalMap handling out into its own class.
>
> The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.
>
> What this CL includes:
>
> - Created a new 'NormalMapFP', out of the existing normal map reading behavior in LightingFP.
>
> - Encapsulates this new fragment processor on a new class NormalMapSource.
>
> - Created a NormalSource abstraction that will interface with SkLightingShader.
>
> - Adapted SkLightingShader to use the normals from its NormalSource field ON THE GPU SIDE. No changes done to the CPU side yet.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043393002
>
> Committed: https://skia.googlesource.com/skia/+/87b0dd00cf9409c5fc990f5d0bb7c0df837f08da
> Committed: https://skia.googlesource.com/skia/+/a7d1e2a57aef2aa4913d4380646d60bbab761318
TBR=reed@google.com ,dvonbeck@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/2068983005
2016-06-15 14:28:18 -07:00
msarett
04d35bd80d
Keep SkColorSpace and SkColorProfileType in sync
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2068743003
Review-Url: https://codereview.chromium.org/2068743003
2016-06-15 12:12:48 -07:00
dvonbeck
a7d1e2a57a
Refactoring of GPU NormalMap handling out into its own class.
...
The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.
What this CL includes:
- Created a new 'NormalMapFP', out of the existing normal map reading behavior in LightingFP.
- Encapsulates this new fragment processor on a new class NormalMapSource.
- Created a NormalSource abstraction that will interface with SkLightingShader.
- Adapted SkLightingShader to use the normals from its NormalSource field ON THE GPU SIDE. No changes done to the CPU side yet.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043393002
Committed: https://skia.googlesource.com/skia/+/87b0dd00cf9409c5fc990f5d0bb7c0df837f08da
Review-Url: https://codereview.chromium.org/2043393002
2016-06-15 12:07:56 -07:00
egdaniel
da743935fa
Revert of Refactoring of GPU NormalMap handling out into its own class (patchset #7 id:120001 of https://codereview.chromium.org/2043393002/ )
...
Reason for revert:
Breaking build and deps roll. Need to move include of SkBitmapProcShader in SkLightingShader.cpp from gpu include list to general list.
Original issue's description:
> Refactoring of GPU NormalMap handling out into its own class.
>
> The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.
>
> What this CL includes:
>
> - Created a new 'NormalMapFP', out of the existing normal map reading behavior in LightingFP.
>
> - Encapsulates this new fragment processor on a new class NormalMapSource.
>
> - Created a NormalSource abstraction that will interface with SkLightingShader.
>
> - Adapted SkLightingShader to use the normals from its NormalSource field ON THE GPU SIDE. No changes done to the CPU side yet.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043393002
>
> Committed: https://skia.googlesource.com/skia/+/87b0dd00cf9409c5fc990f5d0bb7c0df837f08da
TBR=reed@google.com ,dvonbeck@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/2062133004
2016-06-14 15:30:05 -07:00
dvonbeck
87b0dd00cf
Refactoring of GPU NormalMap handling out into its own class.
...
The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.
What this CL includes:
- Created a new 'NormalMapFP', out of the existing normal map reading behavior in LightingFP.
- Encapsulates this new fragment processor on a new class NormalMapSource.
- Created a NormalSource abstraction that will interface with SkLightingShader.
- Adapted SkLightingShader to use the normals from its NormalSource field ON THE GPU SIDE. No changes done to the CPU side yet.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043393002
Review-Url: https://codereview.chromium.org/2043393002
2016-06-14 14:43:52 -07:00
mtklein
f8f9c07c28
Revert of Update typeface serialization style. (patchset #3 id:40001 of https://codereview.chromium.org/2030683002/ )
...
Reason for revert:
serialize-8888 broken for typefacestyles on Mac. (Bold weighting goes missing.)
Original issue's description:
> Update typeface serialization style.
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2030683002
>
> Committed: https://skia.googlesource.com/skia/+/7ae1c72e593823e6e300e4199558555765bcec17
TBR=reed@google.com ,bungeman@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/2067583002
2016-06-13 11:27:55 -07:00
ericrk
b4da01d8f7
Add prescale option to deferred params
...
Currently, Skia always uploads GPU textures at full resolution. This
change allows us to pass a pre-scale mip level to the
deferred texture image logic, which causes us to pre-scale the image
to the given mip level, and upload that mip level instead of the full
image.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2007113008
Review-Url: https://codereview.chromium.org/2007113008
2016-06-13 11:18:14 -07:00
bungeman
7ae1c72e59
Update typeface serialization style.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2030683002
Review-Url: https://codereview.chromium.org/2030683002
2016-06-13 10:35:05 -07:00
mtklein
e18fa440e7
Move immintrin/arm_neon includes to where they are used.
...
On my Mac (so, immintrin), this improves compile time, both wall and cpu,
by about 16%. To test I ran this on an SSD with files hot in their caches:
$ env CC=/usr/bin/clang CXX=/usr/bin/clang++ ./gyp_skia && \
ninja -C out/Release -t clean && \
time ninja -C out/Release
Before: 159 wall / 3367 cpu
159 wall / 3368 cpu
After: 137 wall / 2860 cpu
136 wall / 2863 cpu
I also tried further refining immintrin down to emmintrin / tmmintrin / smmintrin etc.
That made no signficant difference, so I've kept immintrin for its simplicity.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2045633002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
TBR=reed@google.com
No public API changes.
Committed: https://skia.googlesource.com/skia/+/12dfaaa53c23f3d03050bde8f64136ac1f44164a
Review-Url: https://codereview.chromium.org/2045633002
2016-06-09 13:40:56 -07:00
jbauman
b445a57e6c
Add NV12 texture conversion support.
...
If textures 1 and 2 passed into MakeFromYUVTexturesCopy are the same,
then treat the input as NV12 and sample from the g component of texture
2.
BUG=skia:5209
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2016593002
Review-Url: https://codereview.chromium.org/2016593002
2016-06-09 13:24:48 -07:00
senorblanco
ea97673563
SkPictureAnalyzer: expose the number of slow GPU commands.
...
BUG=614724
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2031243003
Review-Url: https://codereview.chromium.org/2031243003
2016-06-09 12:43:30 -07:00
msarett
804b461bc4
SkPixmap::setColorSpace
...
Landed for reed@ with bug fix:
Use default copy constructor for SkDraw
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2057563002
patch from issue 2057563002 at patchset 1 (http://crrev.com/2057563002#ps1 )
Review-Url: https://codereview.chromium.org/2052943002
2016-06-09 11:03:45 -07:00
bungeman
06ca8ec87c
sk_sp for Ganesh.
...
Convert use of GrFragmentProcessor, GrGeometryProcessor, and
GrXPFactory to sk_sp. This clarifies ownership and should
reduce reference count churn by moving ownership.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041113004
Review-Url: https://codereview.chromium.org/2041113004
2016-06-09 08:01:03 -07:00
halcanary
4dbbd04314
SkLeanWindows.h: #include "Windows.h" fewer places
...
$ git grep -l '<windows.h>' include src
include/private/SkLeanWindows.h
$ git grep -l SkLeanWindows.h | grep '\.h$'
include/ports/SkTypeface_win.h
include/utils/win/SkHRESULT.h
include/utils/win/SkTScopedComPtr.h
include/views/SkEvent.h
src/core/SkMathPriv.h
src/ports/SkTypeface_win_dw.h
src/utils/SkThreadUtils_win.h
src/utils/win/SkWGL.h
The same for `#include <intrin.h>` that was found in SkMath.h.
Those functions that needed it are moved to SkMathPriv.h.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041943002
CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_chromium_compile_dbg_ng,win_chromium_compile_rel_ng
Review-Url: https://codereview.chromium.org/2041943002
2016-06-07 17:21:10 -07:00
mtklein
50bcb189f8
Revert of Move immintrin/arm_neon includes to where they are used. (patchset #2 id:20001 of https://codereview.chromium.org/2045633002/ )
...
Reason for revert:
Appears to have broken the ARMv7 aspect of the Google3 roll in bizarre seemingly-unrelated ways.
Original issue's description:
> Move immintrin/arm_neon includes to where they are used.
>
> On my Mac (so, immintrin), this improves compile time, both wall and cpu,
> by about 16%. To test I ran this on an SSD with files hot in their caches:
>
> $ env CC=/usr/bin/clang CXX=/usr/bin/clang++ ./gyp_skia && \
> ninja -C out/Release -t clean && \
> time ninja -C out/Release
>
> Before: 159 wall / 3367 cpu
> 159 wall / 3368 cpu
>
> After: 137 wall / 2860 cpu
> 136 wall / 2863 cpu
>
> I also tried further refining immintrin down to emmintrin / tmmintrin / smmintrin etc.
> That made no signficant difference, so I've kept immintrin for its simplicity.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2045633002
> CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
>
> TBR=reed@google.com
> No public API changes.
>
> Committed: https://skia.googlesource.com/skia/+/12dfaaa53c23f3d03050bde8f64136ac1f44164a
TBR=herb@google.com ,mtklein@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/2046213002
2016-06-07 16:46:39 -07:00
mtklein
12dfaaa53c
Move immintrin/arm_neon includes to where they are used.
...
On my Mac (so, immintrin), this improves compile time, both wall and cpu,
by about 16%. To test I ran this on an SSD with files hot in their caches:
$ env CC=/usr/bin/clang CXX=/usr/bin/clang++ ./gyp_skia && \
ninja -C out/Release -t clean && \
time ninja -C out/Release
Before: 159 wall / 3367 cpu
159 wall / 3368 cpu
After: 137 wall / 2860 cpu
136 wall / 2863 cpu
I also tried further refining immintrin down to emmintrin / tmmintrin / smmintrin etc.
That made no signficant difference, so I've kept immintrin for its simplicity.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2045633002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
TBR=reed@google.com
No public API changes.
Review-Url: https://codereview.chromium.org/2045633002
2016-06-07 09:35:28 -07:00
bsalomon
ee295645bd
Make GrShape track the winding direction and starting point for rrect types.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2042813002
Review-Url: https://codereview.chromium.org/2042813002
2016-06-06 14:01:25 -07:00
brianosman
982eb7f377
Add new SkSourceGammaTreatment enum, used in situations like mipmap construction, where we need to know if we should respect (vs. ignore) the gamma encoding of sRGB tagged images. Plumb that extensively.
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2037413002
Review-Url: https://codereview.chromium.org/2037413002
2016-06-06 13:10:58 -07:00
milko.leporis
401e77cfe1
MIPS32r2: Fix Chromium runtime crash
...
Crash is caused by ldxc1 instruction, which traps when double values are
not aligned on 8-byte boundaries. Problem was tracked to SkChunkAlloc which
produces pointers aligned on 4-byte boundaries leading to misalignment.
This change makes sure that SkChunkAlloc will produce pointers that are
aligned to 8 bytes.
Appropriate tests are added to tests/MemsetTest.cpp
TEST=Build Chromium with Clang and run on MIPS32r2 platform
TEST=./out/Debug/dm --match Memset
BUG=130022
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1849183004
Review-Url: https://codereview.chromium.org/1849183004
2016-06-05 13:14:21 -07:00
bungeman
69df020625
Remove some uses of SK_SUPPORT_LEGACY_TYPEFACE_PTR.
...
Some of the deprecated signatures are no longer used by any known
client, so remove them now to prevent future use.
TBR=reed
This doesn't add API, it just removes it.
Review-Url: https://codereview.chromium.org/2036993003
2016-06-03 14:35:06 -07:00
cblume
186d2d430b
Plumbing mipmaps to the point of creation.
...
When creating a DeferredTextureImage we may create mipmaps.
Those mipmaps need to then be passed along for when the texture is
actually created.
R=bsalomon@google.com
BUG=578304
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2031273002
Review-Url: https://codereview.chromium.org/2031273002
2016-06-03 11:17:42 -07:00
robertphillips
adf5afa628
Add SampleApp slide with animating lightmapped objects & transparency
...
This is pulled out of the drawLitAtlas CL (may it someday land). It does nicely demonstrate animating normal mapped objects and normal maps combined with partially transparent diffuse textures.
It is a crude Asteroids game.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2026393005
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/2026393005
2016-06-03 10:12:08 -07:00
caryclark
ae92262f3b
fix windows assert
...
Windows asserts trigger out of memory stack traces that
are confusing. This permits windows to break more
directly, stopping the IDE at the assert and providing
a less confusing stacktrace outside of the IDE.
R=reed@google.com ,herb@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2039443002
Review-Url: https://codereview.chromium.org/2039443002
2016-06-03 09:42:53 -07:00
reed
fbce71f1ae
add MakeS32 helper to SkImageInfo, fix named-gamma constructor bug
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2035813003
Review-Url: https://codereview.chromium.org/2035813003
2016-06-02 12:40:22 -07:00
bungeman
da1aedaf13
Remove SK_SUPPORT_LEGACY_TYPEFACE_MAKE_FROM_NAME.
...
The define SK_SUPPORT_LEGACY_TYPEFACE_MAKE_FROM_NAME is no longer used
by any clients and the code it guards can now be removed as well.
TBR=reed
This just removes dead code.
Review-Url: https://codereview.chromium.org/2030983002
2016-06-02 10:47:19 -07:00
sdefresne
e3fa811657
[GN] Add support for disabling opts via SK_BUILD_NO_OPTS define.
...
When targetting iOS and using gyp to generate the build files, it is not
possible to select files to build depending on the architecture. Due to
that, the skia code was disabling all optimisation when SK_BUILD_FOR_IOS
was defined.
Since it is possible to select the correct optimised version when using
gn, this pessimisation is hurting the build. Introduce a new define to
disable the optimisation SK_BUILD_NO_OPTS. It will be used by Chromium
when building skia for iOS with gyp but not gn.
Define SK_BUILD_NO_OPTS along-side SK_BUILD_FOR_IOS for all files that
look like build configuration (Xcode projects, gyp configuration files,
public.bzl) in order to avoid introducing breakage on those builds.
BUG=607933
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2002423002
Review-Url: https://codereview.chromium.org/2002423002
2016-06-01 07:08:56 -07:00
mboc
ee6a9919a3
SkTypeface::MakeFromName to take SkFontStyle.
...
SkTypeface::MakeFromName currently takes SkTypeface::Style,
which is quite limited. This starts the transition to this
function taking SkFontStyle instead.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1818043002
TBR=reed
He said it sounded like a good idea.
Review-Url: https://codereview.chromium.org/1818043002
2016-05-31 11:42:37 -07:00
robertphillips
93966d88ef
Add SkLights class
...
The SkLights class is intended to be passed to the drawLitAtlas call (and then on to SkLightingShader).
This CL is calved off of https://codereview.chromium.org/1261433009/ (Add SkCanvas::drawLitAtlas call).
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1255133004
Review-Url: https://codereview.chromium.org/1255133004
2016-05-31 06:56:28 -07:00
fmalita
019db3fe88
Remove unused SkPictureGpuAnalyzer::analyze()
...
After https://crrev.com/c64bd21780da13051846ae45b54a1e6c6bf6ac52 ,
Chromium no longer uses analyze().
R=mtklein@google.com ,reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2014983002
Review-Url: https://codereview.chromium.org/2014983002
2016-05-31 06:32:57 -07:00
bsalomon
78d58d1084
Make SkPath::isOval() and SkPath::isRRect return the orientation and starting index.
...
These are tracked in SkPathRef.
Unit tests are updated to test that the returned values are correct.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2012233002
Review-Url: https://codereview.chromium.org/2012233002
2016-05-27 09:17:04 -07:00
msarett
23c5110ba2
Add SkColorSpace to SkImageInfo
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=2000713003
Review-Url: https://codereview.chromium.org/2000713003
2016-05-27 07:39:02 -07:00
fmalita
b5fc58e1de
Complex clipPath accounting
...
Add a clipPath heuristic to SkPathCounter, and extend
SkPictureGpuAnalyzer to support external clipPath() op accounting.
BUG=skia:5347
R=reed@google.com ,mtklein@google.com,senorblanco@chromium.org,bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2000423005
Review-Url: https://codereview.chromium.org/2000423005
2016-05-25 11:31:04 -07:00
bsalomon
7a5bcc5f59
Make Sk32ToBool inline again to silence compiler warning.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2007753003
Review-Url: https://codereview.chromium.org/2007753003
2016-05-24 13:23:56 -07:00
msarett
e077e0683a
SkColorSpace tweaks
...
***Move includes to the correct file
***Add "const"
***Use std::move for more efficient refs and unrefs
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2005263002
Review-Url: https://codereview.chromium.org/2005263002
2016-05-24 10:16:53 -07:00
msarett
8cc2091118
Make SkColorSpace a public API
...
I've trimmed uniqueID for now, and added some comments.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1996973002
Review-Url: https://codereview.chromium.org/1996973002
2016-05-23 09:29:29 -07:00
halcanary
a0af771612
SkTypes: use constexpr when appropriate
...
motivation: https://codereview.chromium.org/2000853003
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2004073002
Review-Url: https://codereview.chromium.org/2004073002
2016-05-23 09:11:59 -07:00
senorblanco
5878dbdf1b
Image filters: implement SkImage::makeWithFilter().
...
This API provides a way to directly filter a subregion of an SkImage
(usually texture-backed), and returns an SkImage which may include
extra padding, along with a size to indicate the active region.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1964043002
Review-Url: https://codereview.chromium.org/1964043002
2016-05-19 14:50:29 -07:00
hcm
0876158ecd
Update Skia milestone to 53 after 52 branch
...
TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1993203002
Review-Url: https://codereview.chromium.org/1993203002
2016-05-19 05:26:57 -07:00
tomhudson
cb3bd18a4b
SkCanvas::adjustToTopLayer()
...
Given a matrix and a clip bounds, offsets them to reflect the difference
between device coordinates and global coordinates. Useful when a client
wants an OS-specific backing for a canvas.
R=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1986383002
Review-Url: https://codereview.chromium.org/1986383002
2016-05-18 07:24:16 -07:00
msarett
b1be46b1d9
Ensure that SkColorTable->fCount is set properly after decodes
...
We now have some blits that will process the color table.
If we erroneously report that the size of the color table is 256,
we will do extra work and annoy MSAN.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1982753002
Review-Url: https://codereview.chromium.org/1982753002
2016-05-17 08:52:11 -07:00
fmalita
796e365999
SkPictureGpuAnalyzer
...
Stateful helper for gathering multi-picture GPU stats.
Exposes the existing SkPicture GPU veto semantics, while preserving
the SKP impl (which has some nice properties: lazy, hierarchical,
cached per pic).
R=reed@google.com ,bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1974833003
Review-Url: https://codereview.chromium.org/1974833003
2016-05-13 11:40:07 -07:00
bsalomon
9fb420393e
Add bounds to GrShape
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1970003003
Review-Url: https://codereview.chromium.org/1970003003
2016-05-13 09:23:38 -07:00
robertphillips
f054b1766b
Swap SkGpuBlurUtils over to using SkIRects
...
We don't have to land this, but I found it more comforting for the blurring code to explicitly deal with SkIRects rather than SkRects with integer values.
Split out of: https://codereview.chromium.org/1959493002/ (Retract GrRenderTarget from SkGpuBlurUtils)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1968603003
Review-Url: https://codereview.chromium.org/1968603003
2016-05-13 05:06:19 -07:00
fmalita
1e2e33a74d
Remove SkPicture::hasText()
...
No longer used in Chromium.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1978533002
Review-Url: https://codereview.chromium.org/1978533002
2016-05-12 10:53:49 -07:00
bungeman
13b9c95295
Move SkTypeface to sk_sp.
...
Committed: https://skia.googlesource.com/skia/+/6296da736fbf40aae881650c239420f64e576c3f
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1933393002
Review-Url: https://codereview.chromium.org/1933393002
2016-05-12 10:09:31 -07:00
scroggo
9a9a7b29e5
Revert of Move SkTypeface to sk_sp. (patchset #5 id:80001 of https://codereview.chromium.org/1933393002/ )
...
Reason for revert:
fontmgr_iterAndroid failing to draw emoji. E.g. https://gold.skia.org/search2?blame=6296da736fbf40aae881650c239420f64e576c3f&unt=true&head=true&query=source_type%3Dgm
Original issue's description:
> Move SkTypeface to sk_sp.
>
> Committed: https://skia.googlesource.com/skia/+/6296da736fbf40aae881650c239420f64e576c3f
TBR=reed@google.com ,fmalita@chromium.org,tomhudson@google.com,bungeman@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/1974783002
2016-05-12 06:22:30 -07:00
bungeman
6296da736f
Move SkTypeface to sk_sp.
...
Review-Url: https://codereview.chromium.org/1933393002
2016-05-11 12:38:18 -07:00
bungeman
f077324e13
Remove SkFontHost.h.
...
What is left of this file is now in SkFontLCDConfig.h.
Review-Url: https://codereview.chromium.org/1945883002
2016-05-10 14:32:07 -07:00
reed
82595b6fa4
refactor drawPath to have drawDevPath
...
pre-CL for larger change to support read-only paths
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1957263003
TBR=
Review-Url: https://codereview.chromium.org/1957263003
2016-05-09 17:48:46 -07:00
bsalomon
1b4c01c660
Make SkAssertResult work with SK_WARN_UNUSED_RESULT in Release on gcc
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962723003
Review-Url: https://codereview.chromium.org/1962723003
2016-05-09 12:35:17 -07:00
bsalomon
9daa4b92d7
No error if function marked with SK_WARN_UNUSED_RESULT is used in SkAssertResult
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1955263002
Review-Url: https://codereview.chromium.org/1955263002
2016-05-09 09:14:36 -07:00
halcanary
3767cd6cff
https://groups.google.com/forum/#!topic/skia-discuss/2F2she2nQMg
...
No public API changes.
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1957503002
Review-Url: https://codereview.chromium.org/1957503002
2016-05-06 08:03:44 -07:00
bsalomon
055e192adc
Take SkStrokeRec::InitStyle rather than SkPaint::Style in mask filter and DrawMask
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1955633002
Review-Url: https://codereview.chromium.org/1955633002
2016-05-06 07:22:58 -07:00
sclittle
d9f5d20f81
Revert of Modernize SkMutex and SkSemaphore. (patchset #2 id:20001 of https://codereview.chromium.org/1947153002/ )
...
Reason for revert:
This CL seems to have broken the Linux x64 and Mac
bots, e.g.
https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/19052
https://build.chromium.org/p/chromium/builders/Mac/builds/15151
The error appears to have something to do with new static initializers being
added.
Original issue's description:
> Modernize SkMutex and SkSemaphore.
>
> - use <atomic>
> - fuse SkMutex and SkBaseMutex
> - fuse SkSemaphore and SkBaseSemaphore
>
> Still TODO:
> - replace SK_DECLARE_STATIC_MUTEX(name) with static SkMutex name
>
> I just didn't want to bother fixing all that up until I know this CL sticks.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1947153002
>
> No public API changes.
> TBR=reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/427c2819d9237d7d7729c59238036cfc73c072ea
TBR=herb@google.com ,mtklein@chromium.org,reed@google.com,bsalomon@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=609340
Review-Url: https://codereview.chromium.org/1945343003
2016-05-04 18:23:30 -07:00
reed
0ccc62d4f7
move colorshader into its own .cpp, add color4f variant
...
Implemented as a different subclass for SkColorShader (which is also private) partly to make the CL clearer/simpler, and partly for flatten/unflatten compatibility. Later I'm sure we could combine these if that proves useful.
Lots of TODOs at the moment, but still valuable to get reviewed.
Note: this ignores the question (for the moment) about how to interpret SkColor in the larger world. That needs to happen, but this CL is more focused on what *else* to do besides handle the old-style input (and old-style pipeline).
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1934313002
Review-Url: https://codereview.chromium.org/1934313002
2016-05-04 13:09:39 -07:00
robertphillips
76948d4faa
Add Gr*Proxy classes
...
This isn't wired in anywhere yet.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1937553002
Committed: https://skia.googlesource.com/skia/+/de5bf0cfeca908b81a28cc50065f7bc2da3d2fd1
Committed: https://skia.googlesource.com/skia/+/92605b35efa0155c44d24bd8415b4cc1db8831db
Review-Url: https://codereview.chromium.org/1937553002
2016-05-04 12:47:41 -07:00
mtklein
427c2819d9
Modernize SkMutex and SkSemaphore.
...
- use <atomic>
- fuse SkMutex and SkBaseMutex
- fuse SkSemaphore and SkBaseSemaphore
Still TODO:
- replace SK_DECLARE_STATIC_MUTEX(name) with static SkMutex name
I just didn't want to bother fixing all that up until I know this CL sticks.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1947153002
No public API changes.
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/1947153002
2016-05-04 11:31:29 -07:00
brianosman
fad98562d8
Prototype code that turns any/every flattenable into JSON
...
This makes inspecting things in SkDebugger far more useful - any filter
or other complex object on the paint is ultimately visible. You still
have to do some guess work to figure out what the fields actually mean,
but you can at least cross-reference with the code in flatten().
Screenshots:
Before: https://screenshot.googleplex.com/a6JM5HBBe6G.png
After : https://screenshot.googleplex.com/XQfr4YJ6mnH.png
Changes to public API are just removals and changes to make
some functions virtual.
TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1920423002
Review-Url: https://codereview.chromium.org/1920423002
2016-05-04 11:06:28 -07:00
robertphillips
4f16e6361d
Revert of Add Gr*Proxy classes (patchset #10 id:220001 of https://codereview.chromium.org/1937553002/ )
...
Reason for revert:
ASAN
Original issue's description:
> Add Gr*Proxy classes
>
> This isn't wired in anywhere yet.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1937553002
>
> Committed: https://skia.googlesource.com/skia/+/de5bf0cfeca908b81a28cc50065f7bc2da3d2fd1
>
> Committed: https://skia.googlesource.com/skia/+/92605b35efa0155c44d24bd8415b4cc1db8831db
TBR=bsalomon@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/1944953002
2016-05-03 12:56:04 -07:00
reed
50d3b57c8a
return 4x4 matrix from SkColorSpace
...
move SkMatrix44 into core (with alias in utils to transition chrome)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1943833002
Review-Url: https://codereview.chromium.org/1943833002
2016-05-03 12:13:21 -07:00
bungeman
68f7460fd1
Add SK_API to SkFontLCDConfig.
...
This will allow transition from double deprecated SkFontHost.
TBR=reed
This is obviously needed to remove other code.
Review-Url: https://codereview.chromium.org/1951463002
2016-05-03 11:56:03 -07:00
robertphillips
92605b35ef
Add Gr*Proxy classes
...
This isn't wired in anywhere yet.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1937553002
Committed: https://skia.googlesource.com/skia/+/de5bf0cfeca908b81a28cc50065f7bc2da3d2fd1
Review-Url: https://codereview.chromium.org/1937553002
2016-05-03 08:47:01 -07:00
robertphillips
89d09a1f70
Revert of Add Gr*Proxy classes (patchset #9 id:160001 of https://codereview.chromium.org/1937553002/ )
...
Reason for revert:
Seems to be breaking N7 & ANGLE bots
Original issue's description:
> Add Gr*Proxy classes
>
> This isn't wired in anywhere yet.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1937553002
>
> Committed: https://skia.googlesource.com/skia/+/de5bf0cfeca908b81a28cc50065f7bc2da3d2fd1
TBR=bsalomon@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/1949463002
2016-05-03 06:44:50 -07:00
brianosman
444f1ba1b7
Remove SkBitmapHeap and SkBitmapHeapReader. They're unused.
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1938033002
Review-Url: https://codereview.chromium.org/1938033002
2016-05-03 06:07:38 -07:00
jvanverth
db1adf5989
Revert of Make stencils be attachable to render targets created via SkSurface::MakeFromBackendTextureAsRender… (patchset #9 id:150001 of https://codereview.chromium.org/1924183003/ )
...
Reason for revert:
Appears to be breaking the roll.
Original issue's description:
> Make stencils be attachable to render targets created via SkSurface::MakeFromBackendTextureAsRenderTarget
>
> This is a regression from "Refactor to separate backend object lifecycle
> and GpuResource budget decision".
>
> GrGLRenderTarget::CreateWrapped creates only render targets that wrap
> the FBO.
> GrGLRenderTargetTexture::CreateWrapped creates render targets that
> wrap the texture.
>
> Use the latter as the implementation for
> SkSurface::MakeFromBackendTextureAsRenderTarget.
>
>
> BUG=608238
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1924183003
>
> Committed: https://skia.googlesource.com/skia/+/fe635fd76bbc375d527d1884af23cc617ca364ee
>
> Committed: https://skia.googlesource.com/skia/+/1cb00e42bff455e23f6883bf09680438fa631224
TBR=bsalomon@google.com ,kkinnunen@nvidia.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=608238
Review-Url: https://codereview.chromium.org/1943843002
2016-05-03 05:37:46 -07:00
robertphillips
de5bf0cfec
Add Gr*Proxy classes
...
This isn't wired in anywhere yet.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1937553002
Review-Url: https://codereview.chromium.org/1937553002
2016-05-03 05:06:29 -07:00
kkinnunen
1cb00e42bf
Make stencils be attachable to render targets created via SkSurface::MakeFromBackendTextureAsRenderTarget
...
This is a regression from "Refactor to separate backend object lifecycle
and GpuResource budget decision".
GrGLRenderTarget::CreateWrapped creates only render targets that wrap
the FBO.
GrGLRenderTargetTexture::CreateWrapped creates render targets that
wrap the texture.
Use the latter as the implementation for
SkSurface::MakeFromBackendTextureAsRenderTarget.
BUG=608238
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1924183003
Committed: https://skia.googlesource.com/skia/+/fe635fd76bbc375d527d1884af23cc617ca364ee
Review-Url: https://codereview.chromium.org/1924183003
2016-05-02 23:16:42 -07:00
aam
cf975447a8
Make SkTime SK_API so that SkTime::GetDateTime() is visible to the clients.
...
# begin mtklein edits...
No public API changes.
TBR=reed@google.com
# end mtklein edits
BUG=skia:5230
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1930863003
Review-Url: https://codereview.chromium.org/1930863003
2016-05-02 15:04:46 -07:00
brianosman
18f13f3673
Remove (almost) unused read/writeFunctionPtr API.
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1937053002
Review-Url: https://codereview.chromium.org/1937053002
2016-05-02 07:51:08 -07:00
mtklein
59c12e3f00
remove non-static uses of SkOncePtr
...
Still slowly working through all the SK_DECLARE_STATIC_FOO macros.
SkOncePtr is complicating things by having SkOncePtr delete its pointer
and SkBaseOncePtr not. Simplify things by removing SkOncePtr, leaving
only the leaky SkBaseOncePtr.
We replace SkOncePtr<T> instead with SkOnce and T. In most cases this
did not need to be a pointer, and in some cases here we're even saving
a few bytes by replacing SkOncePtr<T> with SkOnce and a T.
The dependency map of SK_DECLARE_STATIC_FOO is:
SkBaseMutex -> SkBaseSemaphore -> SkBaseOncePtr
They're intertwined enough that I think I've got to do all three in one
next CL.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1939503002
Review-Url: https://codereview.chromium.org/1939503002
2016-05-02 07:19:41 -07:00
brianosman
57b4615974
Remove unused encodedString API on SkWriteBuffer/SkReadBuffer
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1936103002
Review-Url: https://codereview.chromium.org/1936103002
2016-05-02 07:09:25 -07:00
aleksandar.stojiljkovic
9516775857
Enable generating SkImage with the same uniqueID in SkImageGenerator subclass
...
Enable reusing uniqueID when instantiating SkImageGenerator subclasses enables
using uniqueID in client code to cache generated bitmaps with no need to keep
the reference to SkImageGenerator.
This is a bug fix for out of memory cause in chromium and 100% CPU usage
described in issue 165750#13:
- cache uses SkImage::uniqueID() to cache decoded bitmaps.
- every animation loop creates new SkImage instances.
- after decoding, bitmap copies are added to cache, filling it up with
duplicates of previous loops frames.
BUG=165750
Blink patch that depends on this:
https://codereview.chromium.org/1925533003/
"High CPU and increased memory usage fix for high-res (GIF, WEBP...) animations."
Review-Url: https://codereview.chromium.org/1928403002
2016-05-02 01:43:38 -07:00
mtklein
4d9ff62fa2
Remove SkWriter32::contiguousArray().
...
This method requires SkWriter32 have a contiguous array.
It does, and I plan to keep it that way (last time we checked
it's faster), but this turns that feature back into an
implementation detail.
This feature is only used by another unused feature, deep copies of
ops arrays in SkPictureData. Kill that, kill this.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1932223003
Depends on https://codereview.chromium.org/1936563002/
Only deleting API
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/1932223003
2016-04-29 14:45:36 -07:00
mtklein
b4c899d48d
remove SkWriteBuffer::getWriter32().
...
SkWriteBuffer exposes its lower-level implementation SkWriter32 through
this one call. It's not currently used in any interesting way:
- write_encoded_bitmap() uses it to manually re-create writeDataAsByteArray();
- unit tests use it incidentally as a quick way to read the serialized bytes.
This should be SkWriteBuffer no longer necessarily needs to have an SkWriter32.
Landing this will let us then remove SkWriter32::contiguousArray().
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1936563002
TBR=reed@google.com
Just deleting API
Review-Url: https://codereview.chromium.org/1936563002
2016-04-29 13:58:09 -07:00
mtklein
1b5dd88454
remove SkWriteBuffer::reserve()
...
We're not using it for anything that we can't do using the clearer writeFoo()/readFoo() methods.
The deletions in SkPictureFlat.{h,cpp} and BitmapHeapTest.cpp clean up dead code.
This code has not been used for a long time. I happened to notice it because it
was another caller of reserve() (in a terrifyingly hacking/interesting way that
I bet we'll find I authored...)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1930103003
Deleting APIs unused publicly.
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/1930103003
2016-04-29 08:46:41 -07:00
bsalomon
5668648e87
Unify implementations of stroking radius calculationsns
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1928133002
Review-Url: https://codereview.chromium.org/1928133002
2016-04-29 07:07:03 -07:00
djsollen
efe46d2094
Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER.
...
The Release_Developer build type is now used to build Skia with
release level optimizations but still enable SK_DEBUG. This in turn
means that SkASSERTS and SkRTConf are available in this mode.
Further we can then remove SK_DEVELOPER as a define as it is true
iff SK_DEBUG is true.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1931903002
DOCS_PREVIEW= https://skia.org/?cl=1931903002
Review-Url: https://codereview.chromium.org/1931903002
2016-04-29 06:41:35 -07:00
robertphillips
175dd9b5e3
Clean up test drawContext usage
...
The general idea is to provide access to SkGpuDevice's drawContext rather than its GrRenderTarget. That is usually what the testing framework actually wants.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1930623003
Review-Url: https://codereview.chromium.org/1930623003
2016-04-28 14:32:04 -07:00
bungeman
801b44c453
Remove skstd::is_convertible.
...
We should now be able to use std::is_convertible.
TBR=reed@google.com
This doesn't change any API, just where we get a type trait from.
Review-Url: https://codereview.chromium.org/1931003002
2016-04-28 11:18:07 -07:00
reed
d77ac77924
remove (now unused) SkDivBits
...
needs https://codereview.chromium.org/1927823002/ to land first
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1925913002
Review-Url: https://codereview.chromium.org/1925913002
2016-04-28 09:31:31 -07:00
reed
28d5bdd97e
Revert of Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER. (patchset #2 id:20001 of https://codereview.chromium.org/1927583002/ )
...
Reason for revert:
still blocking DEPS roll
Original issue's description:
> Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER.
>
> The Release_Developer build type is now used to build Skia with
> release level optimizations but still enable SK_DEBUG. This in turn
> means that SkASSERTS and SkRTConf are available in this mode.
>
> Further we can then remove SK_DEVELOPER as a define as it is true
> iff SK_DEBUG is true.
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1927583002
> DOCS_PREVIEW= https://skia.org/?cl=1927583002
>
> Committed: https://skia.googlesource.com/skia/+/48d6f88479e72efaf9b9d8f9c0769acb1ba773db
TBR=bungeman@gmail.com ,bungeman@google.com,benjaminwagner@google.com,djsollen@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/1918253006
2016-04-28 08:12:55 -07:00
djsollen
48d6f88479
Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER.
...
The Release_Developer build type is now used to build Skia with
release level optimizations but still enable SK_DEBUG. This in turn
means that SkASSERTS and SkRTConf are available in this mode.
Further we can then remove SK_DEVELOPER as a define as it is true
iff SK_DEBUG is true.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1927583002
DOCS_PREVIEW= https://skia.org/?cl=1927583002
Review-Url: https://codereview.chromium.org/1927583002
2016-04-27 13:37:23 -07:00
halcanary
eabaf79824
SkDocument::CreateXPS fix roll
...
NOTRY=true
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/1918713006
2016-04-27 12:07:55 -07:00
senorblanco
900c367796
Image filters: de-nest SkImageFilter::Cache and Cache::Key.
...
This reduces the public header, and also allows us to foward-
declare them, so we can remove an #include from all the
SkDevice subclass headers.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1919063002
Review-Url: https://codereview.chromium.org/1919063002
2016-04-27 11:31:23 -07:00
bungeman
b4bb7d8255
Add oblique as a slant.
...
Some fonts have italic and oblique in the same family, see
http://lucidafonts.com/fonts/family/lucida-sans
http://www.gust.org.pl/projects/e-foundry/latin-modern
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1921903002
Chromium side change at https://crrev.com/1921503006/ .
Review-Url: https://codereview.chromium.org/1921903002
2016-04-27 10:21:05 -07:00
reed
1e7f5e708e
remove 'deprecated' region from SkDraw
...
Most call-sites that used it just took its bounds, so it was trivial to convert them
to get the bounds of the RasterClip. Two clients wanted the actual region:
1. layeriter for android
2. pdf
Android already only has BW clips, so should be safe.
PDF now overrides its clip methods to ensure that all clips are BW.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1925693002
Review URL: https://codereview.chromium.org/1925693002
2016-04-27 07:49:17 -07:00
halcanary
4b6566644f
SkDocument/PDF: new API
...
has a pdf/a switch.
sets metadata in factory.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1916093002
Review URL: https://codereview.chromium.org/1916093002
2016-04-27 07:45:18 -07:00
reed
86ae3d1614
make context() virtual on device
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1922123002
TBR=robertphilips
Review URL: https://codereview.chromium.org/1922123002
2016-04-26 06:57:31 -07:00
reed
96a04f3299
simplify handle-affine: subclass overrides just describe their leaf behavior
...
added new test case (that would have failed before) of blur with a colorfilter input
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1915943002
Review URL: https://codereview.chromium.org/1915943002
2016-04-25 09:25:15 -07:00
msarett
edf7fcd8b9
Make SkDrawable an SkFlattenable
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1911403004
Review URL: https://codereview.chromium.org/1911403004
2016-04-25 06:40:26 -07:00
reed
bb34a8ac59
allow imagefilter to manage CTM decomposition
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1908173006
Review URL: https://codereview.chromium.org/1908173006
2016-04-23 15:19:07 -07:00
robertphillips
36736a2dae
Remove SkCanvas::LayerIter guard
...
The LayerIter is no longer required by the Bazel build.
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1917693002
Review URL: https://codereview.chromium.org/1917693002
2016-04-23 08:26:44 -07:00