Commit Graph

42278 Commits

Author SHA1 Message Date
Mike Klein
3c00d3d379 dump register and instruction count
Change-Id: Ib0d4f354787e413749fdda8b59ccc2f94472b0ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218243
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-04 17:27:29 +00:00
Mike Klein
9656dcedc2 add extract instruction
Kind of the flip side of pack.

Made slightly awkward by instructions having only one immediate...
calling _BitScanForward / __builtin_ctz() at runtime seems to work
fine, but it really could have been done at compile time.

Change-Id: Ic83fe8e0a1603fb9189598dcc26c842cc797bf45
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218241
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-04 17:23:49 +00:00
Mike Klein
1665aaa5fd add pack instruction
This instruction can lower to some useful SSE/NEON
instructions, and even if not, is a handy way to
express the frequent paring of << and |.

I32_SWAR:  2.3 -> 1.9
I32:       2.6 -> 2.4
F32:       5.1 -> 4.7

Change-Id: Ia169ad40f0aaef32417e05d9bf91c2d2542e7b5f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218238
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-04 17:14:49 +00:00
recipe-roller
87e0147b85 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/2c48f24c7f88f2f09821db492e8cc9a4361ded58 git-cl: Report presubmit execution time. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I1ca5787680c24b318f7b1de7e541d1662009462b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218189
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-04 17:04:19 +00:00
Mike Klein
d7d04dc5eb add mul_unorm8 instruction
Another way for an interpreter to go faster
is to provide better instructions.

mul_unorm8 is one we use all the time.

Drops _I32 bench from ~3.6ns/px to ~2.6ns/px.

Change-Id: I9d08914c114048b79075796af9ec802236b35706
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218236
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-04 16:59:49 +00:00
Mike Klein
7b7077cc36 centralize test/bench SkVM builders
Eliminate the duplicate functionality,
and better testing for the bench builders.

Change-Id: If20e52107738903f854aec431416e573d7a7d640
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218041
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-04 16:55:59 +00:00
skia-autoroll
ac79ca16c6 Roll skia/third_party/skcms ca5b4470be98..386ae89d2b64 (1 commits)
https://skia.googlesource.com/skcms.git/+log/ca5b4470be98..386ae89d2b64

2019-06-04 mtklein@google.com turn on more FP16 tests


The AutoRoll server is located here: https://autoroll.skia.org/r/skcms-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=luci.chromium.try:linux-blink-rel
TBR=jcgregorio@google.com,mtklein@google.com

Change-Id: Iecd9c740fde66460e7a3bf38bb1a24eb9a017288
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218237
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-04 16:08:23 +00:00
Robert Phillips
806267973f Switch all internel uses of GrContext::createBackendTexture over to initialized versions
For Skia's testing we always want an initialized backend texture. Except for the
BackendAllocationTests of course.

Change-Id: I47b5e4c9845b3f58ebad5ba052780a69d6cd6954
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216348
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-06-04 14:42:27 +00:00
Jim Van Verth
81b7e3df38 Create FenceSync implementation that works for all Metal configs
Bug: skia:8243
Change-Id: I609db0bf4183b3508c002f9f2d0a8a70a276edca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217942
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-06-04 14:30:32 +00:00
Herb Derby
baf64786ba Convert over more sites to SkStrikeSpecStorage, and remove unused calls
Convert over remaining callsights for strike lookup, and reduce the SkStrikeCache
API.

- one friend decl.

Change-Id: I109a747061030f26ff908472ea55a4424d5c10f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209109
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-04 14:11:45 +00:00
Ravi Mistry
048413400a Add Tecno Spark3 Pro devices to the tree
All 5 bots are here:
* https://chromium-swarm.appspot.com/bot?id=skia-rpi-004
* https://chromium-swarm.appspot.com/bot?id=skia-rpi-057
* https://chromium-swarm.appspot.com/bot?id=skia-rpi-009
* https://chromium-swarm.appspot.com/bot?id=skia-rpi-113
* https://chromium-swarm.appspot.com/bot?id=skia-rpi-114

Bug: skia:9087
Change-Id: I5988787439a0a174ed97ad97a597a5dbd66c922b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217897
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-06-04 13:42:55 +00:00
Michael Ludwig
663afe501a Move GrPathUtils, GrRect, and GrShape into src/gpu/geometry/
Change-Id: I864d3c2452f3affdc744bf8b11ed3b3e37d6d922
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216602
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-06-04 13:36:05 +00:00
recipe-roller
62fd2c32bb 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/8c2c028496f3b8e47034e45682a41be3405dbaeb Add cpu cost classes to api.step. (iannucci@chromium.org)
  https://crrev.com/c2b6b7ae345169e8f0a09f767467ddd897542a25 Fix fake_kitchen.sh on windows. (iannucci@chromium.org)
  https://crrev.com/b1c18614e63aeb781c75681f5ff393576dc9e8ab Fix logdog client library on windows. (iannucci@chromium.org)
  https://crrev.com/ac2632016e98b767225c2f1328418c1167618efe [step_runner/subproc] Refactor handle closing out of main function. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I313e3cbcf5289938fbb89f6b7bd30b4766cf5868
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218177
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-04 12:21:26 +00:00
Brian Osman
32c526b1d9 Interpreter: Minor cleanup of opcodes
Some were unused, others are only used (and implemented) as scalar.

Change-Id: I0c3127e2b1e98303299517967c513d893a65e1ba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217939
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-04 11:45:06 +00:00
Jeremy Roman
89068ce78f Don't mark inline functions in SkString.h as static.
This can generate spurious warnings like:

  In included file: unused function 'SkStrStartsWith'
  ../../third_party/skia/include/core/SkString.h:23:13: note: error occurred here
  [-Wunused-function]

Change-Id: I4bdfc054d1d24dddf2f8ed68b0a8ebd2cb1a746b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217986
Commit-Queue: Jeremy Roman <jbroman@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-06-04 11:40:02 +00:00
recipe-roller
74bda381e6 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/3f64ba05d329bb41bc8b651d07b7b7f3c1bf4135 Fix manifest link. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I5d9aac27fe89bce36f72f7ea5a3c47a409ee0bdd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218048
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-04 11:39:56 +00:00
Eric Boren
648a1dce1f [infra] Supply revision as target_branch to bot_update
Change-Id: I5d7f92e2f26ebca6b644d09f2f3ea5d443c1e3d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215421
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Edward Lemur <ehmaldonado@google.com>
2019-06-04 11:34:52 +00:00
skia-autoroll
d9a88a331d Roll third_party/externals/swiftshader bb575d48d5f9..79d4ac9ab695 (6 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/bb575d48d5f9..79d4ac9ab695


git log bb575d48d5f9..79d4ac9ab695 --date=short --no-merges --format='%ad %ae %s'
2019-06-03 sugoi@google.com Add vulkan unit tests to Chromium
2019-06-03 srisser@google.com Reject large arrays in GLSL
2019-06-03 chrisforbes@google.com Fix Android-integrated build
2019-06-03 amaiorano@google.com CMake: download and extract boost to third_party
2019-06-03 amaiorano@google.com Revert "Add minimal boost install for boost::backtrace"
2019-06-03 swiftshader.regress@gmail.com Regres: Update test lists @ bb575d48


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

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

Change-Id: Ifc59fdd7a17b446221f15556ddba5543650c1140
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218096
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-04 11:34:46 +00:00
skia-autoroll
525aa0ca60 Roll ../src f75363e40fb1..ce989eacabd7 (360 commits)
f75363e40f..ce989eacab


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

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

Change-Id: I29542eff72dce3d654df561e098feafee0b83f9b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218156
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-04 11:29:42 +00:00
skia-autoroll
2b03bf85c2 Roll third_party/externals/angle2 98f2167125a8..2dd40a44d1a6 (8 commits)
98f2167125..2dd40a44d1


git log 98f2167125a8..2dd40a44d1a6 --date=short --no-merges --format='%ad %ae %s'
2019-06-03 jonahr@google.com Add eglQueryDisplayAttribANGLE to query workarounds count.
2019-06-03 jmadill@chromium.org Print stack backtrace on critical failure.
2019-06-03 jmadill@chromium.org Vulkan: Use storage buffers for index conversion shader.
2019-06-03 kkinnunen@nvidia.com D3D: Fix heap corruption when copying texture arrays
2019-06-03 aleino@nvidia.com Sharpen GL test skip condition for NVIDIA
2019-06-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 6d88284607d2..a549bb817523 (2 commits)
2019-06-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 209ff0ce90ce..699e167d78ee (3 commits)
2019-06-03 jiajia.qin@intel.com Fix needStructMapping


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

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

Change-Id: Ifcb1b26218fe50061e6e14a6763c616632b26ae3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218116
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-04 11:29:36 +00:00
Mike Klein
12818515b5 add a x*y+0 -> x*y peephole
This is mostly to test how easy rebaselining SkVMTest is.

Change-Id: I27ab6f6bb8b7e126327374009783afd86d416f55
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218039
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-03 22:25:27 +00:00
Mike Klein
267f50773c streamline SkVM test rebaselining
- keep expectations in resources/
  - overwrite automatically if needed
    so we can see the diff in Git

Change-Id: I2486b127ebcc7f40332fd0462e38b1af04d3e32b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218038
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-03 22:24:50 +00:00
Ben Wagner
30e918d915 Revert "Use DirectWrite for default font."
This reverts commit 375a953239.

Reason for revert: win7-rel bots failing on roll (didn't fail on CL).

Original change's description:
> Use DirectWrite for default font.
> 
> This avoids the problematic use of SystemParametersInfoW.
> 
> Bug: chromium:969107,chromium:963636
> Change-Id: I78662deb5bc90502fd070da75b7f2cfdc7968941
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217857
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>

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

Change-Id: I8cb94a37027dad340fef04751386e6df81945e7c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:969107, chromium:963636
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217943
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-06-03 21:01:06 +00:00
Mike Klein
081bf6667d best guess for -MSRTC bot
Change-Id: I5aa5f789180b9caba70952cc60a2e9bbcf3b5a97
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217983
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-03 20:44:29 +00:00
recipe-roller
5270925f94 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/2faacf687c1d66e2100fdb038782e524eb24f296 Move tracking of namespaces and deduplicated step names into the engine. (iannucci@chromium.org)
  https://crrev.com/0624ac77bb1b64cb175809e332b9a6ae4f9b77e3 Switch RecipeEngine._step_stack to be GLS. (iannucci@chromium.org)
  https://crrev.com/bfed55c460d57a5185a6a3a036de835f0a5940ad Make _step_stack never empty. (iannucci@chromium.org)
  https://crrev.com/bd459f5f82d151b4b304a29600a2a671c24b9ce0 Get rid of gevent monkey patching. (iannucci@chromium.org)
  https://crrev.com/94a299a13fceebfccc56e692e46b7daa16903b07 Add userspace access APIs for recipe concurrency. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib2498b668929c1aedb5e3d3d7374601ea0c89290
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217940
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-03 20:39:44 +00:00
Mike Klein
03ce675b5f fix SKVM_ benches
Things were running suspiciously well...

_I32 had a typo that cut out 3/4 of its multiplies...

_I32_SWAR was missing a mask operation needed to drop
the junk low byte of the high half after the multiply.

The bench times now make a bit more sense and are in line
with how much work we're actually doing: F32's the slowest,
I32 a little faster, and I32_SWAR fastest:

    curr/maxrss	loops	min	median	mean	max	stddev	samples   	config	bench
      35/36  MB	58	2.03ns	2.04ns	2.04ns	2.04ns	0%	▂▂▂▂▁▁█▁▂▁	nonrendering	SkVM_4096_I32_SWAR
      35/36  MB	42	3.44ns	3.48ns	3.49ns	3.59ns	1%	▂▆▅█▃▃▁▂▂▄	nonrendering	SkVM_4096_I32
      35/36  MB	30	4.9ns	5.21ns	5.11ns	5.33ns	3%	▆▇█▆▆▁▂▁▁▅	nonrendering	SkVM_4096_F32
      35/36  MB	203	0.696ns	0.697ns	0.705ns	0.758ns	3%	█▂▂▁▁▁▁▁▁▂	nonrendering	SkVM_4096_RP
      35/36  MB	942	0.188ns	0.188ns	0.188ns	0.189ns	0%	▂▁▂▁▃█▂▁▁▁	nonrendering	SkVM_4096_Opts

Change-Id: I2850dc3f9df1828f03499eb278b8231f48eaae63
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217982
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-03 20:35:24 +00:00
Robert Phillips
ef032cd9bf Disable RGBA_F32 mipmap testing for all of openGL ES
This bug also appears to occur on Adreno and PowerVR HW.

Bug: skia:9141
Change-Id: I75a6e71ff76ee6fa6f4e1c1ba9307e9fdbb967e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217996
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-06-03 20:20:54 +00:00
Mike Klein
68c50d015b sketch an skvm
With all the thinking around a stack-based interpreter,
I figured I'd sketch out some ideas for a register VM too.

I kind of have the hunch that this is the direction that
will actually let us replace large amounts of Skia's CPU
backend with an efficient interpreter or JIT.

Change-Id: Ia2b5ba4a3fc27556f5b6ba95cd1ace46d3217403
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216665
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-03 19:53:48 +00:00
recipe-roller
e0244b6d56 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/b81bc5473638f2c9c2a6f567e4fc976c978a247d buildbucket: propagate `cq_experimental` when inheriting buildsets. (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id805d8e2047de9cecc8369ca5645c54b24851e21
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217919
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-03 19:09:39 +00:00
Kevin Lubick
d6ba725da3 [canvaskit] Save a copy by using SkVertices::Builder
Change-Id: I7a01f97d57c37b7198b7f4fbb966c785ab998861
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217898
Reviewed-by: Mike Reed <reed@google.com>
2019-06-03 18:41:00 +00:00
recipe-roller
6ca7ed2eea 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/e5b7ae69e6b4b747abe479496b783c4c7ac904d9 cq: expose ordered_gerrit_changes as a property. (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I7fb5a1cdd6fa18f66c144f55ea3a2676c28502d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217916
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-03 18:38:02 +00:00
Michael Ludwig
80f10d2c22 Turn on glClear workaround for nvidia macs
Bug: chromium:969609
Change-Id: I9c3f2a2365e44a5b28687b149848abaf33706e82
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217868
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-03 18:10:21 +00:00
Robert Phillips
27eb5252e0 Expand testing of color initialized backend textures to include mip levels
Bug: skia:9141
Change-Id: Ie32bc5db357907ff65045b25d5d06d0ea47b94bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217456
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-06-03 18:09:51 +00:00
Brian Salomon
900dda8093 Do correct colorspace xform in asyncRescaleAndReadPixels in GPU impl.
When we're rescaling the conversion to the final colorspace happens during
the last rescaling draw. We were configuring the correct color space on
the final GrRenderTargetContext but not inserting a GrColorSpaceXform.

Bug: skia:8962
Change-Id: Iadcc0a8e438109ad4b74e7d2cf073ea157bfe236
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217896
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-03 17:50:26 +00:00
Herb Derby
d249e8c95d One ShouldDrawAsPath to rule them all!
In addition, inline all the small functions from
SkFontPriv.cpp.

Change-Id: I9d642aa194a3fc4d7eb451c89314892f591c5d81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217865
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-03 17:30:18 +00:00
Ben Wagner
375a953239 Use DirectWrite for default font.
This avoids the problematic use of SystemParametersInfoW.

Bug: chromium:969107,chromium:963636
Change-Id: I78662deb5bc90502fd070da75b7f2cfdc7968941
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217857
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-06-03 16:43:21 +00:00
Jim Van Verth
03464f1920 Maybe don't use Metal's instanced methods if not supported.
Fixes exception on iPhone6 bots.

Bug: skia:9117
Change-Id: Iba8bbf6481ef641245c261b545813da722302abc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217498
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-06-03 16:32:07 +00:00
Kevin Lubick
d7255a716e Make fuzzing use embedded test font
This will make fuzzing more hermetic and less machine-dependent.

Docs-Preview: https://skia.org/?cl=217864
Change-Id: If29d7b86e5290e9f749cb2fdde6f2ff892ffc333
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217864
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-06-03 16:29:21 +00:00
Stephen White
b67b2354cf GrTessellator: always rewind to edge top when splitting.
In some cases, a split edge may go out-of-order with a neighbouring edge
which has already been removed from the active edge list.

The only way to be sure is to always rewind to the edge top.
This may have performance implications for paths with many (hundreds) of
self-intersections. We'll have to watch the bots carefully.

Bug: 966274, 966364.
Change-Id: I5a1b7abe9baa7fc279cbf7d1dfa258dcdaa35f11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217637
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-06-03 16:27:01 +00:00
Ethan Nicholas
40679c3aa5 added SkSL bench
Bug: skia:
Change-Id: I8497ddbc5c5fef4e0fa87f3b9828034ba34284cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217636
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-06-03 16:01:30 +00:00
Kevin Lubick
00587e32b8 Prevent UBSAN from complaining too early about invalid enums
This is making reproducing https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=15052
difficult.

Docs-Preview: https://skia.org/?cl=217457
Change-Id: I131e8c1b64f621178696b94b63bd09513ca6c170
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217457
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2019-06-03 15:58:36 +00:00
Joe Gregorio
a718813e2a Don't run SkpBench on the P30 since we don't have root on that device.
Bug: skia:
Change-Id: I586b7e015b71874e3fa162370838d174f797d53e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217862
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2019-06-03 15:50:20 +00:00
Mike Reed
ede7e99465 add simpler addFrame api (helps with threaded producers)
Change-Id: I458dc2fb59aa32e084b0b03945afd74ff5ee42ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217861
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-06-03 15:40:35 +00:00
Mike Klein
fec9b902a6 add unit scaling mode to benchmark/nanobench
This lets you write a suite of benchmarks that
run against different sized workloads and see
numbers that normalized by that workload size,
e.g. nanoseconds / pixel.

C.f. the bench in "sketch an skvm".

Change-Id: I6106c51ceac59cd533449712a77c957bdf86846e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217416
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-03 14:53:29 +00:00
Eric Boren
79e4df82c2 [infra] Stop isolating the Android NDK
It's slow, and I'm not convinced it's saving us anything.

Change-Id: I83adb84a04a9b15703f35754862087ebdfe20b06
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217576
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-06-03 14:24:56 +00:00
Joe Gregorio
c6611c0def Add 'modules' to doxygen generation.
Bug: skia:
Change-Id: Ia64aa8e8e75d0ed3a88dd34e63fc22c65cf9acc9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217816
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2019-06-03 13:33:56 +00:00
recipe-roller
c0b32b3355 Roll recipe dependencies (nontrivial).
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).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/b5922385482112ce31df891af71854c81662d69e Remove jsonResult defaulting to null (martiniss@google.com)
  https://crrev.com/8eb708a2d5545c549ee462a193891ed7e30d430e [archive] Append file permissions stored in extra attributes (smut@google.com)


R=jcgregorio@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I2077c009f11e0e2901c24489d04dcbe5633506f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217581
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Robbie Iannucci <iannucci@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-06-03 11:25:16 +00:00
skia-autoroll
9e6a3d76fc Roll third_party/externals/angle2 0a56f0e3d22d..98f2167125a8 (8 commits)
0a56f0e3d2..98f2167125


git log 0a56f0e3d22d..98f2167125a8 --date=short --no-merges --format='%ad %ae %s'
2019-06-02 jmadill@chromium.org Vulkan: Refactor index buffer convert functions.
2019-05-31 jmadill@chromium.org Re-enable WGL perf test configs.
2019-05-31 cnorthrop@google.com Revert "Revert "Vulkan: Use atomics in SerialFactory.""
2019-05-31 spang@chromium.org Vulkan: Fix synchronization with current surface
2019-05-31 jmadill@chromium.org Vulkan: Recycle command pools with vkResetCommandPool.
2019-05-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 625eb25d6e80..6d88284607d2 (1 commits)
2019-05-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-headers/src 7ac42f80c0e8..903d447d96eb (1 commits)
2019-05-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src e7866de4b1dc..209ff0ce90ce (1 commits)


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

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

Change-Id: I0da2ebbccf0fd681bc62417befff7bc980fd073a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217777
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-03 05:40:19 +00:00
skia-autoroll
0e179e41fb Roll third_party/externals/swiftshader c0d7ee45d45f..bb575d48d5f9 (3 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/c0d7ee45d45f..bb575d48d5f9


git log c0d7ee45d45f..bb575d48d5f9 --date=short --no-merges --format='%ad %ae %s'
2019-06-02 capn@google.com Address cubemap faces as consecutive layers
2019-05-31 sugoi@google.com BuiltInPointCoord implementation
2019-05-31 sugoi@google.com 32 bit compilation fixes for Visual Studio


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

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

Change-Id: I91bc9087befe7e3774b3989f174d467adc2b8825
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217776
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-03 04:34:25 +00:00
skia-autoroll
b9e82c6689 Roll ../src 8e522297bf91..f75363e40fb1 (402 commits)
8e522297bf..f75363e40f


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

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

Change-Id: I1775489f8daff98008e379d65f9aa25f4c60db29
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217778
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-03 04:33:29 +00:00