Commit Graph

31673 Commits

Author SHA1 Message Date
Ravi Mistry
6f13622452 Store skiaserve binary in GS from Release Android compile bots
Bug: skia:7399
Change-Id: Id60773f77694b06a938f9a126f30ca56e4965d30
Reviewed-on: https://skia-review.googlesource.com/83981
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-12-12 22:37:05 +00:00
Herb Derby
72b4e07e44 Handle small sigma in one direction
Because GPU/CPU must interoperate, the border calculation
code adds transparent black border pixels for sigmas
that produce a window of 1. This is a very rare case
and seems to only happen in fuzzers. In this case
cleare everything to black before bluring.

BUG=chromium:793285

Change-Id: I2b56f9ad88304abaa2669c9c9ef69b5443ba4333
Reviewed-on: https://skia-review.googlesource.com/83562
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
2017-12-12 22:03:39 +00:00
angle-deps-roller@chromium.org
aeff9eaa19 Roll skia/third_party/externals/angle2/ 3c613c0d7..a98a28112 (1 commit)
3c613c0d79..a98a28112b

$ git log 3c613c0d7..a98a28112 --date=short --no-merges --format='%ad %ae %s'
2017-11-30 jiajia.qin ES31: Add support for GL_DISPATCH_INDIRECT_BUFFER_BINDING binding point

Created with:
  roll-dep skia/third_party/externals/angle2


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

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

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE
TBR=liyuqian@google.com

Change-Id: If18ecdc6653031f972d7173c5e126b38c015ac14
Reviewed-on: https://skia-review.googlesource.com/84162
Commit-Queue: angle-deps-roller . <angle-deps-roller@chromium.org>
Reviewed-by: angle-deps-roller . <angle-deps-roller@chromium.org>
2017-12-12 20:46:09 +00:00
Brian Osman
36703d9d36 Push much of the SkColorSpace_Base interface up to SkColorSpace
Some pieces still remain, but the next step looks less mechanical,
so I wanted to land this piece independently.

Bug: skia:
Change-Id: Ie63afcfa08af2f6e4996911fa2225c43441dbfb2
Reviewed-on: https://skia-review.googlesource.com/84120
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-12-12 19:34:29 +00:00
Kevin Lubick
09757b29fe Fuzz skpicture with ReadBuffer
Bug: skia:
Change-Id: Id581895b5248a8f24eed77cad20fc751257c2c95
Reviewed-on: https://skia-review.googlesource.com/83861
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-12-12 19:11:09 +00:00
Robert Phillips
d21b2a5d5c Remove GrBackendObject from tests (except image_from_yuv_textures)
This sets the stage for landing https://skia-review.googlesource.com/c/skia/+/82823 (Update SkImage::MakeFromYUVTexturesCopy to GrBackendTexture)

Change-Id: I2c62f23dc447b9ad55c0b5f06bcd6d7ca0ec4d2b
Reviewed-on: https://skia-review.googlesource.com/83920
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-12-12 18:45:09 +00:00
angle-deps-roller@chromium.org
f3506fa87d Roll skia/third_party/externals/angle2/ 7f5c3eb76..3c613c0d7 (1 commit)
7f5c3eb768..3c613c0d79

$ git log 7f5c3eb76..3c613c0d7 --date=short --no-merges --format='%ad %ae %s'
2017-11-16 fjhenigman Update docs for GN standalone and GYP deprecation.

Created with:
  roll-dep skia/third_party/externals/angle2


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

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

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE
TBR=liyuqian@google.com

Change-Id: I2d9fa893b638888323961ee3c505a4e97a40452a
Reviewed-on: https://skia-review.googlesource.com/84081
Reviewed-by: angle-deps-roller . <angle-deps-roller@chromium.org>
Commit-Queue: angle-deps-roller . <angle-deps-roller@chromium.org>
2017-12-12 18:39:09 +00:00
Hal Canary
925e31e749 dm: require tmpDir, reasonable defaults
Change-Id: I9d84ce1ebbe417160a29ca2221b1df04901238e3
Reviewed-on: https://skia-review.googlesource.com/83541
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2017-12-12 18:22:39 +00:00
Cary Clark
c896eddc1c stabilize catalog
Identify volatile stdout from examples
to make site/user/api/catalog.htm the same from one run to
the next.

Remove a debugging printf from mdOut.cpp

Docs-Preview: https://skia.org/?cl=83941
Bug: skia:6898
Change-Id: I52c7527394e00934f57bb6c02ff33b422f4770ca
Reviewed-on: https://skia-review.googlesource.com/83941
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2017-12-12 17:02:14 +00:00
Mike Klein
be22636c3d a little SkJumper tidy up
I noticed these little bits while working on that old-Clang fix.

   - We can force-inline anytime we've got Clang,
     not just when JUMPER_IS_OFFLINE.

   - The _aarch64 and _vfp4 WRAP functions are dead code,
     as they're never compiled offline now.

Change-Id: I5850daded2ffcfe50ceeadc43f89fa8597df3387
Reviewed-on: https://skia-review.googlesource.com/84060
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2017-12-12 16:57:29 +00:00
Cary Clark
34adefa453 only read color array if flag is fixed color
Fixed color array shouldn't be required in Lattice
if no flag is set to kFixedColor.

Skip the read from the array if it is not set.

R=stani@google.com
Bug: skia:6898
Change-Id: I846b5fdf036cf110ce0ae4ffcf0654bca7029412
Reviewed-on: https://skia-review.googlesource.com/83942
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Cary Clark <caryclark@skia.org>
2017-12-12 16:57:09 +00:00
Cary Clark
ca3ebcd724 fix fractured fiddles
Latest run of Ravi's bot found a couple
of new fiddle failures. Fix them.

Yay, tools!

Docs-Preview: https://skia.org/?cl=83944
Bug: skia:6898
Change-Id: I98ecef6b034363dfea88bcc9c710fb3017fc1c21
Reviewed-on: https://skia-review.googlesource.com/83944
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2017-12-12 16:44:29 +00:00
angle-deps-roller@chromium.org
929253d398 Roll skia/third_party/externals/angle2/ feb2c63b7..7f5c3eb76 (1 commit)
feb2c63b7b..7f5c3eb768

$ git log feb2c63b7..7f5c3eb76 --date=short --no-merges --format='%ad %ae %s'
2017-12-12 cwallez Revert "Implement EGL_ANGLE_iosurface_client_buffer"

Created with:
  roll-dep skia/third_party/externals/angle2


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

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

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE
TBR=liyuqian@google.com

Change-Id: I4ef8ab85f1b4c4f128f1b647baf68f6fcc162868
Reviewed-on: https://skia-review.googlesource.com/83884
Reviewed-by: angle-deps-roller . <angle-deps-roller@chromium.org>
Commit-Queue: angle-deps-roller . <angle-deps-roller@chromium.org>
2017-12-12 16:18:09 +00:00
Mike Klein
03696ce21c drop to scalar mode in some armv7 debug builds
Older versions of Clang, at least vanilla 3.9 and "Apple LLVM version
8.1.0 (clang-802.0.42)" seem to crash when compiling SkJumper_stages.cpp
with NEON for ARMv7 without at least -O1.

So detect that case, and fall back to scalar code.

Change-Id: I3c1595da491bef38c18f47f96690700c67fdc70e
Reviewed-on: https://skia-review.googlesource.com/83980
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-12-12 15:56:19 +00:00
Ravi Mistry
578d451756 Use new bookmaker flag to status.json
Bug: skia:7310
Change-Id: I7eeb73eb6d9c07549bf7a5d7c2d8b4d3049ac3da
Reviewed-on: https://skia-review.googlesource.com/83860
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2017-12-12 15:36:29 +00:00
angle-deps-roller@chromium.org
eb27cab652 Roll skia/third_party/externals/angle2/ 629a64498..feb2c63b7 (1 commit)
629a64498d..feb2c63b7b

$ git log 629a64498..feb2c63b7 --date=short --no-merges --format='%ad %ae %s'
2017-12-08 jiajia.qin ES31: Fixed the SSBO instance array error

Created with:
  roll-dep skia/third_party/externals/angle2


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

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

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE
TBR=liyuqian@google.com

Change-Id: I5ee04de6a0fc0d6111543146c11f36e75cd7eeb5
Reviewed-on: https://skia-review.googlesource.com/83961
Reviewed-by: angle-deps-roller . <angle-deps-roller@chromium.org>
Commit-Queue: angle-deps-roller . <angle-deps-roller@chromium.org>
2017-12-12 15:30:09 +00:00
Ethan Nicholas
e7e81c15c1 converted vertex shaders to device coords
Bug: skia:6239
Change-Id: I1a3b67fe84d208d426d71deb7aea6b0cd433af37
Reviewed-on: https://skia-review.googlesource.com/75501
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-12-12 15:24:09 +00:00
Chris Dalton
344e9037e1 Prefer fullscreen clears on Qualcomm/GL
Adds Qualcomm to the set of GL devices on which we prefer fullscreen
clears.

Renames fullscreenClearIsFree in GrCaps to preferFullscreenClears.

Replaces 'bool canIgnoreClip' on GrRenderTargetContext::clear with an
enum.

Bug: skia:
Change-Id: I5b30298c4d0b092c398b9fea6060f3e2bea91e46
Reviewed-on: https://skia-review.googlesource.com/83060
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2017-12-12 15:21:09 +00:00
Cary Clark
6e64f30891 fix running on linux
Verified that bookmaker running on Linux generates same
.md files as when it runs on Windows.

Fixed a directory separator bug.
Catalog has slightly different output because some
tests generate volatile output -- need to fix this
in general.

Docs-Preview: https://skia.org/?cl=83940
Bug: skia:6898
Change-Id: I3c56c372d155b1b14a1fbdf616fa79f420b78150
Reviewed-on: https://skia-review.googlesource.com/83940
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
2017-12-12 14:20:09 +00:00
Kevin Lubick
1763492c32 Fix scaling logic for NexusPlayer and AndroidOne
They seem to be their own special cases for what
governors they support.

Bug: skia:
NOTRY=true
Change-Id: I7bb220e1d3ba6851c17c7e6ef327aab24ffdba42
Reviewed-on: https://skia-review.googlesource.com/83900
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-12-12 13:31:49 +00:00
Kevin Lubick
3250a487ea Search more for stacktrace to symbolize
If the stacktrace wasn't in the last 200 lines, we couldn't
find and symbolize it.
https://chromium-swarm.appspot.com/task?id=3a5e86a9d0e04e10&refresh=10

We increase the window to 500 lines to account for large memory maps.

Bug: skia:7397
NOTRY=true
Change-Id: Ic8583e383663a9beb62a32e90a5bd5d73d7446a7
Reviewed-on: https://skia-review.googlesource.com/83540
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-12-12 13:26:39 +00:00
Kevin Lubick
f1585aabeb Scale extra CPUs to powersave during nanobench.
This scaling logic correctly accounts for some devices
which have multiple CPUs.  Previously, we were scaling
the smaller of these CPUs, which likely had a negative
impact on nanobench, given nanobench was single threaded
and the CPUs weren't allowed to idle much (because we
set the CPU).

This CL sets those additional CPUs to powersave when we run
nanobench and then correctly scales down the beefier
CPU we want to run nanobench on.

For DM, we just run it in ondemand mode, which will
hopefully be "as fast as possible", but allow the CPU
governor to scale down if overheating becomes a problem.

Bug: skia:7378
notry=TRUE
Change-Id: I45ca5d9fb32182233d1b2d094842c879f2b84da4
Reviewed-on: https://skia-review.googlesource.com/83240
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-12-12 12:36:09 +00:00
Mike Klein
376fd31ad4 remove vfpv4 requirement for SkJumper on ARMv7
VFPv4 gives us two interesting features:
  - FMA
  - f16<->f32 conversions

Even without FMAs, NEON still has non-fused MLA instructions.  We don't
really care about the fusedness of those mul-adds, so losing FMA here is
kind of no big deal.

We already maintain portable code to do f16<->f32 conversions, so it's
not much of a maintanence hit to use that instead of the native
instructions.  To my knowledge software F16 rendering is not a
performance critical mode of operation for any of our users.

This drops our minimum requirement to basically just having NEON.
Devices like the Nexus 7 2012 will now take SkJumper fast paths
instead of portable code.  (Though actually, we've only ever
required NEON for _lowp... only the float code also needed vfpv4).

The main file to look at here is actually SkJumper_vectors.h,
where you will see all the substantive changes.  The rest just
kind of tears down most of the old complexity, add adds ABI
to put just a little of it back.  :)

Change-Id: Ia9237117698729c91e5fa51126baf80748093bf4
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/83521
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2017-12-12 12:02:48 +00:00
angle-deps-roller@chromium.org
ba096c0dc3 Roll skia/third_party/externals/angle2/ c7abc0803..629a64498 (1 commit)
c7abc08034..629a64498d

$ git log c7abc0803..629a64498 --date=short --no-merges --format='%ad %ae %s'
2017-12-11 oetuaho Fix HLSL integer pow workaround

Created with:
  roll-dep skia/third_party/externals/angle2
BUG=793115


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

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

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE
TBR=liyuqian@google.com

Change-Id: I73a2bee4cae25f79d0ccd1fe68e13bc62f9f7a63
Reviewed-on: https://skia-review.googlesource.com/83800
Reviewed-by: angle-deps-roller . <angle-deps-roller@chromium.org>
Commit-Queue: angle-deps-roller . <angle-deps-roller@chromium.org>
2017-12-12 09:05:28 +00:00
Update Docs
40ca2087ef Update markdown files
Automatic commit by the Housekeeper-Nightly-Bookmaker bot.

TBR=update-docs@skia.org
NO_MERGE_BUILDS

Change-Id: Ie94b11512281516d52d165e0453cd50ecf353995
Reviewed-on: https://skia-review.googlesource.com/83724
Reviewed-by: Update Docs <update-docs@skia.org>
Commit-Queue: Update Docs <update-docs@skia.org>
2017-12-12 00:35:08 +00:00
Ravi Mistry
5ca9413b9b [Bookmaker bot] Output fiddleout.json earlier and do not send to CQ for now
Bug: skia:7310
Change-Id: Id6c2f15b72d6837f6536e25dbc3d01cac32af74b
Reviewed-on: https://skia-review.googlesource.com/83640
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2017-12-11 22:17:29 +00:00
Hal Canary
a4935104a5 resources: optionally link them into our binary
To enable, set skia_embed_resources=true in args.gn.

Also add *-EmbededResouces bots.

Change-Id: Ia69b26e926a3ad4676a4fa021894432ea2104538
Reviewed-on: https://skia-review.googlesource.com/82626
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2017-12-11 22:06:38 +00:00
Brian Salomon
94f509b504 Rename GrGLAssembleFooInterface to GrGLMakeAssembledFooInterface.
Add GrGLAssembleInterface with legacy bare pointer return.

This allows existing clients of GrGLAssembleInterface to roll Skia without
code changes.

Change-Id: I0764a9f4583e554fff5574889adcc6fe004db159
Reviewed-on: https://skia-review.googlesource.com/83564
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-12-11 22:03:38 +00:00
Cary Clark
2f466242c7 working on image and nightly housekeeping bot
Add more examples and docs for SkImage; still a ways to go.
Fix bit-rotted examples.
Add typedef support.
Add json driver to pick files to work on; remove special-casing.
Fix unordered map traversal that made md output unreliable.

TBR=rmistry@google.com
Docs-Preview: https://skia.org/?cl=80060
Bug: skia:6898
Change-Id: Ib8eb9fdfa5a9db61c8332e657fa2e2f4b96a665f
Reviewed-on: https://skia-review.googlesource.com/80060
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2017-12-11 21:47:38 +00:00
Florin Malita
bb091a08d1 Fix fuzzer crash in SkReadBuffer::readTypeface()
BUG=skia:7398

Change-Id: I1d0f7a37c6f02ec5f621f7c1b5983b668530dcd9
Reviewed-on: https://skia-review.googlesource.com/83561
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2017-12-11 20:47:28 +00:00
angle-deps-roller@chromium.org
7fdd862512 Roll skia/third_party/externals/angle2/ 9b88991c7..c7abc0803 (1 commit)
9b88991c72..c7abc08034

$ git log 9b88991c7..c7abc0803 --date=short --no-merges --format='%ad %ae %s'
2017-07-04 cwallez Implement EGL_ANGLE_iosurface_client_buffer

Created with:
  roll-dep skia/third_party/externals/angle2


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

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

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE
TBR=liyuqian@google.com

Change-Id: I30c6dc83cb9a8a90514e99b32ca4a530ec0e2176
Reviewed-on: https://skia-review.googlesource.com/83505
Reviewed-by: angle-deps-roller . <angle-deps-roller@chromium.org>
Commit-Queue: angle-deps-roller . <angle-deps-roller@chromium.org>
2017-12-11 20:41:08 +00:00
Brian Salomon
b3ce76eba7 Fix Google3 link errors(?)
Change-Id: If2d689dd34065fa5e71808170164adcb97580c75
Reviewed-on: https://skia-review.googlesource.com/83563
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-12-11 20:28:38 +00:00
Brian Osman
5c54892412 Filter Windows SDK and Compiler directories
This avoids bugs when other directories (like the Driver SDK) show up in
those folders.

Bug: skia:7395
Change-Id: Iee316a7daf8d71223b999de736d63e1dc7fa31f7
Reviewed-on: https://skia-review.googlesource.com/83542
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-12-11 20:26:08 +00:00
Ben Wagner
dba0bc843a Re-add '--gpuThreads 0' tests.
Bug: skia:7394
Change-Id: I2e7ed586d81d19a0b7895ff81ce6670eb7cc5003
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/83445
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-12-11 19:50:58 +00:00
Yuqian Li
7741c75152 Use first/second instead of min/max in 2pt conical gradient
Here's the tiny performance gain:

$python tools/calmbench/calmbench.py firstsecond --extraarg "-m conic"

firstsecond (compared to master) is likely
    4.23% faster in gradient_conicalOut_clamp_3color
    4.23% faster in gradient_conicalOutZero_clamp_3color
    4.79% faster in gradient_conical_clamp_shallow_dither
    6.04% faster in gradient_conical_clamp_3color
    6.04% faster in gradient_conicalZero_clamp_3color
    6.42% faster in gradient_conicalOut_clamp
    6.43% faster in gradient_conicalOutZero_clamp
    6.74% faster in gradient_conical_clamp
    6.98% faster in gradient_conical_clamp_shallow
    6.98% faster in gradient_conicalZero_clamp

Bug: skia:
Change-Id: Id74866908b99753ed8b16a657d3f67c9255d0043
Reviewed-on: https://skia-review.googlesource.com/76561
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2017-12-11 19:42:28 +00:00
Mike Reed
73822257cb read signed 32 if we want to treat it as signed
Bug:793603
Change-Id: I040d775fcf76da095ea2a25c33408508b3466fd7
Reviewed-on: https://skia-review.googlesource.com/83280
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-12-11 19:21:08 +00:00
Zhizhou Yang
e18b77972b Turn on PGO for Skia on Android
This patch is to turn on PGO for skia on Android, which will provide a
performance improvement of 7.6% for hwui when applied PGO for both.

The patch specified a skia.profdata file, which locates in internal
google_data/pgo_profile directory, to work as the profile to feed PGO.
This profdata can be re-collected with PGO build system support.

PGO can be turned off by setting ANDROID_PGO_NO_PROFILE_USE environment
variable or set variable to false.

Test: Build skia successfully and verified the performance improvement
on device through benchmark.

BUG=skia:

Change-Id: I826f417569b2853630f6d4fcce236b5bc36547fa
Reviewed-on: https://skia-review.googlesource.com/82880
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: John Reck <jreck@google.com>
2017-12-11 19:20:08 +00:00
Mike Reed
58a3fcd4b3 add virtual to confirm flattenable type
meant to replace https://skia-review.googlesource.com/c/skia/+/83381

Bug:793639
Change-Id: I972dc80725bf5ce5be24769aafa23269735e089c
Reviewed-on: https://skia-review.googlesource.com/83444
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-12-11 18:50:00 +00:00
Eric Boren
cbe99c050e bin/try: No prompt for a single matching job
NOTRY: true
Bug: skia:
Change-Id: I14e71f96b56b4288807bcc5189593b22d3078824
Reviewed-on: https://skia-review.googlesource.com/83443
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2017-12-11 18:32:08 +00:00
Stan Iliev
ca8c0953e8 Implement a fast path for solid color lattice rectangle
Add a flag that hints, which lattice rectangles are solid colors.
Draw solid rectangles and 1x1 rectangles with drawRect.

Test: Measured performance of a ninepatch drawn by HWUI
Bug: b/69796044
Change-Id: Ib3b00ca608da42fa9f2d2038cc126a978421ec7c
Reviewed-on: https://skia-review.googlesource.com/79821
Commit-Queue: Stan Iliev <stani@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2017-12-11 18:26:18 +00:00
Ethan Nicholas
51493ee848 fixed SkSL optimizing away side effects
Bug: skia:7196
Change-Id: I44676003d9ea7970efb40df2f7e40c2de05a5f67
Reviewed-on: https://skia-review.googlesource.com/83440
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-12-11 18:04:48 +00:00
Ben Wagner
603144229b Remove PixelC CPU jobs.
The Nexus5x took these jobs in https://skia-review.googlesource.com/c/skia/+/82624

Also filed skia:7394 for missing coverage of "--gpuThreads 0".

Bug: skia:7382
Change-Id: If0fd823722d8b8cc3845f8d96a0a285fec935f74
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/83360
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-12-11 17:58:08 +00:00
Brian Salomon
3d6801eeee Add GrGLMakeNativeInterface factory that returns sk_sp<const GrGLInterface>.
Removes the concept of a configurable "default" interface and makes the default
always be the "native" interface.

Also removes unused functions: GrGLInterfaceAddTestDebugMarker and
GrGLInterface::NewClone.

Keeps around legacy GrGLCreateNativeInterface() until clients can be weened.

Change-Id: I4a3bdafa8cf8c68ed13318393abd55686b045ccb
Reviewed-on: https://skia-review.googlesource.com/83000
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-12-11 17:54:38 +00:00
Brian Osman
d67e518980 Move ImGui support code to ImGuiLayer
Viewer still has plenty of code that uses ImGui to create application
specific UI, but the structural code that forwards input to ImGui, and
converts per-frame ImGui rendering data to Skia draw commands is now in
a single component that can be reused in any sk_app-based application.

Bug: skia:
Change-Id: Ic14ece659d4af8ee13b69c638bdaf7df6c24f5c0
Reviewed-on: https://skia-review.googlesource.com/82627
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2017-12-11 17:37:58 +00:00
Chris Dalton
2326177e34 CCPR: Don't use instanced draw calls with geometry shaders
It isn't necessary for the vertex shader to know all the points
because everything happens in the geometry shader. It's simpler to use
regular vertex arrays instead.

Bug: skia:
Change-Id: I7bf83180476fbe0ab01492611cd72e72b3f7d4f2
Reviewed-on: https://skia-review.googlesource.com/82881
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2017-12-11 17:27:38 +00:00
Hal Canary
30c48065dd apps/build.gradle: skiaOut is now absolute since a2e7f5ae10
Change-Id: I27df422a78209d60647db89a608fc31f9739a429
Reviewed-on: https://skia-review.googlesource.com/83361
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-12-11 17:16:58 +00:00
Florin Malita
ba19b6f219 Fix SampleLua build
Change-Id: Ie0114ab16b99aed4343f6255dbc86fb15554ea74
Reviewed-on: https://skia-review.googlesource.com/83380
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-12-11 17:15:40 +00:00
Brian Osman
80fc07e8f8 Create a Window::Layer interface to reduce sk_app glue code
This also makes it possible to manage other parts of viewer, etc (like
the stats screen, command set, even samples) as additional layers in the
stack. For now, it just removes a lot of boilerplate.

Bug: skia:
Change-Id: Ic2f80690fc76c683b3736287dc2b738c50d38614
Reviewed-on: https://skia-review.googlesource.com/82688
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-12-11 16:46:58 +00:00
Mike Klein
46020c4409 The downsamplebitmap_image GMs only use one image.
So there's no need to include the image name or path in the GM name.

Change-Id: Idc510906ae77c5c73756f41bc13e859e231e9139
Reviewed-on: https://skia-review.googlesource.com/83320
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-12-11 16:38:58 +00:00
Mike Klein
2bbcda3071 Revert "add experimental bilerp_clamp_8888 stage"
This reverts commit a7fa3377d2.

Reason for revert: lots of crashing GPU bots.

Original change's description:
> add experimental bilerp_clamp_8888 stage
> 
> It looks like we can specialize hot image shaders into their
> own single stages for a good speedup on both x86 and ARM.
> 
> I've started here with bilerp_clamp_8888, and will
> follow up with bgra and 565, and lowp versions of those,
> and probably also the same for nearest neighbors.
> 
> All pixels are identical in GMs.
> 
> Change-Id: I2f6995767cd38053d670b8d0bfdb71b687803d70
> Reviewed-on: https://skia-review.googlesource.com/82100
> Reviewed-by: Yuqian Li <liyuqian@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>

TBR=mtklein@chromium.org,mtklein@google.com,liyuqian@google.com

Change-Id: If70abb91b69bcd781e395dd3ac05ff1eebb1169f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/83340
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-12-11 16:09:49 +00:00