Commit Graph

33834 Commits

Author SHA1 Message Date
Greg Daniel
8b09b96266 Drop draw in GrAAConvextPathRenderer if calculation of center of mass ends up in NaN
Bug: skia:7770
Change-Id: If27494f5df0b5d5ba037e1d21c06bff98019d2b0
Reviewed-on: https://skia-review.googlesource.com/118300
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-04-03 19:38:01 +00:00
Kevin Lubick
63bd23a8b1 Improve MSAN docs
No-Try: true
Docs-Preview: https://skia.org/?cl=118360
Bug: skia:
Change-Id: Ic6691bc0427dd0c5e9e50efd8d5bbdad8fd0012d
Reviewed-on: https://skia-review.googlesource.com/118360
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-04-03 19:31:40 +00:00
Ben Wagner
428ab73b21 Hardcode a font for lcd testing on MacOS.
Currently we try to get Helvetica or the default font and draw a pipe
and look to see if there is any non-gray. We should bring our own font
for this check, since sometimes the system font may not be accessible.

BUG=chromium:822218

Change-Id: I9c4988b0acbb5a59445a0ec7f3fade73678b973e
Reviewed-on: https://skia-review.googlesource.com/117862
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-04-03 19:27:00 +00:00
Mike Klein
a48caa5601 remove CC,CXX,CPPFLAGS from compile environment
I don't believe any of these have any effect now that all
builds are done through GN.  My best recollection is that
they used to affect GYP-based builds.

Change-Id: Ifde9f7c4d531dab43e8d407fc779d2ab6e38411c
Reviewed-on: https://skia-review.googlesource.com/118263
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
2018-04-03 19:25:31 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
f2da5b3aab Roll skia/third_party/externals/skcms/ 2fd9445b9..770177dc9 (1 commit)
https://skia.googlesource.com/skcms/+log/2fd9445b975b..770177dc9ddc

$ git log 2fd9445b9..770177dc9 --date=short --no-merges --format='%ad %ae %s'
2018-04-03 mtklein add vzeroupper to GCC builds

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: I3625d1c681a96440ded90d1702923967b7a69ae4
Reviewed-on: https://skia-review.googlesource.com/118214
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-03 18:58:50 +00:00
Greg Daniel
4eda8d9fb3 Check for divide by zero in fill_in_2D_gaussian_kernel
Same change as the 1D one, but now with more dimensions!!

Bug: skia:7769
Change-Id: I152031780ab71ba106d4fa65d52960ec4358274e
Reviewed-on: https://skia-review.googlesource.com/118262
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-04-03 18:51:40 +00:00
Brian Osman
e11382bde0 Remove legacy API support from Flutter
All uses of these APIs have been removed / updated.
This still can't land until all Flutter fixes:

  c092e1475a

have landed in Fuchsia:

  https://fuchsia.googlesource.com/topaz/+/master/manifest/flutter

Change-Id: I3d188e3594751617f3f232fe7323428c822d13e1
Reviewed-on: https://skia-review.googlesource.com/117780
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-04-03 18:26:20 +00:00
Greg Daniel
3aecc305e1 Check for divide by zero in fill_in_1D_gaussian_kernel
Bug: skia:7769
Change-Id: I56a67f8a6f19437359ad6e7bf2d57f6e9a7992c9
Reviewed-on: https://skia-review.googlesource.com/118240
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-04-03 18:25:51 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
d09b06a349 Roll skia/third_party/externals/skcms/ 6c4b7c42f..2fd9445b9 (1 commit)
https://skia.googlesource.com/skcms/+log/6c4b7c42f0c6..2fd9445b975b

$ git log 6c4b7c42f..2fd9445b9 --date=short --no-merges --format='%ad %ae %s'
2018-04-03 mtklein gather_48() regressed 32-bit ARM builds

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: I13cb1d68b9fe50a1f4ae9e16503e0db6170a7f01
Reviewed-on: https://skia-review.googlesource.com/118208
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-03 18:02:50 +00:00
angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
61a83cb4dd Roll skia/third_party/externals/angle2/ 30b604d8d..5d232d53b (1 commit)
30b604d8d1..5d232d53bb

$ git log 30b604d8d..5d232d53b --date=short --no-merges --format='%ad %ae %s'
2018-04-01 fjhenigman Fix conditions for updating element array buffer.

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=herb@google.com

Change-Id: I5489920334a7bdeeda83f622727f118af1c68305
Reviewed-on: https://skia-review.googlesource.com/118207
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-04-03 17:58:30 +00:00
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