Commit Graph

42309 Commits

Author SHA1 Message Date
Ethan Nicholas
53bd4c5d4e fixed an skslc crash with uninitialized globals
Bug: oss-fuzz:14372
Change-Id: I9445a36a7d7b04ba63f1e5c9b1d1bd270708a7c0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219481
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-06-11 16:35:03 +00:00
Ethan Nicholas
d188c18835 fixed SkSL handling of negated literal vectors
Bug: oss-fuzz:14409
Change-Id: I837083139489d46f7db2f697ce85a0cabf85fb94
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219997
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-06-11 16:34:04 +00:00
Jim Van Verth
6488077ea3 Support more YUV texture formats for Metal
Bug: skia:8243
Change-Id: Ie8b562f4e8ec6efeff1be7d7e0f3ff89ab3e99a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219487
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-06-11 16:20:53 +00:00
Brian Salomon
024bd0058b Initial implementation of SkSurface::asyncRescaleAndReadPixelsYUV420.
Rescales a pixel rectangle from a SkSurface and then converts to YUV
planes. Currently only implemented on GPU.

Supports the same rescaling options as asyncRescaleAndReadPixels. The
RGB->YUV conversion is specified by a SkYUVColorSpace.

Y, U, and V are always separate planes. The U and V planes are
subsampled in X and Y by a factor of 2.

Currently fails if either the width or height of the rectangle is
not even.

Bug: skia:8962
Change-Id: I33237849a9ccf9b66cab13dc56785496f4ce556a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217123
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-06-11 16:04:03 +00:00
Herb Derby
2bafb64ed3 Revert "try resolver pattern"
This reverts commit a716809d5a.

Reason for revert: breaks google3

Original change's description:
> try resolver pattern
> 
> Change-Id: I32c5dbf4cacce9112df42a6f29800859625dc4a9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218965
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
> Auto-Submit: Mike Reed <reed@google.com>

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

Change-Id: Ib6facd0fda07762ed394b7b2c84771d7a93edae0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219488
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-11 16:01:14 +00:00
Robert Phillips
3d4cac52f2 Remove IO refs from GrSurfaceProxy only
This CL leaves the Ganesh world in a very odd place. In particular it still:
  has pendingIO refs on GrSurfaces
  forwards the proxy refs on to the backing GrSurface

Removing everything at once only ends in a mess thus, this goofball CL.

Change-Id: If112ff311bcef2e8d65a36c3b53b0ded4041c24e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/210040
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-11 15:39:33 +00:00
Brian Osman
5f5680c7d5 Enable gl_FragCoord workaround on NexusPlayer, and re-enable analytic clipping
The analytic clip override was added to work around a fragCoord bug,
before we had the sk_FragCoord workaround. Now that we do, we can enable
that instead. This lets us remove the only use of fMaxClipAnalyticFPs.

Bug: skia:7286
Change-Id: If043bd939fd21088c145536b3133c7090e0984b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218538
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-11 14:49:23 +00:00
Heather Miller
1f0a37ac57 fix up relative links and spacing
No-Try: true
Docs-Preview: https://skia.org/?cl=218975
Bug: skia:8365
Change-Id: I290c3185d60c8e8114adda6945e5184232be78aa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218975
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
Auto-Submit: Heather Miller <hcm@google.com>
2019-06-11 14:29:38 +00:00
Jim Van Verth
c159f946bd Minor cleanups to GrMtlGpuRTCommandBuffer
Bug: skia:8243
Change-Id: I80ed04f7bfbcf20549de30822245d8fe2832a810
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219996
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-06-11 14:07:58 +00:00
Florin Malita
920f6a9bdb [skottie] Animated text tracking support
Add logic to adjust glyph positions based on animated tracking properties.

This adjustment is applied post-shaping (it doesn't observe the text box),
and requires line re-alignment - thus it is being processed per-line.

Change-Id: Id44a295032a48c7216f126cb02dd2d2d5cc18ae3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220076
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-06-11 13:41:28 +00:00
Jim Van Verth
d6199ec723 Use new retain() method to set up window context.
This makes our usage of sk_cf_obj consistent with Chrome.

Bug: skia:8243
Change-Id: I159339577a0e8595e7cdd47ffb9ab0653269e108
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218973
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-06-11 13:08:58 +00:00
Ethan Nicholas
6d71f49e25 fixed a spot where skslc would crash instead of report a parse error
Bug: oss-fuzz:14355
Change-Id: Iff70351a983a0d3451b8609507e55ecc6aec0c2f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220001
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-06-11 13:05:28 +00:00
Mike Reed
a716809d5a try resolver pattern
Change-Id: I32c5dbf4cacce9112df42a6f29800859625dc4a9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218965
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-06-11 12:35:38 +00:00
skia-autoroll
bba5aa761c Roll third_party/externals/angle2 2d0a9acb0551..1b5ad312c57a (3 commits)
2d0a9acb05..1b5ad312c5


git log 2d0a9acb0551..1b5ad312c57a --date=short --no-merges --format='%ad %ae %s'
2019-06-11 thakis@chromium.org Omit "de_DE.ISO-8859-15@euro" from ShCompileTest.DecimalSepLocale on Windows.
2019-06-10 ynovikov@chromium.org Revert "Temporarily disable creating D3D debug device."
2019-06-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src d3692c701b12..9866ad9195ce (4 commits)


Created with:
  gclient setdep -r third_party/externals/angle2@1b5ad312c57a

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

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: I77583405a179c438ec0592f234889168e4c05a3b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220022
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-11 05:54:38 +00:00
skia-autoroll
3bb9796b28 Roll ../src 37e3060c53b6..3032e0d81bfa (346 commits)
37e3060c53..3032e0d81b


Created with:
  gclient setdep -r ../src@3032e0d81b

The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-skia-autoroll

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-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=herb@google.com

Change-Id: Ic5f7060f2d77fb32fe5860184dddb2b068f328c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220023
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-11 05:00:38 +00:00
skia-autoroll
61098757cd Roll third_party/externals/swiftshader f60a2d59c9f2..0a9f0179ddef (9 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f60a2d59c9f2..0a9f0179ddef


git log f60a2d59c9f2..0a9f0179ddef --date=short --no-merges --format='%ad %ae %s'
2019-06-10 bclayton@google.com Regres: Include all failing vk-master tests in the CI runs.
2019-06-10 bclayton@google.com ComputeProgram: Remove data field to fix race.
2019-06-10 hliatis@google.com Add usage flags for old gralloc
2019-06-10 hliatis@google.com Implement vkGetPhysicalDeviceXlibPresentationSupportKHR
2019-06-10 chrisforbes@google.com Implement input coverage mask
2019-06-10 sugoi@google.com CommandBuffer and NonDispatchable objects code cleanup
2019-06-10 swiftshader.regress@gmail.com Regres: Update test lists @ 83818b44
2019-06-10 chrisforbes@google.com Update master testlists
2019-06-10 bclayton@google.com tasks.json: Switch to using ninja for builds.


Created with:
  gclient setdep -r third_party/externals/swiftshader@0a9f0179ddef

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

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-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=herb@google.com

Change-Id: Ied2a105cdb6835a050c95dd03b86e83521ec07a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220021
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-11 04:33:58 +00:00
recipe-roller
77cb2ca3c9 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/70e8dab65eab3ffc4cadd379da4325fad0c05147 [buildbucket] Add buildbucket host consts (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I6056aa6071b92783088cc41e2ba6b5a7df8702c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220056
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-06-11 01:38:35 +00:00
Robert Phillips
bb74990a11 Add P016 and P010 examples to wacky_yuv_formats GM
These formats are for HDR YUV.

This CL also adds partial support for Y416 but, without Ganesh support for RGBA_16161616, it can't be displayed.

Change-Id: I4218a104f2935d1395ee6c7c6792105092e1eeb3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214220
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-10 22:04:14 +00:00
Ethan Nicholas
4cf5fd9945 SkSL vector divide by zero now properly reports an error
Bug: oss-fuzz:14025
Change-Id: I45992c1953e054ce18c8e692273d44dc98f49fd8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220000
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-06-10 21:00:41 +00:00
recipe-roller
7206e38ff1 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/beda2a13041e5eea1c327b92f928a2eac9118eeb Fixed checking of instanceof str or unicode. (karenqian@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I6bfa812154db27fbaa267426753a9a0d8ae51f54
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220016
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-06-10 20:22:31 +00:00
Robert Phillips
cb1adb40d0 Add srcData version of createBackendTexture API
Change-Id: I9679774d69e087a4ceb24de78e98585382bf8593
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218553
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-06-10 19:39:33 +00:00
Jim Van Verth
8429422986 Change GrCFResource to sk_cf_obj and move to include/ports.
This makes GrCFResource a template class with similar semantics to sk_sp.

Change-Id: I9ae9988dac6b39477b16d65591ef6fff44903c36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218376
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2019-06-10 18:44:28 +00:00
Mike Reed
40d9c5162f Fix font creation lost style on Mac
On Mac 10.11, when creating a font from its name and style by using a
font descriptor, sometimes the created font lost the style. To work
around this problem, we check the font style after the creation, if
it is not correct, we will resort to font creation with symbolic traits
which creates the correct font.

BUG=skia:8447
BUG=874103

Change-Id: I8b57e5a81d0d19d9fb0a7bd2951de75f2c41e236
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/172200
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-06-10 18:40:28 +00:00
Hal Canary
fc894d4c0e More classes no longer inherit from SkNoncopyable
Change-Id: Ifa862a4e7e79e8faa15dd89401c02145e7279160
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218185
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-06-10 18:15:18 +00:00
Florin Malita
e695e53f1c [skottie] Add support for range selector domains
Range selector's "Based On" property controls how range indices map
to glyphs: characters, characters-excluding-spaces, words, lines.

To support this feature:

  - update SkottieShaper to track domain-relevant info per fragment
    (fLineIndex, fIsWhitespace)

  - update TextAdapter to build domain maps
    (domain index -> fragment span)

  - update RangeSelector to run its range indices through a domain map,
    if present.

Change-Id: I80e713f6beaa2578aa0eae1d1ddae8e1e47d8d10
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219859
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-06-10 17:49:08 +00:00
Mike Klein
22ea7e994b add Builder::dump()
I used to have a dump of the value program before it was
translated to registers, but it went away a while ago.
This restores it.

Change-Id: I9b8bfcb124843cad4b0dc44bdf0a03e95a0c83d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219757
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-10 17:43:58 +00:00
Eric Boren
22b715f01e [infra] Add MSAN GPU (SwiftShader) bot
Bug: skia:9152
Change-Id: I3f1713a765854a56d709a48e510cbfbff4f191cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219522
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2019-06-10 17:39:38 +00:00
Mike Klein
0ea4cf97ac clarify behavior in SkTypeface::serialize() a little
I found it odd that we were mutating isLocalData,
which is pretty clearly an immutable fact.

Change-Id: If52ed6dddd094debe12488c7f437e61c040ad8d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219337
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-06-10 17:15:38 +00:00
Mike Klein
c66373d897 tweak mul/mad_unorm8
Using the approximation (x*y+x)/256 is slightly
faster than (x*y+255)/256 while still maintaining
the property that it's never off by more than a bit.

In the interpreter this saves ~0.1 ns/px when used,
and is also nice for JITting because it doesn't need
any constant registers.

(x*y+y)/256 works just as well, of course.

Change-Id: Ic946e26f0d22c602dfa7e8fa0d64bf87db5505ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219917
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-10 16:35:07 +00:00
Robert Phillips
d1d869d96e Make GL & Vk backends create uninitialized backend textures
We want the non-color, non-pixel-data version of createBackendTexture to truly create uninitialized textures.

Change-Id: I08867508ea181b7ba3685638cc7a3ea11d527a24
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218396
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-06-10 16:27:07 +00:00
Julia Lavrova
5ec1b8ff3f Adding skparagraphto public.bzl
Change-Id: Ia86963f743fc63a25b413344839f7e58e703b728
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219861
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-10 15:48:14 +00:00
recipe-roller
f30e75e73d 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/26e62df9518bb9a243111ced132ecf6b17510a75 [bb] Roll to d0bb723b (nodir@google.com)
recipe_engine:
  https://crrev.com/4629cdf6803b6ba978f97f6f1ee7b65b37f33acf cq: remove .deps attribute from CLs passed to recipe. (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I74cd79288e53db550e6f83f1532b2efdd1d28ce4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219916
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-06-10 15:36:23 +00:00
Stephen White
9b7f1430d7 GrTessellator: fix for intersections returning non-finite points.
If the line/line intersection code returns Inf, it can easily turn into
a NaN in subsequent operations, which leads to an assert or hang.

The fix is to ignore intersections which are non-finite.

Bug: 969359
Change-Id: I9e9a5ce5d617aa75b91215a5bbae91ce6f234b7b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219696
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-06-10 15:30:08 +00:00
Ethan Nicholas
4e3b0119cd tighten up SkSL parser depth testing
Bug: skia:
Change-Id: I459748b92a62da7b09a57a4b719d787bac897ebd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219617
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-06-10 15:20:59 +00:00
Mike Klein
a630732c36 revise extract instruction
Convert extract(x,bits,z) to be (x >> bits) & z,
now a more explicit parallel to pack().

This lets us eliminate the funky bit counting required from the old
instruction, but more saliently it makes it more likely that the masks
we AND with will be the same value.

Ultimately down at the x86 or ARM ISA level, the AND instructions don't
really benefit from having an immediate argument (while the shifts do).
We might as well treat the mask as a normal value, letting it get
commoned with identical values, loop hoisted, etc.

Change-Id: I48a38468b46f2c730574c025f412262296472447
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219597
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-10 15:08:19 +00:00
Ethan Nicholas
feba68a078 skslc now errors on out-of-range shifts
Bug: oss-fuzz:14043
Change-Id: Iac068faf311f418200ec7049ce67f06e2b8c812d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219860
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-06-10 15:03:15 +00:00
skia-autoroll
de24185f35 Roll third_party/externals/angle2 ea49f6f5d4e3..2d0a9acb0551 (7 commits)
ea49f6f5d4..2d0a9acb05


git log ea49f6f5d4e3..2d0a9acb0551 --date=short --no-merges --format='%ad %ae %s'
2019-06-08 Tom.Tan@microsoft.com Initialize STACKFRAME64 for ARM64
2019-06-07 dongja@google.com DEBUG: Log all debug messages to console
2019-06-07 timvp@google.com Vulkan: Implement ES 3.0 rasterizer discard
2019-06-07 tobine@google.com For WebGL warn on late extension directive
2019-06-07 syoussefi@chromium.org Disable Linux stack traces on CFI builds
2019-06-07 syoussefi@chromium.org Vulkan: implement glSampleCoverage
2019-06-07 syoussefi@chromium.org Vulkan: implement ES3 blit


Created with:
  gclient setdep -r third_party/externals/angle2@2d0a9acb0551

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

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: Iac613843b7b4103b9905a5d329d35d9891812884
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219797
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-10 15:03:14 +00:00
Florin Malita
07e103fce8 [skottie] Range selector cleanup pass
Generalize the partial coverage logic to handle all three cases (left
edge, right edge, both edges), and remove the single-index
branch.

Also add some docs.

TBR=bungeman
Change-Id: I90af708f053d6d3eff154fc1309a5c1269a7eaed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219518
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-06-10 14:58:10 +00:00
skia-autoroll
2a484efd8c Roll third_party/externals/swiftshader c2c829bc9a63..f60a2d59c9f2 (3 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/c2c829bc9a63..f60a2d59c9f2


git log c2c829bc9a63..f60a2d59c9f2 --date=short --no-merges --format='%ad %ae %s'
2019-06-07 sugoi@google.com Removed some dependencies on old threading class
2019-06-07 sugoi@google.com Replace sw::Resource with sw::WaitGroup
2019-06-07 swiftshader.regress@gmail.com Regres: Update test lists @ c2c829bc


Created with:
  gclient setdep -r third_party/externals/swiftshader@f60a2d59c9f2

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

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-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=herb@google.com

Change-Id: Ib9a758e4e90b7b6453c01333e3a581b797e142e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219796
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-10 14:58:09 +00:00
recipe-roller
c357509e8d 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/0563a8832214e4e7243f854341200142c186c446 Change swarming module to include user. (karenqian@google.com)
  https://crrev.com/a823eb259ca185dd70efbf8abd89e8e785da636b Remove RETURN_SCHEMA (martiniss@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I521b238ec9fe5a95fd46c08aed39c07d54c9695a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219596
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-06-10 14:53:09 +00:00
skia-autoroll
d1d9f51b0e Roll ../src 6406ce90edf0..37e3060c53b6 (508 commits)
6406ce90ed..37e3060c53


Created with:
  gclient setdep -r ../src@37e3060c53

The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-skia-autoroll

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-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=herb@google.com

Change-Id: Ia00cbeba30d0acbe318f985e728cda0b775683b7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219798
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-10 14:53:08 +00:00
Herb Derby
07cd38dc13 Revert "SkParagraph"
This reverts commit 10ad0b9b01.

Reason for revert: Breaks google3 build

Original change's description:
> SkParagraph
> 
> Change-Id: I0a4be75fd0c18021c201bcc1edfdfad8556edeff
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/192100
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>

TBR=borenet@google.com,djsollen@google.com,halcanary@google.com,bungeman@google.com,kjlubick@google.com,reed@google.com,drott@chromium.org,jlavrova@google.com

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

Change-Id: I3f4ef2f34b7489d008c2fe92527d39fba0e16ff7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219858
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-10 13:16:53 +00:00
Herb Derby
7a1bf99935 Revert "Build fix"
This reverts commit 14c8ca93db.

Reason for revert: This and original cl are breaking google3

Original change's description:
> Build fix
> 
> Change-Id: Ifd64425e6c8bc1a51b4617f043b828acafeb4368
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218966
> Commit-Queue: Julia Lavrova <jlavrova@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

TBR=bungeman@google.com,jlavrova@google.com

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

Change-Id: I655f1da3d9c08994c210fff3ee9310288a248895
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219856
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-10 13:03:07 +00:00
Herb Derby
607c6d9c86 Revert "Try to fix include problems for skparagraph"
This reverts commit cc82972af1.

Reason for revert: Part of the chain of cls breaking Google3

Original change's description:
> Try to fix include problems for skparagraph
> 
> Change-Id: Id98790de9364093dbcd6948c00c192ad0bb01882
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219573
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

TBR=herb@google.com,jlavrova@google.com

Change-Id: Ib2000566a9764dab2dd46f0a4ed0877be1b7f1d5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219857
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-10 12:44:44 +00:00
Herbert Derby
cc82972af1 Try to fix include problems for skparagraph
Change-Id: Id98790de9364093dbcd6948c00c192ad0bb01882
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219573
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-09 22:00:04 +00:00
Herb Derby
9577f01ba0 Revert "Add FontCollection.h to gni"
This reverts commit 9e1e8caff3.

Reason for revert: ooops it was in includes

Original change's description:
> Add FontCollection.h to gni
> 
> Change-Id: I0e720d6cf023303328fd68ce70e09a81e61088f2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219697
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Herb Derby <herb@google.com>

TBR=herb@google.com,jlavrova@google.com

Change-Id: I4c2c08765ed3502323af028fe0aeb57472db7de0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219756
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-09 13:59:48 +00:00
Herbert Derby
9e1e8caff3 Add FontCollection.h to gni
Change-Id: I0e720d6cf023303328fd68ce70e09a81e61088f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219697
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-06-09 13:24:20 +00:00
Ben Wagner
53ae936b84 Make rasterallocator test a bit better.
This cleans up some of the names to make it easier to understand.
Unfortunately, this also disables the 'common' code since it has issues
with pic-8888 and serialize-8888 configs.

Change-Id: I059d7594c357ba588daeb29643d242f7f510ecc1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218968
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
2019-06-07 19:31:22 +00:00
Julia Lavrova
14c8ca93db Build fix
Change-Id: Ifd64425e6c8bc1a51b4617f043b828acafeb4368
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218966
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-06-07 18:48:22 +00:00
Brian Osman
8016441e20 Interpreter: Refactor interface and lifetime management
Interpreter is now just a namespace with Run and Disassemble. This hides
all of the implementation details. In addition, the interpreter only used
the Program because of a few details in FunctionDeclarations - scrape that
when constructing a ByteCodeFunction, and we don't need to keep the entire
Program alive, just the ByteCode. Adjust tests to ensure that this works.

Change-Id: I61efe4fe986476afedbd295d3d55b2a326fea4e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219521
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-07 18:47:22 +00:00