Commit Graph

44247 Commits

Author SHA1 Message Date
Ethan Nicholas
6f62412c92 Fixed integer divide / remainder in sksl interpreter
Our integer tests were broken: constant folding was optimizing away
the actual operations, so nothing was actually being tested. This
allowed us to not realize that integer divide / remainder didn't
work: vector division signals if any of divisor's lanes are zero,
and zeroes are common in masked-off lanes.

This replaces naive vector operations with loops and mask checks
for integer divide and remainder, and corrects the various broken
integer tests so they are actually doing stuff.

Change-Id: I6ffcad9e7b38a0bfd1604097f86d0faa24e1dbc7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243698
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-09-24 17:35:42 +00:00
Robert Phillips
f73ef0b841 Fix accessing off end of pixmap for R16G16_float in SSE2/SSE4.1 mode
Bug: 1005615, oss-fuzz:17491
Change-Id: Ice8686890efad4693ba436ec74a99d9e73f25d8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243097
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-09-24 17:28:33 +00:00
Leon Scroggins III
ba45830975 Move is_orientation_marker into its own file
Bug: skia:8046

This is used both by SkJpegCodec and SkWebpCodec, so make it possible
to use it when SK_HAS_JPEG_LIBRARY is not set.

Change-Id: I34aa3587500cca3d2d74c4eb33945451592bf72b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/175428
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-09-24 17:08:03 +00:00
Robert Phillips
8a48057b2b Clean up cruft left over from addition GrGpu::createBackendTexture chokepoint
The choke point now checks all the deleted conditions.

Change-Id: I064b107a09fdfeccf1cdf04b1b58a3c617c9ac96
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243697
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-09-24 17:00:33 +00:00
Jim Van Verth
95df613ed1 Remove MoltenVK configs from the bots.
With Metal up and running these are no longer needed.

Change-Id: I79948707060afc3a9d2d3a4d531a7d3e5d08298d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243696
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-09-24 17:00:03 +00:00
Nigel Tao
d48f13b26a Enable Codec_GifInterlacedTruncated test for Wuffs
A recent update to the Wuffs version that Skia uses means that the test
now passes.

While the old third_party/gif implementation and the Wuffs
implementation now both replicate interlaced rows (what the old
implementation calls a "Haeberli hack"), and the
Codec_GifInterlacedTruncated test passes either way, the exact
replication algorithm is different. In general, pixel-by-pixel output
may be different for the same (truncated) input.

For example, the old implementation only processed input on block
boundaries. If the truncation happened within a block, the old
implementation produces no output for that partial block but the Wuffs
implementation does.

Also, the old implementation used the interlaced row as the *center* of
the extrapolation (the 'broad brush'); Wuffs uses it as the *top* of the
extrapolation. There are subjective arguments (e.g. 'Venetian blinds',
'fat bottom rows') for either behavior. In any case, it isn't covered by
the GIF spec.

Bug: skia:8235
Bug: skia:8766
Change-Id: Ia8d8b1007006697498e47ec6bba7be7d81be10c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243596
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2019-09-24 16:48:33 +00:00
Mike Reed
5f12eaa6c2 support gpu for skottie2movie
-g will try to render the frames using OpenGL

For the motion-blur test skottie on Mac Pro...

Before: 71.0 secs
After :  6.6 secs

Change-Id: I7e723d4ac0bb63b0e42381ed50bf2144dfc9c8a3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243428
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-09-24 16:42:50 +00:00
Brian Osman
4c2146f2ca Interpreter: Add bitwise shift operators
These only support fixed shift amounts (for now) ... because that's what
skvx supports ... because that's what various SIMD instructions support.

(We could loop over lanes, but the only need for this at the moment
is fine with constant shift).

Change-Id: I0e2c17084d019ff9b9a21476633adb59b3ce4bd6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243656
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-09-24 14:56:36 +00:00
Herb Derby
f07a363413 Limit sigma for software blurs
The value (window + 1)^3 * 255 < 2^32.
window = floor(sigma * 3 * sqrt(2 * kPi) / 4)
So, max sigma = 135.

Bug: skia:9454
Change-Id: I1df5137013da3e80d1e8af9ed6ac2b688ef95e7d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243430
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-09-24 14:00:36 +00:00
skia-autoroll
867ab81687 Roll third_party/externals/angle2 a905cbcdc21b..6d625bfe6e8a (3 commits)
a905cbcdc2..6d625bfe6e

git log a905cbcdc21b..6d625bfe6e8a --date=short --no-merges --format='%ad %ae %s'
2019-09-24 ynovikov@chromium.org Skip ComputeShaderTest.UniformDirty on Linux Intel Vulkan
2019-09-23 timvp@google.com Vulkan: Disable Line Rasterization Emulation for Android
2019-09-23 jmadill@chromium.org Capture/Replay: Force capture on Context teardown.

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

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 bungeman@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=bungeman@google.com
Change-Id: I0ad390399f0f53535e20ca76c04ba7cf84ab40d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243557
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-09-24 05:36:57 +00:00
skia-recreate-skps
e51571fb9a Update Go deps
Change-Id: I97ecb3a6b11e0bd1d9daa833f0f275ca0318dcba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243564
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-09-24 05:25:07 +00:00
skia-autoroll
789b1f8826 Roll ../src 82de2e611e32..a76152f4e4ce (372 commits)
82de2e611e..a76152f4e4


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

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 bungeman@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=bungeman@google.com
Change-Id: I03f295b80f2035f8564d1f0c81ddd9330f335399
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243558
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-09-24 04:43:27 +00:00
skia-autoroll
ea5ae59020 Roll third_party/externals/swiftshader 1f89f58faeb8..e3a5983705da (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/1f89f58faeb8..e3a5983705da

git log 1f89f58faeb8..e3a5983705da --date=short --no-merges --format='%ad %ae %s'
2019-09-23 swiftshader.regress@gmail.com Regres: Update test lists @ 1f89f58f

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

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 bungeman@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=bungeman@google.com
Change-Id: I0706616f98332c1ddb09bf738c2ccb867069d56f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243556
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-09-24 04:32:07 +00:00
Chris Dalton
c096654fa7 ccpr: Don't assign inverse fill types to fan tessellations
Bug: skia:9453
Change-Id: Iabbd1089975efff4e89687e990128c075bf0ab9d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243432
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-09-24 02:44:17 +00:00
recipe-roller
b4b1005d48 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/ba5bc99b6ab9b2e39188ce6054c00e301dd86c1b auth: Use luci-auth to get credentials. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If2e9109427c3ab9bbd6f671a5752ecb3887bac66
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243433
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-09-23 23:31:56 +00:00
recipe-roller
672bcaf02c 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/3841eaa164c2f34c8ea969d462a3151b10151780 Remove unused imports in depot_tools/*.py (qyearsley@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I842929ede01933bf3c1828d89e8b70af05ed9320
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243431
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-09-23 22:00:57 +00:00
skia-autoroll
ab0af4cc02 Roll third_party/externals/angle2 8be7a4c7f738..a905cbcdc21b (5 commits)
8be7a4c7f7..a905cbcdc2

git log 8be7a4c7f738..a905cbcdc21b --date=short --no-merges --format='%ad %ae %s'
2019-09-23 jmadill@chromium.org Compact built-in symbol table.
2019-09-23 jmadill@chromium.org Fix SwiftShader to use data_deps.
2019-09-23 jmadill@chromium.org Temporarily disable SwiftShader on Windows 7.
2019-09-23 jmadill@chromium.org Disable non-portable include path warning.
2019-09-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src f7a48b153f2a..973d0e538292 (1 commits)

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

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 bungeman@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=bungeman@google.com
Change-Id: Ie492a42efd541891ba6df982928919cfe8224067
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243520
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-09-23 21:59:07 +00:00
recipe-roller
bfb292a859 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/6f18e68719fc02f9e08185e8c27a583deca2d1e5 gclient: Execute python hooks using vpython. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I470719398e41b72f066917b5f4d0e0b32db5b8c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243429
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-09-23 21:30:39 +00:00
Chris Dalton
b795ab7372 Abolish absClear
Change-Id: Iec1eba6a3e54b06685ca637e9950b3e8f95a4ae6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243176
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-09-23 21:13:36 +00:00
Jim Van Verth
4dd7c01ca8 Use safe computation for adding up YUVASizeInfo total bytes
Bug: skia:8757
Change-Id: Idc521302d0a2b677f6b5cd2e5ef9cf20a51607b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243427
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-09-23 20:55:28 +00:00
Leon Scroggins III
b3542d95da Rename SkOrientationMarker.cpp
Bug: skia:8046

The only method it has in it is SkParseEncodedOrigin, so rename to
match. As with the original file, this is here so we can update
Chromium's build file, then land the CL which makes it do something.

Change-Id: Idc8bf44ea3d3f251bd122858e10313c31d0eeec6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243426
Commit-Queue: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-09-23 19:08:13 +00:00
Greg Daniel
a18173b3ee Fix TEST_BUILDER name in perf recipe.
Change-Id: Ia27920f405db6db09d1519134526e6a120bd1f4c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243425
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-09-23 19:03:13 +00:00
recipe-roller
ee22f49d8f 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/06e1869f2badbc5c4b2847c31aa08bfc5e169d43 Add Dawn to projects for my_activity.py (rharrison@chromium.org)
  https://crrev.com/fdb59f0d9088922c75c74152613bc437e8468efc Revert "git-cache: don't limit pack files to 2GiB." (tandrii@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I91838f0cbe809ca766840732d803b8e06542b887
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243467
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-09-23 19:01:13 +00:00
Brian Osman
801dd1bb0d Minor SkSL cleanup
- Fix a tiny documentation bug in the README: layout(key) needs to be on
  an 'in' variable (not just a 'uniform').
- Remove an unused list of key variables from GrSkSLFP. Guessing that
  this was planned to be used, but the key calculation requires a running
  offset through all input variables, so doesn't refer to this.

Bug: skia:9451
Change-Id: I0f32a742c14c0ba70a2c3373b92438093cd62216
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243423
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-09-23 18:55:43 +00:00
recipe-roller
a577525214 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/90a67e2fc1a3d8a0f13964d142e8fddf7b8a7f49 Remove some unused private things in git_cl (qyearsley@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I1f2338ea3e693c3293eb7ed26d202289c67a1375
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243458
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-09-23 18:32:02 +00:00
Nigel Tao
26499bdbd1 Update Wuffs version
The primary purpose of this commit is to track upstream Wuffs more
closely.

A side effect is to pull in the Wuffs commit
ca9015bd2d
"Have std/gif replicate interlaced rows", which lessens a difference
between the old third_party/gif decoder and the new third_party/wuffs
decoder.

Bug: skia:8235
Change-Id: I8f42423e0e931ce32c49b791b325d50f83dd7eac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243336
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2019-09-23 18:17:02 +00:00
Greg Daniel
86fce3f417 Remove Vulkan Nexus5x bot.
The 5x vulkan driver is starting to show a lot of its bugs that are becoming
a pain to work around for testing. Since the driver will probably not be updated
on this device so we wouldn't ship vulkan on it, I am removing it from our test
pool.

Bug: skia:9124
Bug: skia:9027
Bug: skia:9271
Change-Id: I89166af19f77c3c00a1f877dc4fe78596bbfa9c9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243422
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-09-23 18:08:02 +00:00
Brian Salomon
b810c25514 Make GrGpuResource ref counting atomic.
If this sticks without causing a performance regression then it'd be
good to rework it on top of SkRefCnt, using it's internal_dispose()
mechanism to return the resource to the cache.

Change-Id: Ic43633ac6421a1e20f00aefa27f78b3eb0e89e8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243416
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-09-23 17:41:03 +00:00
Florin Malita
0f11e115d7 [skottie] Fix motion blur asserts
MotionBlurEffect makes use of many abilities some consider to be
unnatural.  Notably, it mutates the state of its subtree at render time
(gasp) to sample various time points.

Mutation triggers scene graph invalidation, which bubbles up the
ancestor chain.  While we immediately revalidate the subtree, we
cannot do the same for ancestors (no full scene knowledge).  This means
post-rendering, we leave some SG nodes dirty - which triggers various
debug asserts).

The easiest fix is to temporarily suppress invalidation bubbling at the
MotionBlurEffect node level (this is safe, because we always revalidate
the subtree).

Also add a post-render assert for tighter state validation.

Change-Id: I376b7a8880f71d85e595c419334b42bc4720ac65
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243420
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-09-23 17:34:42 +00:00
recipe-roller
ee11283a0c 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/494a88f6f8c345512a5dbb9136ca99ab10bc6dd5 Convert entire tricium Results message to JSON only once (garymm@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib39032316d855914cca33c1a1e2d20a1ec4a604c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243447
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-09-23 17:12:41 +00:00
Brian Osman
e5bbce209c Interpreter: Add bitwise operators
Also, negation is unary, not binary.

Change-Id: Ic7c5a6f2ee0b2bbda89eef62999e4ebbc97dca12
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243161
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-09-23 17:10:01 +00:00
Ethan Nicholas
d166d2e62f SkSL interpreter now properly short-circuits boolean operators
Bug: skia:
Change-Id: If7acf4107498cabc049ad130814a3814383bd14b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243418
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-09-23 16:21:04 +00:00
Robert Phillips
57ef680775 Create a GrGpu::createBackendTexture choke point
This also makes createBackendTexture take SkPixmaps (instead of a raw pixels pointer)

Change-Id: I5d8a5a58fa7b15862fbf46a3c232cb6ea7f58976
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243158
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-09-23 16:01:25 +00:00
Brian Salomon
e4bce01613 Remove a few GrSurfaceProxy::config() usages
Change-Id: I9da9e1dadea71701c97994f8df1e7b5912989672
Bug: skia:6718
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243159
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-09-23 15:43:34 +00:00
Brian Osman
e7bd1cb4f6 Roll third_party/externals/angle2 6c4ff5ddab07..8be7a4c7f738 (12 commits)
*** Manual roll with build fix for new FrameCapture setup ***

6c4ff5ddab..8be7a4c7f7

git log 6c4ff5ddab07..8be7a4c7f738 --date=short --no-merges --format='%ad %ae %s'
2019-09-21 jmadill@chromium.org Re-land "Vulkan: SwiftShader integration."
2019-09-21 jmadill@chromium.org Capture/Replay: Encapsulate cpp replay.
2019-09-21 jmadill@chromium.org Reland "Refactor built-in symbol table."
2019-09-21 zmo@chromium.org Revert "Refactor built-in symbol table."
2019-09-21 jmadill@chromium.org Capture/Replay: Move stub implementation to new file.
2019-09-20 ianelliott@google.com Vulkan: Enable most dEQP-GLES31.functional.state_query* tests to run
2019-09-20 geofflang@chromium.org GL: Treat unknown AHardwareBuffer formats as RGBA8.
2019-09-20 jmadill@chromium.org Refactor built-in symbol table.
2019-09-20 aukinros@microsoft.com Add support for generating UWP (Windows Store) projects again
2019-09-20 jmadill@chromium.org Vulkan: Track resource usage via counter.
2019-09-20 jmadill@chromium.org Vulkan: Pass CommandGraph when updating serials.
2019-09-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src caca1d1cc46e..f7a48b153f2a (1 commits)

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

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

Change-Id: I8560c827bdf3694dc373dcf6c06220bdaafd6924
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243197
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-09-23 15:11:24 +00:00
recipe-roller
ab52a7a53d 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/e8d0b68df47a63f3a184f64c138404a139e046ed [swarming] expose current bot_id and task_id on api.swarming. (tandrii@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I3536a030ee7ea3fe12d765e080b94b4344fef8ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243397
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-09-23 09:53:53 +00:00
skia-autoroll
776d81525e Roll ../src 3243c3b11405..82de2e611e32 (463 commits)
3243c3b114..82de2e611e


Created with:
  gclient setdep -r ../src@82de2e611e

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 bungeman@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=bungeman@google.com
Change-Id: I1e009db168cd5b02a056ebc39eac2a428a150337
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243358
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-09-23 04:44:03 +00:00
skia-autoroll
5b4c0ee19b Roll third_party/externals/swiftshader b6fa949c4539..1f89f58faeb8 (5 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/b6fa949c4539..1f89f58faeb8

git log b6fa949c4539..1f89f58faeb8 --date=short --no-merges --format='%ad %ae %s'
2019-09-20 jmadill@chromium.org Do not call Scheduler destructor in libVulkan.
2019-09-20 natsu@google.com [android] Add missing lib to _common_debug target
2019-09-20 nicolascapens@google.com Merge changes Ia7ee9d37,Ia3214243
2019-09-20 sugoi@google.com Enable sampling a depth-stencil format
2019-09-20 sugoi@google.com Fix support for OpKill as non-terminator

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

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 bungeman@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=bungeman@google.com
Change-Id: I59850c8b3d73ab04200d47ad5efa211fe8434d22
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243356
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-09-23 04:34:03 +00:00
recipe-roller
b4d60b5eda 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/7cb60e812f165c2d6eaa1646b2a672a5ecb4ef9f git-cache: fix bug in prior CL. (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I83831d75de10d0fbe938800b434bab3c96209559
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243270
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-09-22 20:19:24 +00:00
skia-recreate-skps
8b9de72766 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I348f7b8a746e23fc7dc17beb591302c49cab1a67
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243266
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-09-22 18:08:26 +00:00
skia-recreate-skps
1848f3e963 Update Go deps
Change-Id: I080e1718f4e30eddb7daade85ed4a8470a00371e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243258
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-09-22 15:34:26 +00:00
recipe-roller
2e00c9f853 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/82ae4b4b7d53362d7c8ff27731e9c89747865b93 git-cache: don't limit pack files to 2GiB. (tandrii@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ibf68b8a90bca8bfab70ce2d53f9b484e7ba6676d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243296
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-09-22 15:32:36 +00:00
recipe-roller
23b8230b5d 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/a79f0e50bb33eac87ed7f64418c2889be2e0fbf5 tests/gclient_scm_test.py: Fix invalid escape sequences in regex strings (raul@tambre.ee)
  https://crrev.com/383f6cf02d4718ff6a3aadb514f0525222e7e730 gclient_utils: Actually pass the include_zero parameter to Annotated constructor (raul@tambre.ee)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic56e383b8b51832f5d5712eb1394040874506057
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243276
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-09-21 15:11:28 +00:00
skia-recreate-skps
46203b003a Update Go deps
Change-Id: Id6d41294e53b88a2f02ca8449685b3ad8f1944ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243253
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-09-21 05:25:08 +00:00
recipe-roller
edd92eed5b 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/dcfe55f13f15e597373497675beaf89811d5d4f3 git-cache: add --gc-aggressive support. (tandrii@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I1422dff73085b79a8495eaad52d6b23489135e1f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243248
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-09-21 04:35:58 +00:00
recipe-roller
bd67d0035a 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/d4d1ba4971aa0bb0cf2cf059251a12d31b275587 git-cl: Use buildbucket v2 to schedule try jobs. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id1f10738fc5425666b4db3e494190aa5d4c7164b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243240
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-09-20 22:22:27 +00:00
Ethan Nicholas
942d69fa9d Revert "Fixed GLSL ES compilation error in GLTestAtlasTextRenderer"
This reverts commit 382ea73f15.

Reason for revert: breaking the non-Metal iOS bots

Original change's description:
> Fixed GLSL ES compilation error in GLTestAtlasTextRenderer
> 
> The test was issuing GL code without precision modifiers in a GLSL
> ES context. This wasn't being detected as a fatal error (which is
> a separate issue that should probably be addressed) but was
> resulting in errors being logged from dm on (at least)
> Test-iOS-Clang-iPhone6-GPU-PowerVRGX6450-arm64-Release-All-Metal.
> 
> Bug: skia:9266
> Change-Id: Ic9b22ed2c66e37ed670270c377364de3bdd15f41
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243042
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

TBR=jvanverth@google.com,bsalomon@google.com,ethannicholas@google.com

Change-Id: I02feb9a6523ca777cd0de243eed4d1d1263a337f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9266
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243162
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-09-20 21:04:49 +00:00
Ethan Nicholas
382ea73f15 Fixed GLSL ES compilation error in GLTestAtlasTextRenderer
The test was issuing GL code without precision modifiers in a GLSL
ES context. This wasn't being detected as a fatal error (which is
a separate issue that should probably be addressed) but was
resulting in errors being logged from dm on (at least)
Test-iOS-Clang-iPhone6-GPU-PowerVRGX6450-arm64-Release-All-Metal.

Bug: skia:9266
Change-Id: Ic9b22ed2c66e37ed670270c377364de3bdd15f41
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243042
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-09-20 20:18:37 +00:00
Brian Salomon
8660eb0df1 Check for scratch textures in GrResourceProvider.
Restores scratch pool checks that were accidentally removed here:
https://skia.googlesource.com/skia/+/a90382fcf6759d4e13c20cf542ab5440ffd4f02d

Also enables checking scratch pool for mip-mapped textures, which was not
previously done.

Consolidates level prep and write-pixels code.

Bug: chromium:1005237
Change-Id: I6f23ce15299290ca5b666f910dc5fc85541ec316
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/243038
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-09-20 19:55:27 +00:00
Kevin Lubick
6b921b7e4a [canvaskit] add support for SkAnimatedImage
Also adds tests for static png,jpg,gif

Was unable to simply expose drawDrawable because the JS
side of things does not understand inheritance (specifically,
it doesn't know what is a descendant from SkDrawable).

Change-Id: I6a833c93f22ef90ae12e901168ff428e20504209
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/242562
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-09-20 18:34:01 +00:00