Commit Graph

34435 Commits

Author SHA1 Message Date
Mike Reed
9236b02264 Revert "Revert "implement SkScalar versions in terms of float versions""
This reverts commit 0e6db75eeb.

Bug: skia:
Change-Id: I015d01efc58dfe03dae6bcc57c4b1102276e7566
Reviewed-on: https://skia-review.googlesource.com/127967
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-05-14 18:20:29 +00:00
Eric Boren
9030b94c60 [recipes] Separate build and test flavors
Bug: skia:6473
Change-Id: If1d6e1f64ec53624e7b540abd9d8a61cc82c4e0a
Reviewed-on: https://skia-review.googlesource.com/125947
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2018-05-14 17:27:49 +00:00
Ben Wagner
297e86b43e [infra] Switch back to 16-core GCE VMs for Perf and Test.
This partially reverts
https://skia-review.googlesource.com/c/skia/+/124340

Bug: skia:7415, skia:7416
Change-Id: I2a838ff3c543ded54e962e905294811fbc97ef88
Reviewed-on: https://skia-review.googlesource.com/127965
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-05-14 17:14:19 +00:00
Ben Wagner
8f2b7fa617 Correctly handle empty outer blurs.
Most blur styles approach the original mask as the sigma goes to zero.
The outer style however approaches nothing as the mask sigma goes to
zero. Handle this case correctly.

Change-Id: I14f76e144d7cfc78aeaff30ff5444a21f1e5f98b
Reviewed-on: https://skia-review.googlesource.com/128006
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-05-14 16:59:29 +00:00
Mike Reed
0e6db75eeb Revert "implement SkScalar versions in terms of float versions"
This reverts commit 4c3cb3767f.

Reason for revert: investigate asan failures

Original change's description:
> implement SkScalar versions in terms of float versions
> 
> Bug: skia:
> Change-Id: I44ce228290f7fda5b7e3553c8543dcf581b1ca3b
> Reviewed-on: https://skia-review.googlesource.com/127128
> Reviewed-by: Cary Clark <caryclark@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=caryclark@google.com,reed@google.com

Change-Id: Ic790b15130a67f46a0a99fdf991c5c08d682be5e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/128060
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-05-14 16:05:20 +00:00
Jim Van Verth
8c2de8f76b Merge duplicate umbra points in spot shadow.
When we search for the closest umbra point at the end of the shadow
creation process, we often find the umbra point we first added.
Previously we would add this point again and patch up the result.
This is causing issues with fixing the falloff, so this code handles
this case better by reusing the original entry in fPositions.

Bug: skia:6717
Change-Id: Ic44396f9430ecca8c67f06a6ffb37aae5a38c93b
Reviewed-on: https://skia-review.googlesource.com/127964
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-05-14 15:53:49 +00:00
angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
16ffdd4ede Roll third_party/externals/angle2/ 66aafcb46..5d2ccc534 (1 commit)
66aafcb464..5d2ccc534d

$ git log 66aafcb46..5d2ccc534 --date=short --no-merges --format='%ad %ae %s'
2018-05-14 hans Use DefWindowProcA for window created with CreateWindowExA

Created with:
  roll-dep 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:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=herb@google.com

Change-Id: Ida170b47ce098088bef12af3b0ff8e4bc00e8520
Reviewed-on: https://skia-review.googlesource.com/127983
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-05-14 15:26:19 +00:00
Ben Wagner
d81097e45d Don't set luminance color if not used in MakeRecAndEffects.
Luminanace values should only be set if the luminance value will be used.

This also moves the rest of SkScalerContext into SkScalerContext.cpp.
Change-Id: I339ac5e6437cc7ee0d3aba81a1c1a77f5cb0b20b
Reviewed-on: https://skia-review.googlesource.com/127742
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-05-14 15:14:29 +00:00
Mike Reed
4c3cb3767f implement SkScalar versions in terms of float versions
Bug: skia:
Change-Id: I44ce228290f7fda5b7e3553c8543dcf581b1ca3b
Reviewed-on: https://skia-review.googlesource.com/127128
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-05-14 14:17:59 +00:00
swiftshader-skia-autoroll
31ed9ebf98 Roll third_party/externals/swiftshader/ 5fd1cfaae..2a0def7f6 (1 commit)
https://swiftshader.googlesource.com/SwiftShader/+log/5fd1cfaaeaa4..2a0def7f6f20

$ git log 5fd1cfaae..2a0def7f6 --date=short --no-merges --format='%ad %ae %s'
2018-05-14 sugoi Revert part of "Fix Linux build." to fix swiftshader_unittests

Created with:
  roll-dep third_party/externals/swiftshader


The AutoRoll server is located here: https://swiftshader-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:Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-SwiftShader
TBR=herb@google.com

Change-Id: I5760e15632bbb4037b92d70b1613b4a562575e2e
Reviewed-on: https://skia-review.googlesource.com/127981
Commit-Queue: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-05-14 12:54:29 +00:00
Robert Phillips
5140f9a8e4 Minor refactoring to image filters
This pulls the boring parts out of: https://skia-review.googlesource.com/c/skia/+/127338 (Fix srcBounds computation in SkMatrixConvolutionImageFilter)

TBR=bsalomon@google.com
Change-Id: Iade788fcc96c4c16989d13e7592030a6a1d3f170
Reviewed-on: https://skia-review.googlesource.com/127573
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-05-14 12:01:59 +00:00
Mike Reed
b06a1eb4e5 detect overflow for morphology
Bug: oss-fuzz:8236
Change-Id: Iae911d995cbfed77c5d332f615da1a8d9b487c21
Reviewed-on: https://skia-review.googlesource.com/127703
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-05-13 18:05:16 +00:00
angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
ec48812c5a Roll third_party/externals/angle2/ 18e323ab2..66aafcb46 (1 commit)
18e323ab2c..66aafcb464

$ git log 18e323ab2..66aafcb46 --date=short --no-merges --format='%ad %ae %s'
2018-05-12 fjhenigman Revert "GLES1: Renderer (minimal)"

Created with:
  roll-dep 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:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=egdaniel@google.com

Change-Id: Ie6d767fa4eee8d2e61c51f3f188ebb5cbec3ea3c
Reviewed-on: https://skia-review.googlesource.com/127780
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-05-12 22:43:25 +00:00
angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
96b0b46f23 Roll third_party/externals/angle2/ a69099212..18e323ab2 (3 commits)
a69099212f..18e323ab2c

$ git log a69099212..18e323ab2 --date=short --no-merges --format='%ad %ae %s'
2018-05-11 jmadill D3D11: Fix out-of-range access with robust access.
2018-05-10 geofflang GL: Refactor ShaderGL to not hold renderer objects.
2018-05-11 geofflang Request EGL_DONT_CARE version instead of 0 on GL NULL configs.

Created with:
  roll-dep 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:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=egdaniel@google.com

Change-Id: I845de483cea05cdaf6d4ebe31cc1ee2da10d9f77
Reviewed-on: https://skia-review.googlesource.com/127683
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-05-12 05:58:47 +00:00
Mike Reed
3202ac4d24 Revert "Revert "reject large paths to avoid potential float overflows""
This reverts commit b8f0709aac.

Attempted fix: update the iData before we return.

Bug: oss-fuzz:8131

Change-Id: If60b8b45df4dcb1deecc18f58cb09644aaa3231d
Reviewed-on: https://skia-review.googlesource.com/127501
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-05-11 21:49:17 +00:00
swiftshader-skia-autoroll
e6bbae787d Roll third_party/externals/swiftshader/ 0641aebe3..5fd1cfaae (1 commit)
https://swiftshader.googlesource.com/SwiftShader/+log/0641aebe3155..5fd1cfaaeaa4

$ git log 0641aebe3..5fd1cfaae --date=short --no-merges --format='%ad %ae %s'
2018-05-11 sugoi Pitch fix for IO surfaces

Created with:
  roll-dep third_party/externals/swiftshader


The AutoRoll server is located here: https://swiftshader-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:Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-SwiftShader
TBR=egdaniel@google.com

Change-Id: I70b68da8145d97ccbfa79834215b1560d2066c74
Reviewed-on: https://skia-review.googlesource.com/127576
Reviewed-by: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-05-11 21:02:47 +00:00
Ben Wagner
9b161a9f24 Don't limit glyph mask format for path effect.
This removes code which sets the mask format of a scaler context to a8
in the presence of a path effect. This is overly limiting as both a1 and
lcd16 are supported.

Change-Id: I2a9ae88eac6a80ba1307dbac3d903041a9a93bf2
Reviewed-on: https://skia-review.googlesource.com/127398
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-05-11 20:54:47 +00:00
angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
67f98b9015 Roll third_party/externals/angle2/ 8073a9511..a69099212 (5 commits)
8073a9511a..a69099212f

$ git log 8073a9511..a69099212 --date=short --no-merges --format='%ad %ae %s'
2018-04-23 lfy GLES1: Renderer (minimal)
2018-05-09 ynovikov Update dEQP GLES2 expectations for Android Vulkan backend
2018-05-04 lucferron Vulkan: Incomplete textures support
2018-05-10 geofflang Pass a gl::Context to ShaderImpl methods.
2018-05-07 geofflang GL: Refactor TextureGL to not hold renderer objects.

Created with:
  roll-dep 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:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=egdaniel@google.com

Change-Id: Ie09a3748b4199e300f55e904982fb5a6d83b75ff
Reviewed-on: https://skia-review.googlesource.com/127575
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-05-11 20:37:47 +00:00
recipe-roller
06ba3fe323 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/d1de725e0b53f5f0bb331471e5673aee0e72a5b7 gclient: Prevent unprocessed deps from overriding processed ones in sync output. (jbudorick@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I42e385692bad3eece39dc1217c9e01f28e4ee5ab
Reviewed-on: https://skia-review.googlesource.com/127620
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2018-05-11 20:25:47 +00:00
Ethan Nicholas
811b944a89 fixed incorrect index in SPIR-V matrix construction
Bug: skia:7908
Change-Id: I990e5f6e84afdc81d340f433d93a9061b9dd67ef
Reviewed-on: https://skia-review.googlesource.com/127397
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2018-05-11 17:56:47 +00:00
Brian Salomon
79bf7ac3f4 Include SkUnPremultiply.h in GrContext.h to fix Android compile
Change-Id: Iab23ebbc0e3c639d4f0589ab3e8ae458b85b3298
Reviewed-on: https://skia-review.googlesource.com/127396
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
2018-05-11 17:43:57 +00:00
Hal Canary
8259114440 SkPDF: scale entire canvas for non-standard rasterDpi
TODO: add better testing around this.

BUG: chromium:481429

Change-Id: I1296fae3fc9775febf17bba75722c30f48d67a95
Reviewed-on: https://skia-review.googlesource.com/127051
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-05-11 17:36:57 +00:00
Ben Wagner
9bcfcb32de Roll clang for Windows to chromium's current.
This is mostly to pick up new warnings before chromium complains about
them.

Change-Id: I69a0c3da63398f98d3f45b0993ed3325c0edae27
Reviewed-on: https://skia-review.googlesource.com/127395
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-05-11 17:34:27 +00:00
Mike Reed
b8f0709aac Revert "reject large paths to avoid potential float overflows"
This reverts commit b35002d323.

Reason for revert: crashing in threadedraster, may need to clean up the initonce payload if I early exit

Original change's description:
> reject large paths to avoid potential float overflows
> 
> I think this change can catch a host of potential fuzzer issues up-front,
> rather than adding finite tests in lots and lots of places down-stream.
> 
> Bug: oss-fuzz:8131
> Change-Id: I421aa72c6ca3df57b40dd32b805d6c847d8e8d29
> Reviewed-on: https://skia-review.googlesource.com/127388
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=mtklein@google.com,jvanverth@google.com,bsalomon@google.com,caryclark@google.com,csmartdalton@google.com,fmalita@chromium.org,liyuqian@google.com,reed@google.com

Change-Id: I12ff8664113ba5a36ee91cbe2000d7d445d4bc7e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: oss-fuzz:8131
Reviewed-on: https://skia-review.googlesource.com/127580
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-05-11 17:19:37 +00:00
Ben Wagner
1b17adb0f8 Avoid possible memory leak with inner blurs.
If the inner blur dst is too big, SkBlurMask::BoxBlur can return without
freeing the intermediate blur mask. Fix this by using SkAutoMaskFreeImage.

Use SkAutoMaskFreeImage instead of custom SkAutoTCallVProc in
SkBlurMask::BlurGroundTruth.

Make SkAutoMaskFreeImage a special kind of std::unique_ptr.

Change-Id: I93dc54265416ca69254633b00f14be75009d990f
Reviewed-on: https://skia-review.googlesource.com/127402
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-05-11 17:12:57 +00:00
Mike Reed
b35002d323 reject large paths to avoid potential float overflows
I think this change can catch a host of potential fuzzer issues up-front,
rather than adding finite tests in lots and lots of places down-stream.

Bug: oss-fuzz:8131
Change-Id: I421aa72c6ca3df57b40dd32b805d6c847d8e8d29
Reviewed-on: https://skia-review.googlesource.com/127388
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-05-11 16:47:27 +00:00
Brian Salomon
103d6f616b Define ~GrContextThreadSafeProxy in GrContext.cpp
Otherwise GrCaps.h may be required in GrContext.h

Change-Id: I67b2116b3bad2e7ebbb2157375c48023d2964f5c
Reviewed-on: https://skia-review.googlesource.com/127394
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
2018-05-11 15:58:17 +00:00
Jim Van Verth
f507c28f3a Shadow fixes to avoid popping.
* Make geometric shadow generation more tolerant of nearly-convex paths.
* Ensure analytic and geometric shadow positions match with large blurs.

Bug: skia:
Change-Id: I8d3ba43b90d1520cb20f89de9f0b13d11a1a08c3
Reviewed-on: https://skia-review.googlesource.com/127045
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-05-11 15:39:57 +00:00
recipe-roller
8fc73ed17d Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/2ee036b744812ca2e9b30fae453ebe3e4dd83f5e api.py: Check if to_leak directory exists before deleting it (charliea@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I94cbbfcc274f47f609710c5526361012cc3b7786
Reviewed-on: https://skia-review.googlesource.com/127392
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2018-05-11 15:11:27 +00:00
Chris Dalton
cfc6613dbd ccpr: Bugfix for cropped paths
TBR=bsalomon@google.com

Bug: skia:7948
Change-Id: I606bbad95260995dd3ea43c858591ae2d5c9cea1
Reviewed-on: https://skia-review.googlesource.com/127354
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-05-11 14:56:47 +00:00
Brian Salomon
c7fe0f708c Make GrCaps and GrShaderCaps private.
Moves getCaps() from GrContext to GrContextPriv and removes unused refCaps().

Change-Id: Ic6a8951b656c0d1b2773eae73bff8e88af819866
Reviewed-on: https://skia-review.googlesource.com/127389
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-05-11 14:47:27 +00:00
angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
244f754cdd Roll third_party/externals/angle2/ 2fc0806f5..8073a9511 (1 commit)
2fc0806f55..8073a9511a

$ git log 2fc0806f5..8073a9511 --date=short --no-merges --format='%ad %ae %s'
2018-05-09 oetuaho Enable warning for non-virtual destructors

Created with:
  roll-dep 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:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=egdaniel@google.com

Change-Id: Ib1b341bd8e4bc583d00bf39c068e22630234ec1b
Reviewed-on: https://skia-review.googlesource.com/127540
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-05-11 11:15:46 +00:00
Florin Malita
0cc01b753a [skottie] Guard against asset cycles
Track assets being attached, and break cycles.

Bug: oss-fuzz:8220
Change-Id: I146cf35eba8cfea487c00544fe82f89c3a859803
Reviewed-on: https://skia-review.googlesource.com/127381
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-05-11 02:40:56 +00:00
recipe-roller
03e7f36ee9 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/e7273d25017a27aab7026bc0ef48fe9ab4e09f22 Reland "gclient: Get rid of parsed_url." (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I4aaefe70d029b40f62ecdf7624900227e3a498d2
Reviewed-on: https://skia-review.googlesource.com/127307
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2018-05-11 02:14:46 +00:00
angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
8c77a6a1be Roll third_party/externals/angle2/ 6110763fe..2fc0806f5 (2 commits)
6110763fec..2fc0806f55

$ git log 6110763fe..2fc0806f5 --date=short --no-merges --format='%ad %ae %s'
2018-05-10 jmadill Micro-optimize uniform updates.
2018-05-09 lucferron Vulkan: Fix use-after-free with DynamicBuffer.

Created with:
  roll-dep 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:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=egdaniel@google.com

Change-Id: Ia4ba958265a70ae9dd196428a860b83dd492717b
Reviewed-on: https://skia-review.googlesource.com/127385
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-05-11 01:58:26 +00:00
recipe-roller
6c6ea2dabf Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/3d894aa45e08b1d0d93483aa885df11e8156d93d bot_update: Fix manifest creation. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I015a27949f6212a96644755e840792a448b97b84
Reviewed-on: https://skia-review.googlesource.com/127382
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-05-10 23:23:16 +00:00
Ben Wagner
e3f1b59d9f Non-normal blur styles to work with non-a8.
BUG=skia:7941

Change-Id: I500561c2fec1bcab324fd9519f1d20d356afdfb5
Reviewed-on: https://skia-review.googlesource.com/127500
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2018-05-10 23:00:56 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
2128b4ac44 Roll skia/third_party/skcms 5b9549a..28e8b32 (1 commits)
https://skia.googlesource.com/skcms.git/+log/5b9549a..28e8b32

2018-05-10 mtklein@chromium.org alternate isfinitef_()


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.



CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
TBR=egdaniel@google.com

Change-Id: I7f97daac4d2caa153425e43ce6bd10cda400e91f
Reviewed-on: https://skia-review.googlesource.com/127443
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-05-10 22:47:26 +00:00
Florin Malita
5c560c90f7 Fix unchecked allocation in kImageFilter::Common::unflatten()
The bad news is we don't have a good way to validate the count against
the available data size.

The good news is we don't have to: most filters only use two inputs,
which will fit in the stack-reserved storage; for those who don't,
growing the input vector during deserialization should not be
problematic.

The CL drops the prea-allocation, and instead appends inputs iteratively.
Also switches the storage to SkSTArray for append/push_back() support.

Bug: oss-fuzz:8219
Change-Id: Ic6bf6e435e6e18b9e026aeb393612210c9e6e57a
Reviewed-on: https://skia-review.googlesource.com/127306
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2018-05-10 22:43:56 +00:00
Greg Daniel
e5f39624b6 Revert "Remove guard flag for SK_SUPPORT_LEGACY_BACKEND_OBJECTS on flutter."
This reverts commit 333031b921.

Reason for revert: Flutter roll into fuchsia got reverted so now this breaks fuchsia again....

Original change's description:
> Remove guard flag for SK_SUPPORT_LEGACY_BACKEND_OBJECTS on flutter.
> 
> Bug: skia:
> Change-Id: I2c8c116f825278cae4001d169aaef42ce9a21873
> Reviewed-on: https://skia-review.googlesource.com/125725
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

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

Change-Id: I78f3cfae9ba690a34372d2081e47ec793cda3392
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/127481
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-05-10 22:28:16 +00:00
Brian Osman
a0ca909142 Revert "Remove GrBackendObject and all related functions from Skia."
This reverts commit ccd4cfc23e.

Reason for revert: Fuchsia not building again. (Flutter roll may have been reverted?)

Original change's description:
> Remove GrBackendObject and all related functions from Skia.
> 
> Bug: skia:
> Change-Id: I59434b7477c0bc26fd982bd81eb97ab94bbba073
> Reviewed-on: https://skia-review.googlesource.com/125822
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com

Change-Id: Ie2c518b84b0c9513c0c622082de2831088b1ad8d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/127480
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-05-10 22:04:20 +00:00
Mike Klein
27fe397bc0 Revert "strip down SkICC.cpp"
This reverts commit eab50eb9c6
and this tiny bit of e61b969a07:

    https://skia-review.googlesource.com/c/skia/+/127122/3/tests/ICCTest.cpp

Change-Id: I4306e5118a4e5eb88c05078186a28bd443fd76f7
Reviewed-on: https://skia-review.googlesource.com/127305
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-05-10 21:44:56 +00:00
recipe-roller
959fc245a9 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/2191308678e40e04930727589e11b26405afa165 Revert "gclient: Get rid of parsed_url." (jbudorick@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I9cd80112f6de11d64c43304898de1f47efdc9a5f
Reviewed-on: https://skia-review.googlesource.com/127400
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2018-05-10 21:12:46 +00:00
recipe-roller
c153743d05 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/d3f2c8e7834616e48fbe7cef9286029361b043c5 win_toolchain: Add another source dir for dbghelp.dll when packaging the toolchain (kkinnunen@nvidia.com)
  https://crrev.com/e877b1776a14eb96a5fa201e160022b85df488fe gclient: Get rid of parsed_url. (ehmaldonado@chromium.org)
  https://crrev.com/31a8da265a86aa3fec97edd5606cb443f633e6d7 bot_update: Assert no syncing of refs/remotes/* (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I2981229dfec061e340bf75b3ad01fe63da4ebcb0
Reviewed-on: https://skia-review.googlesource.com/127339
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2018-05-10 20:08:56 +00:00
Brian Osman
1d686a962c Add SkColorSpace::toProfile
Now that A2B parsing is at least as strict as skcms_Parse, this can
never fail, so switch to void. Also use the new programmatic profile
helpers, which also ensures the data and profile space fields are set
correctly.

Bug: skia:
Change-Id: Ifc4d89a919ca178c484839bdf88dae8a162c3e4f
Reviewed-on: https://skia-review.googlesource.com/127336
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-05-10 19:14:26 +00:00
Brian Salomon
52aacd602f Add GrContextThreadSafeProxy and remove most friends of GrContextThreadSafeProxy
A step towards removing GrCaps from GrContext.h

Also adds operator== to GrContextThreadSafeProxy.

Change-Id: Ic0bae12299dfb0ac8817d9f1c56a1219d6df97d9
Reviewed-on: https://skia-review.googlesource.com/127329
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-05-10 19:14:16 +00:00
Mike Klein
ce4cf72e34 non-linear blending first steps
Code:
  - Add a non-linear blending bit and makeNonlinearBlending()
    to SkColorSpace
  - remove enough F16=linear checks to make it possible to
    create surfaces and encode pngs with nonlinear F16

Testing:
  - add "esrgb" software config to DM, run it
  - add "srgbnl" software config, run it
  - deemphasize importance of "srgb" config on bots
  - update unit tests to reflect relaxed F16 constraints
  - add a new unit test file with _really_ basic tests,
    and a new unit test that's not working yet

Bug: skia:7942

Change-Id: I8ac042bdf9f3d791765393b68fd9256375184d83
Reviewed-on: https://skia-review.googlesource.com/127325
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-05-10 18:26:22 +00:00
Greg Daniel
024615e975 Revert "Add driver bug workarounds to GrCaps"
This reverts commit 328490c6a1.

Reason for revert: Breaking compiles inside chrome

Original change's description:
> Add driver bug workarounds to GrCaps
> 
> This moves GrDriverBugWorkarounds to include so that it can be included
> by GrCaps.  This also makes GrContextOptions a nearly empty class in
> the case of !SK_SUPPORT_GPU so that non-gpu builds don't need to build
> in GrDriverBugWorkarounds.cpp.
> 
> Bug: chromium: 829614
> Change-Id: Iedf73677fd09e9a487cfe618a696fd4b25c8703d
> Reviewed-on: https://skia-review.googlesource.com/126581
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Adrienne Walker <enne@chromium.org>

TBR=bsalomon@google.com,enne@chromium.org

Change-Id: I3b35bf65a7b78d2fe16d7c2bcd0e4b3f9bb7fdff
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium: 829614
Reviewed-on: https://skia-review.googlesource.com/127303
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-05-10 17:30:00 +00:00
Greg Daniel
636d803322 Revert "Driver bug workaround: disable_blend_equation_advanced"
This reverts commit f31fece658.

Reason for revert: need to revert to revert original change breaking chrome compile

Original change's description:
> Driver bug workaround: disable_blend_equation_advanced
> 
> Bug: chromium: 829614
> Change-Id: If8eaec6d22412ec36aad8a143f84080be05f2926
> Reviewed-on: https://skia-review.googlesource.com/126748
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Adrienne Walker <enne@chromium.org>

TBR=bsalomon@google.com,enne@chromium.org

Change-Id: Ic870fbbad615d13569254c355ef6b8281332d60d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium: 829614
Reviewed-on: https://skia-review.googlesource.com/127301
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-05-10 17:25:26 +00:00
Greg Daniel
0b1e628835 Revert "Driver bug workaround: disable_discard_framebuffer"
This reverts commit 8aa0dca395.

Reason for revert: need to revert to revert original change breaking chrome compile

Original change's description:
> Driver bug workaround: disable_discard_framebuffer
> 
> Bug: chromium: 829614
> Change-Id: I285b39b31a370247518e3a0b56ac4ea54f38c0c0
> Reviewed-on: https://skia-review.googlesource.com/126749
> Commit-Queue: Adrienne Walker <enne@chromium.org>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Auto-Submit: Adrienne Walker <enne@chromium.org>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,enne@chromium.org

Change-Id: I563808025a8f77807478c0f0d42c3009c3b57ea5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium: 829614
Reviewed-on: https://skia-review.googlesource.com/127302
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-05-10 17:24:56 +00:00