Commit Graph

36650 Commits

Author SHA1 Message Date
Robert Phillips
31c080b176 Add GPU-side caching of mask-filtered path masks (take 2)
This takes about half the time on the instagram skp

Change-Id: I3aa15f1298551139907ccb997ee02a1477a07fdb
Reviewed-on: https://skia-review.googlesource.com/148905
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-23 16:19:19 +00:00
Brian Salomon
3b83afe8d9 Try again to fix leak of SkSL parser map when built standalone
The real problem was that we would create multiple instances in
standalone. The second instance would overwrite the pointer to the
first instance without freeing it. Just init once at startup.

Change-Id: I97b28a4b18413f055b413d4e0a47ae092c559e2b
Reviewed-on: https://skia-review.googlesource.com/148907
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-08-23 15:25:41 +00:00
Robert Phillips
6f6a8355e6 Add 0-blur-sigma check to directFilterMaskGPU
Bug: oss-fuzz:10026
Change-Id: Ia3cec3f1878ba654168849b2a1a852eb190798eb
Reviewed-on: https://skia-review.googlesource.com/148908
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-23 15:22:21 +00:00
Hal Canary
9db44ed0ef bin/droid script: fix wierd mkdir error on my device
Here's the error:
    adb: error: failed to copy '...' to '...':
    remote secure_mkdirs failed: Operation not permitted

I also cleaned up the script.

No-Try: true
Change-Id: Ie2dec7b42eaf2a19475cdd0a04074f8bec47b2fb
Reviewed-on: https://skia-review.googlesource.com/148906
Auto-Submit: Hal Canary <halcanary@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-23 14:46:19 +00:00
Brian Salomon
140f3da2b3 Revert "Fix leak in SkSLParser"
This reverts commit e82ef48783.

Reason for revert: Chrome balks at static ~
https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8937396289549666272/+/steps/compile__with_patch_/0/stdout

Original change's description:
> Fix leak in SkSLParser
> 
> Change-Id: Id608361eadf63a02a9bde428215284201e80d4ee
> Reviewed-on: https://skia-review.googlesource.com/148901
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: Ic119f85584eeae961fc920cb361baa2bbf6ab231
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/148921
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-08-23 13:51:32 +00:00
Brian Salomon
e82ef48783 Fix leak in SkSLParser
Change-Id: Id608361eadf63a02a9bde428215284201e80d4ee
Reviewed-on: https://skia-review.googlesource.com/148901
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-08-23 13:30:28 +00:00
Greg Daniel
6f72bbc52b Revert "Add GPU-side caching of mask-filtered path masks"
This reverts commit 0b4a2538dd.

Reason for revert: breaking lots of bots

Original change's description:
> Add GPU-side caching of mask-filtered path masks
> 
> This takes about half the time on the instagram skp
> 
> Change-Id: If3085633665638849f3445d2eae5d2f187853cf4
> Reviewed-on: https://skia-review.googlesource.com/146767
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

TBR=bsalomon@google.com,robertphillips@google.com

Change-Id: Ia4abc94f5283f5e5e41f71af9ffda2f370f47c0c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/148920
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-08-23 13:17:21 +00:00
Florin Malita
40c37426b3 [skottie] Plumb external SkFontMgr
Allow embedders to pass a font manager.

In order to avoid excessive factory API clutter, introduce an
Animation::Builder helper to wrap factory options.

Also clean up various bits:

  * hoist scene parsing out of the Animation ctor
  * store the animation duration explicitly (instead of unused fps)
  * plumb const SkFontMgr& internally (instead of a ref)

Change-Id: I3e180dfa85ba18c8462cfeb5a7385bef985ed6c4
Reviewed-on: https://skia-review.googlesource.com/148800
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-23 13:13:30 +00:00
Eric Boren
4822387123 [infra] Speculative fix for cq.cfg
Bug: skia:
Change-Id: I276a07f8b8f05c7e43dbe4024aa0adff4e0d01ed
Reviewed-on: https://skia-review.googlesource.com/148900
Reviewed-by: Eric Boren <borenet@google.com>
2018-08-23 12:37:21 +00:00
Robert Phillips
0b4a2538dd Add GPU-side caching of mask-filtered path masks
This takes about half the time on the instagram skp

Change-Id: If3085633665638849f3445d2eae5d2f187853cf4
Reviewed-on: https://skia-review.googlesource.com/146767
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-23 12:32:54 +00:00
Ben Wagner
31629a8a32 [infra] Rename PowerVR jobs to be consistent.
Add "PowerVR" to GT7600, GT7800, and GX6450 (iOS jobs).

Add model number G6430 to NexusPlayer.

Change-Id: Id0beb9e25ac793378fcd353836a43b2ea9db1aef
Reviewed-on: https://skia-review.googlesource.com/148668
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-08-23 12:21:19 +00:00
recipe-roller
5953a476d9 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/81db1d50324a9f2df87c05ff7cc6d082b27db242 git cl: cache GetRemoteUrl result. (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I9f517b60dcc62abc8e14f26690afdbc3ebca2e96
Reviewed-on: https://skia-review.googlesource.com/148819
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2018-08-23 02:48:48 +00:00
Brian Osman
cbf64e3634 Revert "Add support for unpremul image sources in the GPU backend"
This reverts commit f06240de2c.

Reason for revert: I think this requires the skcms codec change to re-land,

Original change's description:
> Add support for unpremul image sources in the GPU backend
> 
> Change-Id: Ib940fa0d658fff0b2dd923abfcc5ca4a49b2b38b
> Reviewed-on: https://skia-review.googlesource.com/148397
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,bsalomon@google.com,brianosman@google.com

Change-Id: Ib9358cf858c3c0887322503a4b021e08a0ac4cd5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/148861
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-23 02:00:17 +00:00
Brian Osman
5f7b5e3624 Revert "Stop conflating F16 with linear gamma"
This reverts commit d1589c7213.

Reason for revert: Depends on skcms CL that's been reverted.

Original change's description:
> Stop conflating F16 with linear gamma
> 
> Note to self: I debugged this, realized that the codecs
> need to handle A2B -> XYZ, then realized that I just need
> to wait for https://skia-review.googlesource.com/c/skia/+/136062
> 
> Bug: skia:
> Change-Id: I594c22076feb3700b8a40c471a541fef5ff4e13e
> Reviewed-on: https://skia-review.googlesource.com/137587
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,brianosman@google.com

Change-Id: I6dca583697c8efd2563d30cb7ab9ef505b6903ae
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/148860
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-23 01:57:13 +00:00
recipe-roller
9ac87d4472 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/0ec9d15571fb274b817e3f0336a78bfd35b75e50 git cl: use project~number on Gerrit for better routing when setting reviewers (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I993f5c033a2d6ae1f637fd5efd42191b71b4bdff
Reviewed-on: https://skia-review.googlesource.com/148818
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2018-08-23 01:11:45 +00:00
recipe-roller
fd1303618b 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/cc5f17eedcde98b1cde5bba3e3c00942bfee2aeb git cl: remove more unused func kwargs. (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I94e800ed48657daef336bc9535bd2fd756b08b6b
Reviewed-on: https://skia-review.googlesource.com/148817
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-08-23 00:41:51 +00:00
recipe-roller
98c715a188 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/b7214602e3f1c8be21f7ab8541725593f05777a1 git cl: remove unused issue kwarg. (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I5fe7b16a3e22cf881331f09e2360f5cafb653b5f
Reviewed-on: https://skia-review.googlesource.com/148816
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-08-23 00:05:55 +00:00
Adrienne Walker
70e468f93c Add disable_texture_storage workaround
Bug: chromium: 521904, 829614
Change-Id: I808d9c80bac86cbc23982eaefdc7f822fd408a3d
Reviewed-on: https://skia-review.googlesource.com/148659
Commit-Queue: Adrienne Walker <enne@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-08-22 23:56:23 +00:00
Adrienne Walker
2f4c09b5ca Add remove_pow_with_constant_exponent workaround
Bug: chromium: 477306, 829614
Change-Id: If88c57b15a4cfd6f362a2f5171f8e9c0775cb9d4
Reviewed-on: https://skia-review.googlesource.com/148480
Commit-Queue: Adrienne Walker <enne@chromium.org>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2018-08-22 23:09:36 +00:00
Adrienne Walker
8b23ca6406 Add rewrite_do_while_loops workaround
Bug: chromium: 644669, 829614
Change-Id: Ic6a4cbd9f7c73b9b9a78608f1b4ac4ce4c4f2cb9
Reviewed-on: https://skia-review.googlesource.com/148439
Commit-Queue: Adrienne Walker <enne@chromium.org>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2018-08-22 22:45:52 +00:00
Mike Klein
9b7e99e394 also set Wno-implicit-fallthrough for Android
Change-Id: Idac532f2ac43ef2b702561635c8a6804ae89ff74
Reviewed-on: https://skia-review.googlesource.com/148809
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2018-08-22 22:01:11 +00:00
Leon Scroggins III
33d5394d08 Revert "Switch SkCodec to use skcms" and follow on change
This reverts commit 81886e8f94 and
f8ae5ce20c
("Fix CMYK handling in JPEG codec")

This fixes the Android build, which was failing a CTS test with this
change.

Bug: skia:6839
Bug: skia:8052

TBR=djsollen@google.com
As with the original, no API change

Change-Id: Ic744a610e9f431707f871de44f9f64040bc60d14
Reviewed-on: https://skia-review.googlesource.com/148810
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-08-22 21:13:50 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
45bc27aff2 Roll skia/third_party/skcms b2fffd2ecf2e..e8e06f9724b0 (1 commits)
https://skia.googlesource.com/skcms.git/+log/b2fffd2ecf2e..e8e06f9724b0

2018-08-22 mtklein@google.com Add another CMYK profile.


The AutoRoll server is located here: https://skcms-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=master.tryserver.blink:linux_trusty_blink_rel
TBR=fmalita@google.com

Change-Id: Ib0618e82644706d2f1e6e0932be99aafd9f92886
Reviewed-on: https://skia-review.googlesource.com/148822
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-08-22 20:52:29 +00:00
Robert Phillips
73653b43dd Address perf regression due adding GrRenderTargetContext::drawShape method
All of the skps that regressed have maskFiltered DRRects that can be drawn as nested rects.
These used to go through the nested rect fast path and will again do so with this CL.

Change-Id: Ic787b89ffe71d2e9b20d394d5e0ce1a0ce135e98
Reviewed-on: https://skia-review.googlesource.com/148666
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-22 20:28:02 +00:00
angle-skia-autoroll
4283c03669 Roll third_party/externals/angle2 44ae899ae9ce..9259fd0d4f4c (6 commits)
44ae899ae9..9259fd0d4f


git log 44ae899ae9ce..9259fd0d4f4c --date=short --no-merges --format='%ad %ae %s'
2018-08-22 oetuaho@nvidia.com Clean and enable NoLeakingFragments multiview test
2018-08-22 oetuaho@nvidia.com Add helpers for multiview framebuffer init
2018-08-22 jmadill@chromium.org Add state change test for uniform buffer validation.
2018-08-22 oetuaho@nvidia.com Ignore D3D11 debug layer messages in multiview tests
2018-08-22 chrome-bot@chromium.org Remove cq_name from cq.cfg at tandrii@chromium's request.
2018-08-22 chrome-bot@chromium.org Temporarily suppress multiview test failure due to debug layers


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

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

Change-Id: Ia3170997ab11d33195bb3a82c73ffd541d2e5f0a
Reviewed-on: https://skia-review.googlesource.com/148780
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-08-22 20:17:50 +00:00
Brian Osman
f8ae5ce20c Fix CMYK handling in JPEG codec
Now that the ground-truth color profile is in the skcms profile, we
can't check the info's SkColorSpace (which will never be CMYK) to make
this determination. Look at the profile instead.

Change-Id: I6afda07de35e28b41d73b0b6740e4c46359e5162
Reviewed-on: https://skia-review.googlesource.com/148802
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-22 20:11:41 +00:00
Brian Osman
d1589c7213 Stop conflating F16 with linear gamma
Note to self: I debugged this, realized that the codecs
need to handle A2B -> XYZ, then realized that I just need
to wait for https://skia-review.googlesource.com/c/skia/+/136062

Bug: skia:
Change-Id: I594c22076feb3700b8a40c471a541fef5ff4e13e
Reviewed-on: https://skia-review.googlesource.com/137587
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-22 19:54:57 +00:00
Chris Dalton
d22a023c3a Reland "Disable GPU clip masks"
This reverts commit e2da5f90ac.

Reason for revert: Issue resolved

Original change's description:
> Revert "Disable GPU clip masks"
> 
> This reverts commit 2272ea2a4b.
> 
> Reason for revert: https://crbug.com/863817
> - We are experiencing GPU process instability on Mac
> - Crash is in GL driver
> - The instability only happens with GPU raster enabled
> - This is in the culprit range and affect GL calls made
> 
> Original change's description:
> > Disable GPU clip masks
> > 
> > Bug: skia:
> > Change-Id: I3abacfd17ea6247d0bdb2ab8a2584a88bf468dad
> > Reviewed-on: https://skia-review.googlesource.com/140776
> > Reviewed-by: Stephen White <senorblanco@chromium.org>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> 
> TBR=bsalomon@google.com,robertphillips@google.com,senorblanco@chromium.org,csmartdalton@google.com,senorblanco@google.com
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: skia:
> Change-Id: Ia6c0e6f5dcede2aff7b0c3c6e19d47c255bb3991
> Reviewed-on: https://skia-review.googlesource.com/144660
> Reviewed-by: Christopher Cameron <ccameron@google.com>
> Commit-Queue: Christopher Cameron <ccameron@google.com>

TBR=bsalomon@google.com,robertphillips@google.com,senorblanco@chromium.org,csmartdalton@google.com,ccameron@google.com,senorblanco@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: skia:
Change-Id: I603e28f214f601911c61df63e685a8359a0f0cf1
Reviewed-on: https://skia-review.googlesource.com/148720
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-08-22 19:33:24 +00:00
Brian Osman
f06240de2c Add support for unpremul image sources in the GPU backend
Change-Id: Ib940fa0d658fff0b2dd923abfcc5ca4a49b2b38b
Reviewed-on: https://skia-review.googlesource.com/148397
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-22 19:23:44 +00:00
Michael Ludwig
e84fb199ca Add reset and findLastOf to SkSLString.
reset and findLastOf are defined in SkString, but SkSLString may extend
from std::string instead. In that situation, this implements reset and
findLastOf in terms of the std::string API so taht the SkSLString API is
consistent regardless of SKSL_USE_STD_STRING's status.

Bug: skia:
Change-Id: Ifc38a9f3d533d09282bb6243421791dcf783e131
Reviewed-on: https://skia-review.googlesource.com/148382
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2018-08-22 19:20:24 +00:00
Ben Wagner
d7bc0b1a96 [infra] Remove Braswell Perf Debug jobs.
The Braswell (IntelHD405) bots are way over-capacity. The Perf Debug
jobs are responsible for about half of the bot time.

We don't upload any data from Perf Debug jobs, so the only point of
running them is to catch asserts. It seems unlikely that the Braswell
bots would be the only ones to assert, since we also have Sandy Bridge,
Bay Trail, and Kaby Lake bots running the same configs.

No-Try: true
Change-Id: Id71086aade9f143d76fe80c03e41f7f9b52e911b
Reviewed-on: https://skia-review.googlesource.com/148675
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-08-22 19:13:59 +00:00
Herb Derby
4798576feb Pull SkSpan into its own header file
Change-Id: I32d800c91794093973cb8128fd1b83b4aff91845
Reviewed-on: https://skia-review.googlesource.com/148672
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-08-22 18:49:15 +00:00
Ben Wagner
7ea54289d2 Remove extra Mac CPU jobs.
This is a followup to
https://skia-review.googlesource.com/c/skia/+/145431

Also clean up old job names in recipe expectations.

No-Try: true
Change-Id: Ic63a64a98fb39076680941bb2415b7bb64415179
Reviewed-on: https://skia-review.googlesource.com/148671
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-08-22 18:44:24 +00:00
Adrienne Walker
92b161fab4 Add emulate_abs_int_function workaround
Bug: chromium: 642227,829614
Change-Id: I23be4105041187a6501f45cd2033ac0143642aa1
Reviewed-on: https://skia-review.googlesource.com/147322
Commit-Queue: Adrienne Walker <enne@chromium.org>
Auto-Submit: Adrienne Walker <enne@chromium.org>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2018-08-22 18:25:13 +00:00
Leon Scroggins III
81886e8f94 Switch SkCodec to use skcms
Bug: skia:6839
Bug: skia:8052

Create an skcms_Profile instead of an SkColorSpace when creating an
SkCodec. Eventually we'll move the SkImageInfo (and its SkColorSpace)
entirely to clients (e.g. SkAndroidCodec, SkCodecImageGenerator), but
for now, create it with SkEncodedInfo::makeImageInfo.

Create new SkEncodedInfo::Colors for the special PNG cases that we
want to map to specific SkColorTypes.

SkEncodedInfo:
- Add ICCProfile, which owns an skcms_ICCProfile
 - FIXME: maybe we should have a single instance for
  SRGB like SkColorSpace?
- Add kXAlpha_Color, for kAlpha_8. Since I'm not longer creating
  an SkImageInfo (at least in SkPngCodec), it needs a way to pass
  this info to the caller.
- Add k565_Color, for the same reason. Matt originally had this in
  https://codereview.chromium.org/2212563003/#ps120001, but didn't
  land that version. I like it though. Mike didn't like the bits
  per component for 565, but it seems like a sensible hack, much
  like the existing one for kAlpha_8
- Add width and height. These were removed for redundancy with
  SkImageInfo, but it makes sense to have them here without it.
BUILD.gn:
- Build the new SkEncodedInfo.cpp
SkCodec:
- Remove the constructor with an SkImageInfo. Edit the other one
  to drop width and height (now in SkEncodedInfo) and take a RHS
  reference to SkEncodedInfo
- Create the SkImageInfo from fEncodedInfo (for now)
- Consolidate choosing skcms_AlphaFormat for Transform here
- Call conversionSupported from initializeColorXform, with a new
  parameter for whether there is a color Xform, allowing SkJpegCodec
  and SkHeifCodec to override that method instead of having another
  method.
SkBmpCodec (etc)
- Adapt to the changes above
- Create a new SkEncodedInfo w/o profile for the swizzler.
SkPngCodec:
- use the new SkEncodedInfo::Colors rather than a custom SkImageInfo
SkRawCodec:
- Remove SkEncodedInfo from SkDngImage, which doesn't actually need it.
  This is helpful since we don't know all the info yet.
- Rewrite gAdobeRGB_toXYZD50 as an skcms_Matrix3x3
SkWebpCodec:
- Remove premul_step computation, and simplify to just rely on
  the base class' handling of applying the transform.
SkSwizzler:
- Add cases for the new SkEncodedInfo::Colors

TBR=reed@google.com
No public API changes. Only private/public members of SkCodec.h are
modified.

Change-Id: Ic0d3bb752b03f13be886b80331987aa5a5713fc0
Reviewed-on: https://skia-review.googlesource.com/136062
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-22 18:16:20 +00:00
Brian Osman
82cf64a0d3 Remove unused sRGB mip-map support
Change-Id: I94b27561bfaabe821af280ddc719840e5e25d106
Reviewed-on: https://skia-review.googlesource.com/148669
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-22 17:37:57 +00:00
Kevin Lubick
f14a3c059f [PathKit] Add asm.js build and test jobs
Consolidates the karma files into one for docker/asmjs/wasm and all
combinations.

The asm.js build seems to have some small imprecisions that we didn't
see as much as with WASM, probably due to JS limitations/differences
to c++'s floats.

To address these, I've marked some (5) tests in PathOps* as flaky
because they fail on Release, Debug or Test versions of the asm.js build.

Other then that, asm.js seems basically identical to the WASM.

WASM is much smaller, 416k vs 877k and seems to load faster (not
measured).

Note to reviewers:
example.html was copied from npm-wasm version, so doesn't need
further review.

Bug: skia:8216
Change-Id: Ib92b90fa6c598de85a0be319d46b25693ae5aaa4
Reviewed-on: https://skia-review.googlesource.com/148396
Reviewed-by: Stephan Altmueller <stephana@google.com>
2018-08-22 17:19:10 +00:00
Ben Wagner
760af2548c [infra] Remove NexusPlayer Vulkan jobs.
From robertphillips:
 - not many Android devices use PowerVR chips
 - the NexusPlayer is not getting P
 - We're also ignoring the NexusPlayer vk gold result bc the driver
   doesn't seem to be clearing the color buffer so almost all the
   images are incorrect.

Bug: skia:7021 skia:6132 skia:7191 skia:7244 skia:7018 skia:7837 skia:8166
Change-Id: I2a1e9748deeee7f9cab6294b961783182ed5351e
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/148667
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-22 17:16:01 +00:00
Mike Klein
e03a176510 streamline interface to GrColorSpaceXform::Make()
We can now pass all cs/at params, so no need for UnpremulToUnpremul().

Also found a spot to use sk_srgb_singleton().

Does this make sense to apply to GrColorSpaceXformEffect too?

Change-Id: I1ee1f5919aa2ae841a98eeb5662cb80c244b1049
Reviewed-on: https://skia-review.googlesource.com/148665
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-22 17:09:02 +00:00
Brian Osman
fbc6d7fcf6 Make SkColor4f <-> SkColor skip sRGB conversion
This lets us remove the old S32 functions, and fix a couple bugs.
I think this is a good first step to using SkColor4f for paint colors.

Bug: skia:
Change-Id: I0337c2b6db29b73c2f682f85b9cf68c985de7cce
Reviewed-on: https://skia-review.googlesource.com/147205
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-22 17:03:45 +00:00
Adrienne Walker
c02165fae1 Add unfold_short_circuit_as_ternary workaround
Bug: chromium: 307751,829614
Change-Id: I1fb347e5470eb2a498192f3fc467a6b744b53a79
Reviewed-on: https://skia-review.googlesource.com/147243
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Adrienne Walker <enne@chromium.org>
2018-08-22 16:54:26 +00:00
Leon Scroggins III
4a0ba280b9 Fix flutter build
Flutter relies on SkCodec::kNone, which has been renamed, so define
SK_LEGACY_SKCODEC_NONE_ENUM in order to see the legacy name.

Change-Id: Icc32128c504fe988f55873b0221f56c56859def4
Reviewed-on: https://skia-review.googlesource.com/148663
Auto-Submit: Leon Scroggins <scroggo@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-08-22 16:04:24 +00:00
Robert Phillips
4f6c9157ba Remove occluder parameter from SkMaskFilter::MakeBlur factory
I've cleaned up the call sites in Chrome so we should be able to remove this

Change-Id: I945c0cd54647b20f47012c26f31667b4dd6a07f0
Reviewed-on: https://skia-review.googlesource.com/148662
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-22 15:59:29 +00:00
Brian Salomon
2d0a6a1f98 Reland "Add ability to specify different GP textures for each mesh in a draw."
This reverts commit deeb655912.

Reason for revert: Fix landed for incorrect chaining logic: https://skia-review.googlesource.com/148380

Original change's description:
> Revert "Add ability to specify different GP textures for each mesh in a draw."
> 
> This reverts commit d1b8a166db.
> 
> Reason for revert: breaks android apps, by drawing overlapping content out of painters order.
> 
> Original change's description:
> > Add ability to specify different GP textures for each mesh in a draw.
> > 
> > Uses GrPipeline::DynamicStateArrays to allow per-mesh GP textures when
> > drawing an array of GrMeshes.
> > 
> > Uses this along with op-chaining to make drawing multiple TextureOps
> > with different textures faster.
> > 
> > Change-Id: Iec4da1b72a13d0e0c94c8a8568fe4221c539dfcf
> > Reviewed-on: https://skia-review.googlesource.com/145960
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
> 
> TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Change-Id: I5c686b85adb378ba7faf34576efce74aebd348f7
> Reviewed-on: https://skia-review.googlesource.com/147260
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

TBR=djsollen@google.com,bsalomon@google.com,robertphillips@google.com,brianosman@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I90173d4072c64b9ec4c87989e63e4ed283bd4829
Reviewed-on: https://skia-review.googlesource.com/148681
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-08-22 15:59:19 +00:00
Brian Osman
37f9988065 Remove sRGB pixel config code from DDL tests
More remnants of linear blending.

Change-Id: I35cab7dab63cb392e7427393b2875c234cbb82f0
Reviewed-on: https://skia-review.googlesource.com/146523
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-22 15:30:13 +00:00
Ben Wagner
f0a2c106a5 Add iOS Metal Test job.
Bug: skia:8230
Change-Id: I500905b9e3db46ab775cf56a433de0bb17ef232c
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/146400
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-22 15:11:50 +00:00
Nigel Tao
66bc524d34 Rename SkCodec::kNone to SkCodec::kNoFrame
Add a SK_LEGACY_SKCODEC_NONE_ENUM #define'able to ease transition.

Also rename another internal "kNone" enum in SkWebpCodec.cpp.

The "kNone" name is overloaded:
- include/core/SkImageGenerator.h defines its own kNone.
- include/encode/SkPngEncoder.h defines its own kNone.
- include/private/GrTypesPriv.h defines multiple kNone's.

Bug: skia:
Change-Id: I18c03a74f2f1b0237016e0eef53dcd4478b82609
Reviewed-on: https://skia-review.googlesource.com/146020
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-08-22 14:49:56 +00:00
Nigel Tao
96597c22c3 Add more comments to SkCodec::getRepetitionCount
Bug: skia:
Change-Id: Icc2d7d78106cb587905a8ddb039bc9bf7ae6ad91
Reviewed-on: https://skia-review.googlesource.com/146021
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-08-22 14:16:44 +00:00
Greg Daniel
e6ab998bc2 Revert "added support for sk_Dimensions to SkSL"
This reverts commit 9335c28e40.

Reason for revert: breaking vulkan and maybe metal in gold

Original change's description:
> added support for sk_Dimensions to SkSL
> 
> Bug: skia:
> Change-Id: I5f6a9941822b7b4a3ad85b22b1bcd31d58320f90
> Reviewed-on: https://skia-review.googlesource.com/146640
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

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

Change-Id: I5e9dcfffd118ef125afb7b7792f16cb51dd779a3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/148680
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-08-22 13:56:37 +00:00
Nigel Tao
13df9817f8 Update SkCodec::rewindIfNeeded comment
Bug: skia:
Change-Id: I3c08535115b139be80341543daea6d5e23065cd0
Reviewed-on: https://skia-review.googlesource.com/146022
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2018-08-22 13:28:18 +00:00