Commit Graph

33674 Commits

Author SHA1 Message Date
Cary Clark
8d8a5d9543 fix pathop fuzzes
throw an error instead of asserting for one

for the other, only assert if the values are trusted. That's not ideal,
but I don't see an easy way to insert a fail safety hatch in this code
and if the assert is ignored, no further assert is triggered.

verified that extended tests run without problem on debug and release

R=kjlubick@google.com
Bug: skia:
Change-Id: I5544b6cbef97479854dbecb05baae6b2c41cabc9
Reviewed-on: https://skia-review.googlesource.com/117725
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-04-03 17:38:00 +00:00
Kevin Lubick
27d42198d3 Move oss-fuzz to MockGPUCanvas
Bug: skia:7776
Change-Id: I4f2791375d8be05486d10ce8f7f2e58aa032cfd8
Reviewed-on: https://skia-review.googlesource.com/118166
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Jonathan Metzman <metzman@chromium.org>
2018-04-03 17:02:20 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
4de7968f34 Roll skia/third_party/externals/skcms/ b21124236..6c4b7c42f (1 commit)
https://skia.googlesource.com/skcms/+log/b211242360a4..6c4b7c42f0c6

$ git log b21124236..6c4b7c42f --date=short --no-merges --format='%ad %ae %s'
2018-04-02 mtklein Reland "sketch single-source multi-target skcms_Transform()""

Created with:
  roll-dep skia/third_party/externals/skcms


The AutoRoll server is located here: https://skcms-skia-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=herb@google.com

Change-Id: Id5de3be1e6da2c457264bdb6bd347726d275db6c
Reviewed-on: https://skia-review.googlesource.com/118200
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-04-03 16:39:00 +00:00
Cary Clark
ecf548bf8a update autogenerated includes
SkImageInfo.h is generated for the first time.
Minor corrections in the other includes.

TBR=reed@google.com
Bug: skia:6898
Change-Id: I9a16753e234ace3bfbcc5b58381347fd0e63b1c8
Reviewed-on: https://skia-review.googlesource.com/118168
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-04-03 16:33:10 +00:00
Cary Clark
186d08f621 fix bugs exposed by documenting SkImageInfo
- More rigorous symbol identification creates additional
links, and finds spurious errors like unnecessary
parentheses.

- Fixed code to allow preprocessor directives in
#Code blocks (still more to do).

- Fixed examples waiting on fiddle updates.

- Make SkImageInfo officially documented (update in status.json).

- Fixed enum indentation.



Docs-Preview: https://skia.org/?cl=115656
Bug: skia:6898
Change-Id: Ifcf5cfd3f6c03b3b83155c898b2b035a2f3d443c
Reviewed-on: https://skia-review.googlesource.com/115656
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-04-03 16:09:56 +00:00
Greg Daniel
ba31640427 Allow for divide by zero in miter calculation in GrAAConvexTessellator
Bug: skia:7769, oss-fuzz:7302
Change-Id: Id5c70a3be5525ed6b414d7e03d7e94183835f8e3
Reviewed-on: https://skia-review.googlesource.com/118167
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-04-03 16:05:20 +00:00
Stephen White
ea49523b5f GrTessellator: fix for points that become infinite on stroking.
stroke -> Inf -> NaN -> assert.

BUG=skia:7775

Change-Id: I086883bce90d1d473cff87f67e954718ea3181f6
Reviewed-on: https://skia-review.googlesource.com/118145
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-04-03 16:04:50 +00:00
Kevin Lubick
b88045bdc2 Catch infinite numbers in computeMatrices
Bug: skia:7433
Change-Id: I54ec095a2e6a3596f99e3659c947c6489a68ff47
Reviewed-on: https://skia-review.googlesource.com/118164
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-04-03 15:27:00 +00:00
Brian Salomon
08c39fcbcb Increase precision in GrSRGBEffect
Allows ApplyGammaTest to pass on Bifrost, which uses fp16 for mediump.

Change-Id: Icd04001939a2cb7e1789132ab035ca498c92112a
Reviewed-on: https://skia-review.googlesource.com/118162
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-04-03 15:20:50 +00:00
Jim Van Verth
4db18edb95 Add SkOffsetSimplePolygon.
Performs inset and outset operations on simple polygons and returns
a simple polygon, if possible.

Bug: skia:
Change-Id: I6d468174ad70b5279b736c532e19cbb84ff9f955
Reviewed-on: https://skia-review.googlesource.com/116483
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-04-03 14:37:50 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
141edce891 Roll skia/third_party/externals/skcms/ 75dc22828..b21124236 (1 commit)
https://skia.googlesource.com/skcms/+log/75dc228289e6..b211242360a4

$ git log 75dc22828..b21124236 --date=short --no-merges --format='%ad %ae %s'
2018-04-02 mtklein add fast Win clang bot

Created with:
  roll-dep skia/third_party/externals/skcms


The AutoRoll server is located here: https://skcms-skia-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=reed@google.com

Change-Id: Ibf92cd9c335acd8cb66f07fb3c40cc91d8d7b750
Reviewed-on: https://skia-review.googlesource.com/118141
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-04-03 13:33:02 +00:00
Robert Phillips
1110da15d4 Fix non-GPU release bots
TBR=bsalomon@google.com
Change-Id: I8b0a6ff0ca7674c94bfbc739d313cfac5a16596f
Reviewed-on: https://skia-review.googlesource.com/118100
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-04-03 12:49:22 +00:00
Brian Salomon
fd88fe4d57 Speculative fix for crbug.com/823920
Bug: chromium:823920
Change-Id: I679cdf848280a26b8e353b51750823f497e50a67
Reviewed-on: https://skia-review.googlesource.com/117861
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-04-03 11:34:12 +00:00
angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
c0528e2418 Roll skia/third_party/externals/angle2/ 5a7e61bbd..30b604d8d (1 commit)
5a7e61bbda..30b604d8d1

$ git log 5a7e61bbd..30b604d8d --date=short --no-merges --format='%ad %ae %s'
2018-03-12 jdarpinian Check that transform feedback will not overflow its buffers.

Created with:
  roll-dep skia/third_party/externals/angle2


The AutoRoll server is located here: https://angle-skia-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE
TBR=reed@google.com

Change-Id: I35c70a048cd423ebeedf28d1ed41a07444786c66
Reviewed-on: https://skia-review.googlesource.com/118001
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-04-03 03:41:42 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
873086957b Roll skia/third_party/externals/skcms/ ad0c4f19b..75dc22828 (1 commit)
https://skia.googlesource.com/skcms/+log/ad0c4f19b563..75dc228289e6

$ git log ad0c4f19b..75dc22828 --date=short --no-merges --format='%ad %ae %s'
2018-04-02 brianosman Don't snap nonlinear TF parameters after regression

Created with:
  roll-dep skia/third_party/externals/skcms


The AutoRoll server is located here: https://skcms-skia-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=reed@google.com

Change-Id: Ia8cd9651c461001af666af62d2cc035e868e6380
Reviewed-on: https://skia-review.googlesource.com/117961
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-04-03 00:20:22 +00:00
Herb Derby
1a291b354f Cleanup Ops - remove extra bytes sent and received
BUG=skia:7515

Change-Id: I0a1da98cbf20e39fec9f318e7aa9e253bd3878b4
Reviewed-on: https://skia-review.googlesource.com/117864
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-04-02 21:18:22 +00:00
Yuqian Li
5e6b67c720 Simplify SkDrawTiler; check emtpy pixmap and overflow
Not sure whether this will fix b/77249109, but we can have a try.

Bug: b/77249109
Change-Id: Ia569cb130758dd0a63bfe2ecb29e61c75716c955
Reviewed-on: https://skia-review.googlesource.com/117460
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
2018-04-02 21:04:52 +00:00
Ben Wagner
2de1eda3d2 SkScalerContext::getMetrics to not request metrics it will ignore.
Before this change SkScalerContext::getMetrics always calls
generateMetrics to force the subclass to create full metrics. However,
if the SkScalerContext is going to draw from outlines then there is no
reason to do so since it is immediately going to overwrite those metrics
by computing its own from the path. This also puts off other decisions
being made based on the glyph metrics until after the metrics are fully
computed.

The logic in SkScalerContext::getImage is updated to be similar to the
logic in the new SkScalerContext::getMetrics.

Change-Id: I1798c9244277fab85595fb39fc3a85ef7eb33620
Reviewed-on: https://skia-review.googlesource.com/117085
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-04-02 20:54:52 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
97be6f99f6 Roll skia/third_party/externals/skcms/ 4a77de482..ad0c4f19b (1 commit)
https://skia.googlesource.com/skcms/+log/4a77de48275b..ad0c4f19b563

$ git log 4a77de482..ad0c4f19b --date=short --no-merges --format='%ad %ae %s'
2018-04-02 mtklein add clang_win tests to skcms tree

Created with:
  roll-dep skia/third_party/externals/skcms


The AutoRoll server is located here: https://skcms-skia-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=reed@google.com

Change-Id: I3527d4d911bc856715213aa818f8be0bb0f9b295
Reviewed-on: https://skia-review.googlesource.com/117842
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-04-02 20:51:22 +00:00
Brian Osman
7451101449 Revert "Disable GPU support by default when building for host in Fuchsia"
This reverts commit 3e9e6cfc82.

Reason for revert: Causes linker errors when building Fuchsia (Flutter still pulling in Ganesh code).

Original change's description:
> Disable GPU support by default when building for host in Fuchsia
> 
> When building Skia for host as part of Fuchsia build, we don't need
> the GPU support which introduces additional dependency on X11.
> 
> Change-Id: I29a1a8a4b349c1c7d2e7db5c5c44a4cc8917cbdc
> Reviewed-on: https://skia-review.googlesource.com/117381
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,brianosman@google.com,phosek@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I74755f68653fe217d8691dea939e44f359fc3d8a
Reviewed-on: https://skia-review.googlesource.com/117880
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-04-02 20:46:42 +00:00
Mike Klein
22c1f373b7 Revert "implement SkTDArray with std::vector"
This reverts commit 80e1d56e19.

Reason for revert: SkRTree.cpp:57 asserting, probably this?

Original change's description:
> implement SkTDArray with std::vector
> 
> It's always worth seeing if we can get away with replacing custom data
> structures with ones from the standard library.  Our array-like types
> are all good candidates to replace with std::vector, and it's especially
> easy to start with SkTDArray.  Unlike the others, it has no preallocated
> S-variant, which is tricky to make work with std::vector.
> 
> SkTDArray also has known integer overflow bugs, leading to out of range
> writes.  It'd be _very_ nice to ditch it for a better standard vector.
> 
> I removed a bunch of unused or little-used methods, and updated a couple
> call sites that used methods in unusual or dangerous ways.
> 
> I've had to tweak GrAAConvexTessellator and SkBaseShadowTessellator just
> a touch to work within the constraints of an std::vector impl.  It's not
> intended to be legal to write to the reserved-but-not-counted elements
> of an SkTDArray, but you can get away with it in our old implementation.
> This version now uses setCount() to actually reserve and count them, and
> should have the same performance and use the same amount of memory.
> 
> The PathMeasure_explosion GM I added recently to reproduce this bug now
> draws without triggering undefined behavior or ASAN errors, provided you
> have ~40GB of RAM.
> 
> Bug: skia:7674
> 
> Change-Id: I4eacae18a976cd4a6d218102f8ca5d973d4d7d0e
> Reviewed-on: https://skia-review.googlesource.com/115982
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>

TBR=mtklein@chromium.org,bungeman@google.com,brianosman@google.com

Change-Id: Icffd9f22fe89746a970ff598e1a05c774960bc0e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7674
Reviewed-on: https://skia-review.googlesource.com/117901
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-04-02 20:37:52 +00:00
Mike Klein
224edf0a3c Revert "In older STLs, std::vector::insert() returns void."
This reverts commit 7dd8ee9c60.

Reason for revert: going to revert primary CL

Original change's description:
> In older STLs, std::vector::insert() returns void.
> 
> CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-arm-Debug-Chromebook_GLES
> 
> Change-Id: I7bd15ecc7122965db16fbb51e51ee166b05dce2f
> Reviewed-on: https://skia-review.googlesource.com/117722
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>

TBR=mtklein@chromium.org,brianosman@google.com

Change-Id: I9c126edbef74293d8e7a2b7e2365e464ba367ae5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Cq-Include-Trybots: skia.primary:Build-Debian9-Clang-arm-Debug-Chromebook_GLES
Reviewed-on: https://skia-review.googlesource.com/117900
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-04-02 20:37:13 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
211cf7787c Roll skia/third_party/externals/skcms/ d2cc6a7f7..4a77de482 (2 commits)
https://skia.googlesource.com/skcms/+log/d2cc6a7f7d05..4a77de48275b

$ git log d2cc6a7f7..4a77de482 --date=short --no-merges --format='%ad %ae %s'
2018-04-02 mtklein Revert "sketch single-source multi-target skcms_Transform()"
2018-03-30 mtklein sketch single-source multi-target skcms_Transform()

Created with:
  roll-dep skia/third_party/externals/skcms


The AutoRoll server is located here: https://skcms-skia-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=reed@google.com

Change-Id: I341c1385055f70012af7e931a6056c6468a42c68
Reviewed-on: https://skia-review.googlesource.com/117840
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-04-02 19:50:22 +00:00
angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
9874bf1bce Roll skia/third_party/externals/angle2/ d104918fd..5a7e61bbd (1 commit)
d104918fd5..5a7e61bbda

$ git log d104918fd..5a7e61bbd --date=short --no-merges --format='%ad %ae %s'
2018-03-29 lfy GLES1: glNormal3(f|x)

Created with:
  roll-dep skia/third_party/externals/angle2


The AutoRoll server is located here: https://angle-skia-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE
TBR=reed@google.com

Change-Id: I3bae2d5fbfe60185ee68988b94bcdc3045008da0
Reviewed-on: https://skia-review.googlesource.com/117740
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-04-02 18:26:53 +00:00
Hal Canary
8031b32842 SkPDF/SkTypefaceMetrics: Set PostScript Name in Directwrite backend.
Also, clean up Freetype and Mac impls.

Also, sk_get_locale_string returns an error value.

Change-Id: If8dfc101e28a1d782679174fe6f5a28812563af5
Reviewed-on: https://skia-review.googlesource.com/117229
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-04-02 17:51:12 +00:00
Derek Sollenberger
d39622210f Add multilib support as the default build option for libskqp
Change-Id: I98e7315f402bf9ff8fd11e990497e17fa0c0dc7a
Reviewed-on: https://skia-review.googlesource.com/117636
Reviewed-by: Hal Canary <halcanary@google.com>
2018-04-02 17:46:52 +00:00
Mike Klein
7dd8ee9c60 In older STLs, std::vector::insert() returns void.
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-arm-Debug-Chromebook_GLES

Change-Id: I7bd15ecc7122965db16fbb51e51ee166b05dce2f
Reviewed-on: https://skia-review.googlesource.com/117722
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-04-02 17:32:42 +00:00
Ben Wagner
e8c648c87d Revert "Temporarily remove Win10 QuadroP400 from CQ."
This reverts commit e027e19477.

Reason for revert: capacity problem resolved

Original change's description:
> Temporarily remove Win10 QuadroP400 from CQ.
> 
> This tryjob is currently just experimental/non-blocking, and we are
> severely short on capacity due to chromium:821040.
> 
> Bug: chromium:821040
> Change-Id: I36b193cecd4f7ecf4c6f5769e869ee37a1285582
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/114221
> Reviewed-by: Eric Boren <borenet@google.com>
> Commit-Queue: Ben Wagner <benjaminwagner@google.com>

TBR=borenet@google.com,benjaminwagner@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: chromium:821040
Change-Id: Idf305b56bc511b1072c6b7c524c963efd35a643c
Reviewed-on: https://skia-review.googlesource.com/117661
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-04-02 17:04:56 +00:00
Hal Canary
e9e19dd4a1 SkPDF/Clusterator: a second test
Change-Id: I805672d88f1c913acba58feca3ad950f5d82884d
Reviewed-on: https://skia-review.googlesource.com/117639
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-04-02 17:00:25 +00:00
Chris Dalton
7c7ff031a5 ccpr: Normalize homogeneous coords with frexp/ldexp
Hopefully increases cubic accuracy by manipulating exponents
instead of calling normalize().

Bug: skia:
Change-Id: I8d3596e858a2fbb6650c158753133c5a2e01e166
Reviewed-on: https://skia-review.googlesource.com/117009
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-04-02 16:05:05 +00:00
Robert Phillips
64ecdce4ad Turn on rendertarget sorting
Change-Id: I1315d0864ee0963569c23f70c1185488b5216f99
Reviewed-on: https://skia-review.googlesource.com/117686
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-04-02 15:42:30 +00:00
Mike Klein
80e1d56e19 implement SkTDArray with std::vector
It's always worth seeing if we can get away with replacing custom data
structures with ones from the standard library.  Our array-like types
are all good candidates to replace with std::vector, and it's especially
easy to start with SkTDArray.  Unlike the others, it has no preallocated
S-variant, which is tricky to make work with std::vector.

SkTDArray also has known integer overflow bugs, leading to out of range
writes.  It'd be _very_ nice to ditch it for a better standard vector.

I removed a bunch of unused or little-used methods, and updated a couple
call sites that used methods in unusual or dangerous ways.

I've had to tweak GrAAConvexTessellator and SkBaseShadowTessellator just
a touch to work within the constraints of an std::vector impl.  It's not
intended to be legal to write to the reserved-but-not-counted elements
of an SkTDArray, but you can get away with it in our old implementation.
This version now uses setCount() to actually reserve and count them, and
should have the same performance and use the same amount of memory.

The PathMeasure_explosion GM I added recently to reproduce this bug now
draws without triggering undefined behavior or ASAN errors, provided you
have ~40GB of RAM.

Bug: skia:7674

Change-Id: I4eacae18a976cd4a6d218102f8ca5d973d4d7d0e
Reviewed-on: https://skia-review.googlesource.com/115982
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-04-02 15:38:05 +00:00
Greg Daniel
e037d7611f Remove specVersion check on vk extensions.
Unlike the specVersion parameter on the layers, specVersion on extensions
does not mean what vulkan spec version the extensions work with but just
what version of the extension it is. Thus we don't want to compare it
to the version of the spec we are making.

Bug: skia:
Change-Id: If47c249b4cca0b9a10bfb3b8ce88db6bda1e12ed
Reviewed-on: https://skia-review.googlesource.com/117634
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-04-02 15:37:25 +00:00
Kevin Lubick
3070926579 Add mock gl fuzzer
Bug: skia:
Change-Id: I661eed3cdddba67aadfff5b3fe7b96ac29180c61
Reviewed-on: https://skia-review.googlesource.com/117637
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-04-02 15:30:20 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
61bfac6416 Roll skia/third_party/externals/skcms/ a0790e0c9..d2cc6a7f7 (1 commit)
https://skia.googlesource.com/skcms/+log/a0790e0c9dc6..d2cc6a7f7d05

$ git log a0790e0c9..d2cc6a7f7 --date=short --no-merges --format='%ad %ae %s'
2018-04-02 brianosman Ensure that the linear fit passes through the last (D) point

Created with:
  roll-dep skia/third_party/externals/skcms
BUG=skia:


The AutoRoll server is located here: https://skcms-skia-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=reed@google.com

Change-Id: I824b409231317642b9ad9422b8364977af9b4d6a
Reviewed-on: https://skia-review.googlesource.com/117687
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-04-02 15:25:25 +00:00
Kevin Lubick
c24d5bcf24 Roll Pixel 2 XL version
Bug: skia:
Change-Id: If7eec995d8683ef6cd7c90db11bc28d777ef2e56
NOTRY=true
Reviewed-on: https://skia-review.googlesource.com/117635
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-04-02 15:25:15 +00:00
Cary Clark
9b8b0cee51 fix SkRRect fuzzer assert
fuzzer bug triggers an assert in SkRRect::isValid because
on radius is zero and the other, while small, is not.

The radii are normally both set to zero if one is zero
in SkRRect::setRectRadii. However, subsequently scaleRadii
may set one to zero when normalizing the pair.

Move the clamping code out of setRectRadii so it can be
called from scaleRadii as well.

R=reed@google.com
Bug: skia:
Change-Id: Ib9a86da7212567b2f4b83d99a41cf9ba2c30e9b9
Reviewed-on: https://skia-review.googlesource.com/115701
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
2018-04-02 15:15:25 +00:00
Kevin Lubick
01a1cf9260 More nans causing infinite recursion in GrPathUtils::convertCubicToQuads
Follow up to https://skia-review.googlesource.com/c/skia/+/87302

Bug: skia:
Change-Id: Ic2efef2eb44dbb6a1ffdd1618ea4833a5a5afc4b
Reviewed-on: https://skia-review.googlesource.com/117630
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-04-02 14:18:34 +00:00
Cary Clark
5ab52f6a38 fix a couple of minor surface doc changes
Newly added MakeRenderTarget doesn't have
an example yet, so just mark it as such;
and remove the doxygen style comments.

MakeFormBackendRenderTarget was missing

TBR=robertphillips@google.com

Docs-Preview: https://skia.org/?cl=117629
NOTRY=true
Bug: skia:6898
Change-Id: Icf6fb7195503b54c96cbf3a5785c2c4b3c0f9d8d
Reviewed-on: https://skia-review.googlesource.com/117629
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-04-02 12:38:05 +00:00
Ethan Nicholas
c6a19f1d04 fix for frexp dataflow analysis
Bug: skia:
Change-Id: Ic20bedadfbf37fd78ce03872ece2d9552307cfcd
Reviewed-on: https://skia-review.googlesource.com/117243
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2018-04-01 21:29:08 +00:00
UpdateSKPs
5614ce1897 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: I021c0ee3c4dba078635bed68678028bf769397b0
Reviewed-on: https://skia-review.googlesource.com/117681
Commit-Queue: update-skps <update-skps@skia.org>
Reviewed-by: update-skps <update-skps@skia.org>
2018-04-01 07:51:58 +00:00
Ravi Mistry
0806b7ce3b Revert "Whitespace change"
This reverts commit 470d829731.

Reason for revert: Testing again

Original change's description:
> Whitespace change
> 
> NoTry: true
> Bug: skia:
> Change-Id: I6dc0ba66aca94f7f99cb851dda6503c0cb9c302b
> Reviewed-on: https://skia-review.googlesource.com/114407
> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
> Commit-Queue: Ravi Mistry <rmistry@google.com>

TBR=benjaminwagner@google.com,rmistry@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: skia:
Change-Id: I98498e483808694a74c60cc921727108cf1429c5
NoTry: true
Reviewed-on: https://skia-review.googlesource.com/117660
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2018-03-31 21:50:37 +00:00
Update Docs
b33feaca1c Update markdown files
Automatic commit by the Housekeeper-Nightly-Bookmaker bot.

TBR=update-docs@skia.org
NO_MERGE_BUILDS

Change-Id: I6f272c3bb0df73d5dcffdb9f3f1b2e8c30db1119
Reviewed-on: https://skia-review.googlesource.com/117640
Commit-Queue: Update Docs <update-docs@skia.org>
Reviewed-by: Update Docs <update-docs@skia.org>
2018-03-31 06:47:57 +00:00
angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
95c478fe18 Roll skia/third_party/externals/angle2/ b33972d4a..d104918fd (1 commit)
b33972d4a4..d104918fd5

$ git log b33972d4a..d104918fd --date=short --no-merges --format='%ad %ae %s'
2018-03-28 brandon1.jones Refactor ANGLE Extensions Validation

Created with:
  roll-dep skia/third_party/externals/angle2


The AutoRoll server is located here: https://angle-skia-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE
TBR=mtklein@google.com

Change-Id: Ief4bfcc81542dbc21c6f5dcbe4430caa5508bd78
Reviewed-on: https://skia-review.googlesource.com/117600
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-03-31 00:54:46 +00:00
Kevin Lubick
e4be55dc28 Add Encoder fuzzers
This also includes a helper "fuzzer" for making a corpus.
Point it at an image or folder of images and it will
decode those images and write the SkPixmap's bytes to
disk, such that the fuzzer will be able to read in
those bytes as if it had decoded the image (or gotten
it from another source).

Bug: skia:
Change-Id: Iaf223a39078f2b62908fb47929add5d63f22d973
Reviewed-on: https://skia-review.googlesource.com/117367
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-03-30 19:31:56 +00:00
Robert Phillips
6b6fcc7862 Add SkSurface factory that takes an SkSurfaceCharacterization
TBR=bsalomon@google.com
Change-Id: Ie38123dc7c35005bfe8500bf4a16e0d16bbf36bd
Reviewed-on: https://skia-review.googlesource.com/117236
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-03-30 19:12:26 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
26339bf9a8 Roll skia/third_party/externals/skcms/ a8bceef13..a0790e0c9 (2 commits)
https://skia.googlesource.com/skcms/+log/a8bceef13fe6..a0790e0c9dc6

$ git log a8bceef13..a0790e0c9 --date=short --no-merges --format='%ad %ae %s'
2018-03-30 mtklein one big switch
2018-03-30 brianosman Remove float.h

Created with:
  roll-dep skia/third_party/externals/skcms


The AutoRoll server is located here: https://skcms-skia-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=mtklein@google.com

Change-Id: If32998ce76628444baab468dae7a2b68fbd740b8
Reviewed-on: https://skia-review.googlesource.com/117409
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-03-30 18:21:46 +00:00
Chris Dalton
c534808ba2 Revert "Delete GPU alpha clip masks"
This reverts commit a466228a61.

Reason for revert: Turned up a vulkan driver bug

Original change's description:
> Delete GPU alpha clip masks
> 
> The cost of switching render targets on each draw to make a custom
> clip is enormous. There are virtually no circumstances where this will
> outperform our cached, multi-threaded software mask generator. The
> tried-and-true approach to clipping on-GPU is with analytic FPs. And
> now that we support CCPR clip FPs, there ulitmately should be very few
> clip stacks that even require a mask as long as they don't use
> deprecated SkClipOps.
> 
> Bug: skia:
> Change-Id: I79c5558c93c1b99179f1e933d029f69b14ad1ce3
> Reviewed-on: https://skia-review.googlesource.com/116724
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=robertphillips@google.com,brianosman@google.com,csmartdalton@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: skia:
Change-Id: Iba289e00ba2eca7084dc8517491cfb5f6ab6266f
Reviewed-on: https://skia-review.googlesource.com/117420
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-03-30 17:03:16 +00:00
Mike Klein
7a002c36ce Revert "allow timing in release-with-assert builds"
This reverts commit 97708e59ce.

Reason for revert: pain in the butt

Original change's description:
> allow timing in release-with-assert builds
> 
> Change-Id: Ia85811bc113f951f3d7791371a5f97b49d156f70
> Reviewed-on: https://skia-review.googlesource.com/117368
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>

TBR=mtklein@chromium.org,brianosman@google.com

Change-Id: I4282f5e887c7ec3198adde11a7300552644d22de
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/117441
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-03-30 16:22:17 +00:00
angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
59a4157507 Roll skia/third_party/externals/angle2/ b1de5a7e6..b33972d4a (1 commit)
b1de5a7e63..b33972d4a4

$ git log b1de5a7e6..b33972d4a --date=short --no-merges --format='%ad %ae %s'
2018-03-30 thakis Fix MSan report in HandleAllocatorTest.Reallocation

Created with:
  roll-dep skia/third_party/externals/angle2


The AutoRoll server is located here: https://angle-skia-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE
TBR=mtklein@google.com

Change-Id: I50e5c64453d49601207c20a89eed55066396609b
Reviewed-on: https://skia-review.googlesource.com/117403
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-03-30 16:18:46 +00:00