Commit Graph

45175 Commits

Author SHA1 Message Date
Mike Klein
17e2714c9f skip _imm ops on ARM
These are really designed around x86, so forcing them
on ARM where our existing non-immediate ops work better
is kind of silly.

Change-Id: I6b66ed0b0a71b335becdcb1d67dec471620542b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254440
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-11-20 00:08:05 +00:00
recipe-roller
d5743451d9 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/8143132bb9539bb3ab7ba8dc222941c6a0a2f51f [buildbucket] Expose DEFAULT_FIELDS (olivernewman@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I76f132a95714da35422f35e7493579f5e6088060
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255357
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-11-19 22:50:24 +00:00
Chris Dalton
c6a278aa71 Block MSAA CCPR on NVIDIA without mixed samples
We are still seeing problems on the GTX660. It's not crashing, but
still is producing incorrect renderings. For now let's just block MSAA
CCPR completely on non-mixed-sampled NVIDIA.

Change-Id: I505281cc0731f3c106cbb4c685d41f801955d648
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255416
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-11-19 22:42:34 +00:00
Chris Dalton
e7b8e4144f Don't sync unique keys on ccpr clip FP proxies
CCPR clip masks are never cached, and the clip FP proxies need to
ignore any unique keys that atlas textures use for path mask caching.

Change-Id: I40d0f40c8b1cebbae6798ff95c88cb32616c84a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255143
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-11-19 21:14:04 +00:00
Mike Klein
b9df230d65 initialize to avoid Valgrind false positive
I don't think it makes things any slower, less clear, or less safe to
initialize this `isClosed` variable.  I'd be inclined to leave it this
way even if hypothetically we roll to a newer Valgrind that can analyze
this correctly.

For background see
https://internals.rust-lang.org/t/valgrind-memcheck-false-positive-fixes-for-rust/11166

Change-Id: Ifef9417733824b857d4407c45c92c017d189a8fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255354
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-11-19 21:06:10 +00:00
Greg Daniel
30a35e83b1 Handle failure to submit semaphores in vulkan backend.
Bug: skia:9603
Change-Id: I04bacda40383667b0655c14fba0181fe7d0a51da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255147
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-11-19 21:06:09 +00:00
Jim Van Verth
041aab95b2 Metal: Simplify GrFence to use completedHandler in all cases.
Currently GrFence is used only to determine if the current command
buffer is completed, so we don't need the granularity of MTLSharedEvent.
This makes the implementation of GrFence the same across all versions.

Bug: skia:9589
Change-Id: I2556304362a99a67d12e38144e08e8066a6850a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255302
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-11-19 21:01:05 +00:00
Sean Gilhuly
525705e279 Fix unique_ptr typo in Skia Dawn
Change-Id: I14c005db9ef693eed0bcd07d4effbadc65e2004c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255355
Commit-Queue: Sean Gilhuly <sgilhuly@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2019-11-19 21:01:04 +00:00
Chris Dalton
935a35d972 Reland "Enable msaa ccpr on vulkan"
This is a reland of cb73b6250e

Original change's description:
> Enable msaa ccpr on vulkan
>
> TBR=egdaniel@google.com
>
> Bug: skia:9643
> Change-Id: Ie06891734b700c940b996a63c7b1264ce0f2597c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254808
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Auto-Submit: Chris Dalton <csmartdalton@google.com>

Bug: skia:9643
Change-Id: I2537f03fad41ebddabbae94312b3836f7a948639
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255008
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-11-19 20:43:03 +00:00
recipe-roller
3a296e0fdb 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/b2bfd55fd531caf85030dd23fe5fd8e7168ee2ce Revert "depot_tools: Ensure Python is bootstrapped before reading python3_bin_reldir.txt" (jbudorick@chromium.org)
  https://crrev.com/6ec8b51bc9e3b51a42838fb6e7f424eca4e79f3f Reland "depot_tools: Ensure Python is bootstrapped before reading python3_bin_reldir.txt" (jbudorick@chromium.org)
  https://crrev.com/e9024d00d217d00d3c6b80f53e7f780fd6cb3fdb gclient: Make smoke tests use local dir instead of git daemon. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I0ccaacfa500f503100491d22916c275f905e9f26
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255346
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-11-19 19:25:03 +00:00
Herb Derby
d4cfee8dc8 Remove fallback flag from subrun
Change-Id: I0f2f67167871c5d9b4ae929867e6382b6c0de5dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255296
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-11-19 19:14:33 +00:00
Ben Wagner
681a54e77b Use docker recipe module for Docker Build
Bug: skia:9632
Change-Id: I85e0314404105edf6044775d8ff2433104e2b59e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254969
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-11-19 18:54:49 +00:00
Ben Wagner
51aabc94be Add Debian10 GCC Docker Build
Bug: skia:9632
Change-Id: I779fa02cd7227b4d68cc8b0d1c1781473ad0741d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254499
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-11-19 18:50:29 +00:00
Mike Klein
d34e20ae90 Add basic line table to VTune hooks
This maps all loop overhead instructions to "line 1",
each constant to its own line 2,3,4,... and each real
program instruction to 1000,1001,1002,...

It's vaguely helpful in VTune to see these notes.

Change-Id: If909e9dd5086ce02fbc217d206e4526356b268f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255337
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-11-19 18:32:58 +00:00
Julia Lavrova
060cbd90f4 Fixing a memory leak in OneLineShaper
Change-Id: I938ff338bce24efb311fab2232f7b70402843fea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255262
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-11-19 17:09:58 +00:00
Hal Canary
22814dbf6b GN tools: copy_git_directory.py better error message.
No-Try: true
Change-Id: Ifd92c47ae1beaaa53430e6fa8e658a795a398b55
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255299
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-11-19 17:04:18 +00:00
Herb Derby
d667e61cfb Fallback direct glyphs not translating properly
There are two kinds of fallback glyphs. Ones rendered
directly (without transform) from the cache, and glyphs
that need to be transformed when drawn. Make the distinction
based on need of transform rather than fallback.

Bug: skia:9648
Change-Id: Icc87b3272ea7a8c80b21411bbc1f191fc1334641
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255263
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-11-19 16:54:33 +00:00
Ben Wagner
59f991a31f Set fixed pitch bit in DirectWrite port.
Previously the SkTypeface backed by DirectWrite always reported false
for the fixed pitch style bit. Set the value correctly when it is known.

Change-Id: I77fd1e5356b70928362ab49752cc50c32596f565
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255264
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-11-19 16:50:39 +00:00
Chris Dalton
9fdebfb377 ccpr: Fix an assumption about weights from the tessellator
We previously assumed that the tessellator would wrap weights modulo
2 when the fill type was even/odd.

Change-Id: I092e4207db17a3deacd453a19981a1b6ef9c8516
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255180
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-11-19 16:49:29 +00:00
Mike Klein
e0ce128c1d add VTune integration to SkVM
There's no prebuilt libjitprofiling.so in the VTune SDK,
so I couldn't make this entirely automagic.  To enable set

    skia_vtune_path = "/opt/intel/vtune_amplifier"

or obviously to wherever your VTune is installed.  Looking at
the source for jitprofiling.c, which is in the SDK, it might
be possible to replicate and make this more automatic, but I
think it's easy enough to just set a GN path variable.

For an assembly-level profile, leave this VTune option disabled:

    [ ] Remove raw collector data after resolving the result

Change-Id: I1426ab1b838e00745e22ca4a97b9d0cd4c4e3280
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255124
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-11-19 16:42:21 +00:00
Michael Ludwig
706e9dd9cb Detect empty triangles in CropRect
Fixes a rare case when using the experimental_DrawEdgeAAQuad API with
a degenerate quadrilateral that forms a triangle. In this case, the

GrQuadUtils::CropRect code would sporadically calculate invalid barycentric
coordinates that then suggested the triangle contained the entire render
target. The quad optimizations would then replace that with a fullscreen
clear.
Change-Id: I2d9f300b899bfbddbe801c7478657e5885f41d62
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255259
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-11-19 16:20:27 +00:00
Ben Wagner
e678b79c48 Remove use of kCTFontOpticalSizeAttribute
This causes iOS builds to fail the app store check due to "Non-public API
usage" since it is technically undocumented (though required to work
around current bugs in CoreText).

Bug: skia:9657
Change-Id: If79b67703aefdf0f9cf25c5358ebd147691e1be6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255260
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-11-19 16:08:22 +00:00
Brian Osman
417d299d44 Fix windows DLL builds with shaper included
Change-Id: I7adc1e01f4f9cec56e53e620ba4d04eae61f0b9e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254899
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-11-19 14:50:12 +00:00
Ben Wagner
c5e528e15b Update Valgrind to 3.15.0.
Bug: skia:9632
Change-Id: Ide4a077fa9a4c2588e6c2561348b0bbb778e9f68
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254976
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-11-19 11:28:52 +00:00
skia-autoroll
d3ddcb4039 Roll third_party/externals/angle2 51b5a3222b60..e4b3136913c6 (6 commits)
51b5a3222b..e4b3136913

git log 51b5a3222b60..e4b3136913c6 --date=short --no-merges --format='%ad %ae %s'
2019-11-18 syoussefi@chromium.org Update front-end image test failures' bug number
2019-11-18 syoussefi@chromium.org Vulkan: Fix col-major transformation of unsized arrays
2019-11-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-headers/src d42d0747ee1b..ba6cbb047868 (1 commits)
2019-11-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src f8ea20adee82..e2441190bb0c (42 commits)
2019-11-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 37dcb894574e..f4d4668529f1 (1 commits)
2019-11-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 102fd19c65f4..aba1020d3914 (7 commits)

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=robertphillips@google.com
Change-Id: Ia0794cef8c6d41926aceed22c4be6834b82da469
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255182
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-19 06:22:22 +00:00
skia-autoroll
d01360e8f4 Roll ../src c30db006f1d6..b659e40a3998 (423 commits)
c30db006f1..b659e40a39


Created with:
  gclient setdep -r ../src@b659e40a39

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

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
Bug: None
TBR=robertphillips@google.com
Change-Id: I96815de950ac44afe9710e533ee3ad1cab2c3b16
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255184
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-19 04:52:12 +00:00
skia-autoroll
c3e187634e Roll third_party/externals/swiftshader aba1020d3914..79afb7620a69 (5 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/aba1020d3914..79afb7620a69

git log aba1020d3914..79afb7620a69 --date=short --no-merges --format='%ad %ae %s'
2019-11-18 chrisforbes@google.com Remove vulkan.hpp
2019-11-18 bclayton@google.com Pipeline: Add custom debug printers for SamplerFunction.
2019-11-18 bclayton@google.com Reactor: Change the signature of PrintValue::Ty
2019-11-18 bclayton@google.com Reactor: Handle more implicit casting for Call() arguments
2019-11-18 swiftshader.regress@gmail.com Regres: Update test lists @ aba1020d

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=robertphillips@google.com
Change-Id: I5961492e8a486591f3955986b83b2ba630771a8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255183
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-19 04:38:12 +00:00
recipe-roller
77b716eaba 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/7c426bbd1c09baf26a19be775d10b7ff332fa139 Remove BOGUS_FIELDS (guterman@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I2504f77cf81e7eadd9cd9a99e90e832aa702967e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255149
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-11-19 00:20:47 +00:00
Florin Malita
684929ceb1 [skottie] Fix single-node camera orientation relative to z=0 plane
One-node cameras start off by pointing forward, where "forward" is
decreasing z (as opposed to always facing z==0, as they currently do).

Change-Id: I2ccd5a7cf7d8f0aeeebde1537d44e188aabccd04
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255117
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-11-18 23:25:47 +00:00
Jason Simmons
1fbdfcd853 Use the default font family if no match is found for any of the families in the text style
Change-Id: Ie2b54b8dbb187e11d86996f3752c9bde72528cca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254817
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2019-11-18 22:35:50 +00:00
Robert Phillips
ff2f380fd3 Only access the scissorState's rect when it is valid
It is odd asan/valgrind hasn't been complaining about this

Change-Id: I8e7952e6fc554450ff8c5c5940500f09be48d6b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255144
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-11-18 22:13:20 +00:00
Brian Osman
b1b14522dc Remove some SK_API from src/
There are still some present (being used by Chromium or Android),
but I think all of these are internal-only.

Change-Id: I80177a65e0ea737e88ab7bb1ef36d03edebd4fa4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255138
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-11-18 21:51:20 +00:00
Hal Canary
fdb014771b DEPS: add third_party/externals/libgifcodec
A later CL will remove:
    third_party/gif/*
    src/codec/SkGifCodec.*
and update the BUILD.gn file.

But first, a CL will make the Android roller pick up this DEP.

Bug: skia:9654
Change-Id: I12a63dd83f6b2fd11c299537686c5219581fcc13
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255083
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-11-18 21:08:40 +00:00
Hal Canary
11c45d64dc GN tool: copy_git_directory.py script
Motivation: to be used by android roller (android_skia_checkout.go)
to keep third_party/libgif updated to where DEPS points
third_party/external/libgif at.

No-Try: true
Bug: skia:9654
Change-Id: I18273dfc7da215b6081ffd454edfa1651791b6df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254896
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2019-11-18 21:05:10 +00:00
Michael Ludwig
22a04cde64 Make TessellationHelper resettable
Change-Id: I94d22edf13b8392e1d7b84367fd65701f99a0e54
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255137
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-11-18 21:02:20 +00:00
Nigel Tao
39da10b556 Optimize SkWuffsCodec pixbuf zero-initialization
Pushing the zero-initialization into the sk_malloc_etc call can be more
efficient than a two-step malloc-and-then-memset, e.g. if the memory
allocator gives us something from an already-known-zeroed region.

Some microbenchmark numbers (milliseconds per decode) from running
Chromium's image_decode_bench program on a few GIF files:

Before  After   Ratio   Filename        Width x Height = Pixels
 0.109   0.107  1.02    hat.gif           90  x  112   =   10080
 7.062   6.879  1.03    harvesters.gif  1165  x  859   = 1000735
33.342  30.544  1.09    droids.gif      2560  x 1920   = 4915200

Ratio > 1.00 means a performance improvement.

image_decode_bench comes from:
https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/testing/image_decode_bench.cc

hat.gif and harvesters.gif come from:
https://github.com/google/wuffs/tree/master/test/data

droids.gif comes from:
https://cs.chromium.org/chromium/src/third_party/blink/perf_tests/image_decoder/resources/

These are x86_64 Broadwell numbers. I don't have ARM numbers readily
available, but nothing about this commit should be arch-specific.

Bug: skia:8235
Change-Id: Icf45b7ac5b7194eaab455628e44d4aedf30ddbfe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254836
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2019-11-18 20:44:20 +00:00
Greg Daniel
301015ce1e Make GrSemaphore no longer derive from GrGPUResource.
Instead most things are now passed around as unique_ptrs

Bug: skia:9603
Change-Id: I2b2f5c68ba1964953dd1457b65433e6098597605
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255086
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-11-18 19:42:09 +00:00
Leon Scroggins III
a8ea23db00 Run nanobench on droids.gif
Bug: chromium:1023191
Bug: skia:8235

Chromium is showing a performance regression on this image when
switching to Wuffs. (It is checked into Chromium as
src/third_party/blink/perf_tests/image_decoder/resources/droids.gif.)
Test it on our bots to help us verify we've fixed it.

Change-Id: I9a02e6fe9bdcfa1704aefbc1ea2cd3f0e6ac4409
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255081
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2019-11-18 18:47:19 +00:00
Jim Van Verth
7c4ea9083f Metal: Fix buffer alignment issues on Mac
Bug: skia:8243
Change-Id: I9d588c732e9aba2348a294cd88f17d261ba05f03
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255088
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-11-18 18:44:09 +00:00
Mike Reed
63edc57c97 restructure EdgeClipper to accommodate other callers (e.g. half-plane)
This allows us to clip a path against a half-plane (an arbitrary
diagonal line), in an effort to handle perspective correctly with
the near-plane.

Change-Id: I2082a750acf858340e4500ad46cf581472cefc6b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/253996
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-11-18 18:22:19 +00:00
Ben Wagner
9c17be5301 [infra] Update docs with respect to Go modules.
Docs-Preview: https://skia.org/?cl=255085
Change-Id: I8911862ca9814b89b8598ad743b1faa9c524399f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255085
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-11-18 18:04:19 +00:00
Robert Phillips
fbfc35590d Add SampleLocationsTestOp::onPrePrepare
Bug: skia:9455
Change-Id: I2fb9bbba7c2315e300f363b34168f59eafdda8ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255084
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-11-18 17:50:19 +00:00
Jim Van Verth
9042d46ff4 Add Metal support for dynamic texture state
Bug: skia:9604
Change-Id: I16f487137c79e37493cd24b63ee29ac2e22d6cec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254981
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-11-18 17:31:48 +00:00
Robert Phillips
5d07c5279b Add FwidthSquircleTestOp::onPrePrepare
This CL also introduces creating the geometryProcessor in the arena (which bypasses the GrProcessor memory pool).

Bug: skia:9455
Change-Id: Ia9d5c0d886ea918d9e4209078a1f7e8595234d0e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254963
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-11-18 16:47:49 +00:00
Robert Phillips
c919f97768 Reformat gn files
Change-Id: I60ccd1ef19d6a6dc033e20e7ac55c3182d76ea0e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255082
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-11-18 16:39:28 +00:00
Robert Phillips
d4fb7c7b14 Rename opPODAllocator to recordTimeAllocator
Hopefully this is a better name. "POD" is no longer accurate since we are storing GrPipeline's in this arena.

Bug: skia:9455
Change-Id: I610267633088b0af4f0cbb36f479bf5eb6c6d0cb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254992
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-11-18 16:12:38 +00:00
skia-recreate-skps
cc1d4e6ae0 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I1454920bff343474913e884d701664158c260f97
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255043
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-11-18 12:54:23 +00:00
skia-autoroll
7787460510 Roll ../src 6961018759e7..c30db006f1d6 (480 commits)
6961018759..c30db006f1


Created with:
  gclient setdep -r ../src@c30db006f1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

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
Bug: None
TBR=robertphillips@google.com
Change-Id: Idfd254212e7c772639592cdfcc4b30dcf89fcad1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255058
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-18 12:53:42 +00:00
skia-autoroll
7a58003044 Roll third_party/externals/angle2 5f4db6a76640..51b5a3222b60 (9 commits)
5f4db6a766..51b5a3222b

git log 5f4db6a76640..51b5a3222b60 --date=short --no-merges --format='%ad %ae %s'
2019-11-15 tobine@google.com Update dEQP 3.1 expectations
2019-11-15 jonahr@google.com Expose EGL_CHROMIUM_sync_control via GLX_OML_sync_control
2019-11-15 timvp@google.com Vulkan: Update Expectations with GLES 3.1 Conformance Failures
2019-11-15 lehoangq@gmail.com Enable Metal backend.
2019-11-15 timvp@google.com Update GLES31 Expectations
2019-11-15 jonahr@google.com Add a test to capture bug with LUMA blit workaround
2019-11-15 jiawei.shao@intel.com Add android_ndk and catapult to .gitignore
2019-11-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 3da910d55f20..c3f22f7cba60 (2 commits)
2019-11-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader b2407dd746de..102fd19c65f4 (4 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@51b5a3222b60

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=robertphillips@google.com
Change-Id: I51249a8fe5b3a28cba2f63d0efcf68c858a2fd42
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255056
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-18 12:49:17 +00:00
skia-autoroll
402d168ab4 Roll third_party/externals/swiftshader 102fd19c65f4..aba1020d3914 (7 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/102fd19c65f4..aba1020d3914

git log 102fd19c65f4..aba1020d3914 --date=short --no-merges --format='%ad %ae %s'
2019-11-15 bclayton@google.com Remove the now unused sw::Event.
2019-11-15 bclayton@google.com VkQueryPool: Migrate from sw sync to marl
2019-11-15 bclayton@google.com VkDevice: Migrate to using marl::Event::any()
2019-11-15 bclayton@google.com VkFence: Migrate to marl::Event
2019-11-15 bclayton@google.com Merge changes Ifb21caa2,Iaca5897d
2019-11-15 swiftshader.regress@gmail.com Regres: Update test lists @ cc221e83
2019-11-15 chrisforbes@google.com Update deqp to b64acc6c3371607583b3aa6d12c7290b4aaae747

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=robertphillips@google.com
Change-Id: I23f1fcdb018dce3a124d9f9e7476bdb8aee09993
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255057
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-18 12:48:37 +00:00