Commit Graph

42417 Commits

Author SHA1 Message Date
Mike Klein
613ad38b10 add basic JIT using xbyak
Long term we'll need to spin up our own codegen rather than using xbyak,
since it uses exceptions and does not support ARM.

I really don't like how I've hacked in the caching of the JITted
program, but that'll change anyway when switching away from xbyak.

Performance looks good, better than (lowp) SkRasterPipeline
but not quite as good as hand-tuned code:

  Opts:     0.2 ns/px
  RP:       0.7
  F32:      0.8
  I32:      0.6
  I32_SWAR: 0.5

ninja -C out dm nanobench && out/dm -m SkVM && gobjdump -D -b binary -mi386:x86-64 /tmp/code.bin --insn-width=10

Change-Id: I34ce46e1d3fe5aa75f42709049a92ac79bf48bbd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219341
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-11 18:40:39 +00:00
Herb Derby
cc5dc01824 Make fForceBW private.
It is only used by SkScalerContext_DW to communicate with itself.

Change-Id: I2926a31e285368d1825b13e4ec1d597c6ddc7fe1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220257
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-11 18:26:09 +00:00
Jim Van Verth
19e8a7185d Fix ASAN issue with CreateTestingOnlyMtlTextureInfo
Bug: skia:8243
Change-Id: I33ae473a201ed69cbca726556a501c418749ac68
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220256
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-06-11 18:14:59 +00:00
Brian Salomon
df586b7d56 Use float literal with std::fill of floats
Change-Id: Ie96b3d0cb7e9f8d9070c25c90a41641ae3114ec8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220236
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-11 17:57:39 +00:00
Jim Van Verth
3e5b01746c Don't use MSAA config if can't resolve
Bug: skia:8243
Change-Id: I538e7181ab9922bbabb06e4acde1d560f2502de1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220216
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-06-11 17:48:31 +00:00
Julia Lavrova
a3552c5e6d Reland "SkParagraph"
This is a reland of 10ad0b9b01

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>

Change-Id: I46cf43eae693edf68e45345acd0eb39e04e02bfc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219863
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2019-06-11 17:20:36 +00:00
Brian Osman
2d170c35d4 Remove all NexusPlayer bots and driver workarounds
This device is very old and very unsupported. It doesn't officially come
with a browser (Chrome needs to be sideloaded).

Bug: skia:6531 skia:6670 skia:7286 skia:7921
Change-Id: I720cd3a40981694bf7befa5cafc700717dcd7cdf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219486
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-11 17:05:23 +00:00
Ravi Mistry
5fc8912087 Add bin/try-clients to trigger client tryjobs
Will trigger the following:
  skia.primary:
    Build-Debian9-Clang-arm-Release-Flutter_Android
    Build-Debian9-Clang-cf_x86_phone-eng-Android_Framework
    Build-Debian9-Clang-host-sdk-Android_Framework
    Build-Debian9-Clang-TAP-Presubmit-G3_Framework
  luci.chromium.try:
    mac_chromium_compile_dbg_ng

Bug: skia:9154
Change-Id: I88a21865777f7da52e8333920ad9d10da5e788ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219482
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-06-11 16:55:53 +00:00
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