Commit Graph

29774 Commits

Author SHA1 Message Date
Mike Reed
8780edabf2 add 'R' to toggle rasterpipeline in sampleapp
Bug: skia:
Change-Id: I5b198c883140a281d9304fe3c44978cd8fcabce9
Reviewed-on: https://skia-review.googlesource.com/31461
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-08-07 16:54:50 +00:00
Heather Miller
3d35d14657 fix Vulkan doc typo
No-Try: true
Docs-Preview: https://skia.org/?cl=31463
Bug: skia:6923
Change-Id: I8dcb40a186dac59ca0ec684afff26c81e97bcc9c
Reviewed-on: https://skia-review.googlesource.com/31463
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
2017-08-07 16:53:19 +00:00
Florin Malita
2045e3b455 Avoid int overflow in LinearGradientContext::shade4_dx_clamp
Change-Id: I86e01aa00b14f8a4b6e64169821768ab5ece9aa3
Reviewed-on: https://skia-review.googlesource.com/31481
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-08-07 16:04:30 +00:00
Chris Dalton
b072bb6a5c CCPR: Process quadratic flat edges without soft msaa
The artifacts previously thought to require msaa can be handled by
(1) converting near-linear quadratics into lines, and (2) ensuring all
quadratic segments are monotonic with respect to the vector of their
closing edge [P2 -> P0].

No. 1 was already in effect.

No. 2 is implemented by this change.

Now we only fall back on soft msaa for the two corner pixels.

This change also does some generic housekeeping in the quadratic
processor.

Bug: skia:
Change-Id: Ib3309c2ed86d3d8bec5f451125a69326e82eeb1c
Reviewed-on: https://skia-review.googlesource.com/29721
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2017-08-07 15:21:30 +00:00
Yuqian Li
399b3c2a01 Add AAA and DAA toggles to viewer
Bug: skia:
Change-Id: I0ee397d2b2c81a25918cb28be426cf5162da772f
Reviewed-on: https://skia-review.googlesource.com/30561
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-08-07 15:09:59 +00:00
Yuqian Li
522101ff97 Remove SK_NO_ANALYTIC_AA
Google3 now has that guard flag removed.

Bug: skia:
Change-Id: I6dede8c815e9f55bd769daef3982fd2fa8a7d6be
Reviewed-on: https://skia-review.googlesource.com/31201
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-08-07 14:37:05 +00:00
Yuqian Li
54043a0c32 Flush threaded device when reaching max queue size
Our SkThreadedBMPDevice is very experimental so I didn't handle this
edge case earlier. Maybe it's now a good time to fix it.

Bug: skia:
Change-Id: Ie3938475449c1341d34200ff3afe4589836950fc
Reviewed-on: https://skia-review.googlesource.com/31203
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-08-07 14:34:30 +00:00
Mike Reed
1aa731a24c remove unused shadeSpanAlpha -- handled by rasterpipeline
Bug: skia:
Change-Id: If13510cbc340b920342d7d4df9ce34ef1081e434
Reviewed-on: https://skia-review.googlesource.com/31420
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2017-08-07 14:32:00 +00:00
Ben Wagner
e08c6a90e5 Upgrade Valgrind to 3.13.0.
Bug: skia:6881
Change-Id: I8c1e4be16f4a79e9aa6fb663337476d0c0fe8c1c
Reviewed-on: https://skia-review.googlesource.com/31024
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-08-07 13:58:00 +00:00
Robert Phillips
6dd8cf144e Remove SkLightingShader and associated classes
Change-Id: I8050414c30dfdb5df23ca79955adc5ba3a29d3f5
Reviewed-on: https://skia-review.googlesource.com/31140
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-08-07 13:33:49 +00:00
Mike Reed
35ee0e09b4 clean up useage of SkFloatBits
Bug: skia:
Change-Id: I6d3a0019f2fcf11feca69123e4ce6eb35de43613
Reviewed-on: https://skia-review.googlesource.com/31222
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2017-08-07 02:49:29 +00:00
UpdateSKPs
b2a5973d02 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: Ie921f06c2a4cfce69972f3e1a3896e6d3e9db188
Reviewed-on: https://skia-review.googlesource.com/31340
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>
2017-08-06 07:59:23 +00:00
Florin Malita
eb6695904e Revert "Tiling support for GrGradientEffect kTwo_ColorType/kThree_ColorType"
This reverts commit b86aaeb7b0.

Reason for revert: Nexus7/Tegra3 crashing on lcdblendmodes

Original change's description:
> Tiling support for GrGradientEffect kTwo_ColorType/kThree_ColorType
> 
> Currently only the hard-stop specializations support tiling.
> 
> Consolidate the tiling code and expand to kTwo_ColorType,
> kThree_ColorType also.
> 
> Change-Id: I0c04997f563a7150a486ccc03f8121099a651c0b
> Reviewed-on: https://skia-review.googlesource.com/30780
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Florin Malita <fmalita@chromium.org>

TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com,fmalita@chromium.org

Change-Id: I89c89c630f206c3a330e4b31aa3834dfbc5cd9e0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/31244
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-08-05 19:43:45 +00:00
skia-deps-roller@chromium.org
155e94297a Roll skia/third_party/externals/angle2/ 90d874fc6..188fd5f6f (1 commit)
90d874fc6e..188fd5f6fc

$ git log 90d874fc6..188fd5f6f --date=short --no-merges --format='%ad %ae %s'

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


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

If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls


CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-ANGLE,Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Test-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-ANGLE
TBR=liyuqian@google.com

Change-Id: I899ca6643712d723049214dcd25d348a2904d48b
Reviewed-on: https://skia-review.googlesource.com/31068
Reviewed-by: Skia Deps Roller <skia-deps-roller@chromium.org>
Commit-Queue: Skia Deps Roller <skia-deps-roller@chromium.org>
2017-08-05 02:44:22 +00:00
skia-deps-roller@chromium.org
da920802b1 Roll skia/third_party/externals/angle2/ 53440f39c..90d874fc6 (1 commit)
53440f39c8..90d874fc6e

$ git log 53440f39c..90d874fc6 --date=short --no-merges --format='%ad %ae %s'

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


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

If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls


CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-ANGLE,Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Test-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-ANGLE
TBR=liyuqian@google.com

Change-Id: I657a687badfbc6146a5dff3ae07d6243d936e8c4
Reviewed-on: https://skia-review.googlesource.com/31320
Reviewed-by: Skia Deps Roller <skia-deps-roller@chromium.org>
Commit-Queue: Skia Deps Roller <skia-deps-roller@chromium.org>
2017-08-05 00:36:52 +00:00
Mike Reed
8addae8b53 just use math.h for converting from float to int
Bug: skia:
Change-Id: I40cce503cd4cef09c671511a705192efc5d67d71
Reviewed-on: https://skia-review.googlesource.com/31002
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-08-04 21:25:07 +00:00
Florin Malita
b86aaeb7b0 Tiling support for GrGradientEffect kTwo_ColorType/kThree_ColorType
Currently only the hard-stop specializations support tiling.

Consolidate the tiling code and expand to kTwo_ColorType,
kThree_ColorType also.

Change-Id: I0c04997f563a7150a486ccc03f8121099a651c0b
Reviewed-on: https://skia-review.googlesource.com/30780
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-08-04 20:09:25 +00:00
Robert Phillips
621ee98e10 Fix corner case in NonAAStrokeRectOp (stroke width > the rect's width or height)
Bug: skia:5419
Change-Id: I75a67d35c94821bf7de80b63eb835b20f2772ddd
Reviewed-on: https://skia-review.googlesource.com/31241
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-08-04 19:58:45 +00:00
Greg Daniel
4a081e2475 Add GrMtlTexture classes
Adds support for basic Texture creation.

Bug: skia:
Change-Id: I9a3f15bef1c88054c19e952e231cad94ad69f296
Reviewed-on: https://skia-review.googlesource.com/30781
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2017-08-04 19:53:55 +00:00
Ben Wagner
21c3fb94de Add OS to SkiaCT dimensions.
This will make it much easier to experiment with upgrading the OS to
Debian-9.1 without causing failures on master.

No-Try: true
Change-Id: Id43b055841ec3ceb42133c9dd7b630f12d1b45c6
Reviewed-on: https://skia-review.googlesource.com/31001
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-08-04 19:21:18 +00:00
Ben Wagner
5698b001ea Update Win10 Haswell bots to latest Intel driver.
Bug: skia:6917
Change-Id: I381e4d16705317671ea3d27c88fd811687336bb0
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/31101
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-08-04 18:39:14 +00:00
Mike Reed
514ac0b92a remove unused flag
Bug: skia:
Change-Id: Icfaf04a541138700da906d96dfc2d90e4e00379d
Reviewed-on: https://skia-review.googlesource.com/31150
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2017-08-04 18:20:45 +00:00
Cary Clark
4c06f5ee08 fix links and missing constructor
Docs-Preview: https://skia.org/?cl=31145
Bug: skia: 6898
Change-Id: Ic94a15551f3683d9de5d3bda53394d2efce0d6a4
Reviewed-on: https://skia-review.googlesource.com/31145
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2017-08-04 17:25:24 +00:00
Ben Wagner
6f08ece37f Add duplicate XSAN tasks on QuadroP400.
Bug: skia:6881
Change-Id: I53356a19aaa488f0f739f8ddb687bbe0ea4994fe
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/26365
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-08-04 16:27:44 +00:00
Mike Reed
0851d30c0b stop using SK_USE_FLOATBITS
Bug: skia:
Change-Id: Ie225e0b082b49a2978818c243a2c344a4761b297
Reviewed-on: https://skia-review.googlesource.com/31141
Reviewed-by: Mike Reed <reed@google.com>
2017-08-04 16:26:27 +00:00
Ben Wagner
c274ec4d7e Add Linux QuadroP400 bots.
Bug: skia:6882
Change-Id: I9514af6aa710f1722be277a529acd1d88ed32bc9
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/26364
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-08-04 16:22:24 +00:00
Florin Malita
36f054ace3 GrGradientEffect::onIsEqual() must also consider tiling
Without this fix, the newly added GM draws incorrectly.

Change-Id: Ic159ab3201c10369ad5f8151186245d8d076cc25
Reviewed-on: https://skia-review.googlesource.com/30484
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-08-04 15:24:43 +00:00
Robert Phillips
121ad19a7e Update SkClipStack's bound computation
I believe this was originally added to make Raster & GPU rendering more similar. I think we've moved on from there.

Change-Id: Ic980f3308fbd427e5857b720488c91383a32a149
Reviewed-on: https://skia-review.googlesource.com/30761
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-08-04 14:14:13 +00:00
Mike Klein
f60e1627ed clamp_1 is also a no-op with 8-bit lowp
Change-Id: Ifef97d8f28c88c4ee3f7701aac6e383940ed5275
Reviewed-on: https://skia-review.googlesource.com/31020
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-08-04 13:56:13 +00:00
Mike Klein
5910ed347a 15-bit lowp is dead, long live 8-bit lowp
Change-Id: Icc4b06094aeba3af99b534746f66286d776ef78a
Reviewed-on: https://skia-review.googlesource.com/30920
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-08-04 05:19:38 +00:00
skia-deps-roller@chromium.org
0e914eb725 Roll skia/third_party/externals/angle2/ 13c0dd463..53440f39c (1 commit)
13c0dd4631..53440f39c8

$ git log 13c0dd463..53440f39c --date=short --no-merges --format='%ad %ae %s'

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


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

If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls


CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-ANGLE,Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Test-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-ANGLE
TBR=liyuqian@google.com

Change-Id: Id6379b942152dff8690a9076adf0176a557aebe6
Reviewed-on: https://skia-review.googlesource.com/30900
Reviewed-by: Skia Deps Roller <skia-deps-roller@chromium.org>
Commit-Queue: Skia Deps Roller <skia-deps-roller@chromium.org>
2017-08-04 03:03:38 +00:00
Cary Clark
bad5ad7d60 canvas include checkpoint
All fixes to bookmaker to allow creating SkCanvas.h

Docs-Preview: https://skia.org/?cl=29022
TBR=caryclark@google.com
Bug: skia: 6898
Change-Id: If10638fbc77cfe680f21868c97f9c0643b87ebf9
Reviewed-on: https://skia-review.googlesource.com/29022
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2017-08-03 21:36:08 +00:00
skia-deps-roller@chromium.org
161f9a6dc6 Roll skia/third_party/externals/angle2/ d2d0b30e1..13c0dd463 (2 commits)
d2d0b30e19..13c0dd4631

$ git log d2d0b30e1..13c0dd463 --date=short --no-merges --format='%ad %ae %s'

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


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

If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls


CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-ANGLE,Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Test-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-ANGLE
TBR=liyuqian@google.com

Change-Id: I1e22096111aa3b087b93c9a97245dda92ca479a6
Reviewed-on: https://skia-review.googlesource.com/30800
Reviewed-by: Skia Deps Roller <skia-deps-roller@chromium.org>
Commit-Queue: Skia Deps Roller <skia-deps-roller@chromium.org>
2017-08-03 21:28:39 +00:00
skia-deps-roller@chromium.org
f11573bbc0 Roll skia/third_party/externals/angle2/ a0bcc50be..d2d0b30e1 (1 commit)
a0bcc50be0..d2d0b30e19

$ git log a0bcc50be..d2d0b30e1 --date=short --no-merges --format='%ad %ae %s'

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


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

If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls


CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-ANGLE,Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Test-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-ANGLE
TBR=liyuqian@google.com

Change-Id: Ia54f23583200231565fdd266969e878e79b8ec84
Reviewed-on: https://skia-review.googlesource.com/30740
Commit-Queue: Skia Deps Roller <skia-deps-roller@chromium.org>
Reviewed-by: Skia Deps Roller <skia-deps-roller@chromium.org>
2017-08-03 19:46:08 +00:00
Yuqian Li
49fd5d5b74 Disable Delta AA for MSVC for now
Perf showed that DAA is slow with MSVC. Disable it until I find
out why.

Bug: skia:
Change-Id: If30c24e97fa42e3a7ce143a1b1d06e4a3f278d13
TBR: mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/30584
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-08-03 17:26:27 +00:00
Brian Osman
b6705c2536 Add support for object creation/snapshot/deletion events
- Bring back some previously deleted macros and helper types.
- Automatically inject base_type information into snapshot events,
  to allow simpler tracking of polymorphic object types.
- Fix JSON formatting of pointer values (they were serializing as bool).

Bug: skia:
Change-Id: Iac7803f72ce5396ffd2fbcb5a36d76745c5e3f3e
Reviewed-on: https://skia-review.googlesource.com/28220
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-08-03 17:10:08 +00:00
Mike Klein
29dbae9acf same 16->8 bit packing trick for SSE2/SSE4.1
It's funny how now that I'm on a machine that doesn't support AVX2,
it's suddenly important for me that pack() is optimized for SSE!

This is basically the same as this morning, without any weird AVX2
pack ordering issues.  This replaces something like

    movdqa     2300(%rip), %xmm0
    pshufb     %xmm0, %xmm3
    pshufb     %xmm0, %xmm2
    punpcklqdq %xmm3, %xmm2
    (This is SSE4.1; the SSE2 version is worse.)

with

    psrlw    $8, %xmm3
    psrlw    $8, %xmm2
    packuswb %xmm3, %xmm2
    (SSE2 and SSE4.1 both.)

It's always nice to not need to load a shuffle mask out of memory.

Change-Id: I56fb30b31fcedc0ee84a4a71c483a597c8dc1622
Reviewed-on: https://skia-review.googlesource.com/30583
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-08-03 16:59:37 +00:00
Brian Osman
d0677bc44f Add missing newline to initial DM output
Bug: skia:
Change-Id: I505e5c339947e9fc8bbec6acefc48ee9f47c96d2
Reviewed-on: https://skia-review.googlesource.com/30581
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-08-03 16:53:38 +00:00
Mike Klein
1a2e3e1e77 Store float and byte constant colors.
This makes loading them much simpler in 8-bit mode.

Change-Id: I35ff34ebd0b93425c4e39e055bf4ade8cf8561e1
Reviewed-on: https://skia-review.googlesource.com/30621
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-08-03 15:47:26 +00:00
Mike Klein
16776dfb4b funnel all constant colors through append_constant_color()
My next step is to change the uniform_color context to

    struct {
       float r,g,b,a;
       uint32_t rgba;
    };

so that it's trivial to load in both float and 8-bit pipelines.

Change-Id: If9bdde353ced3bf9eb0c63204b4770ed614ad16b
Reviewed-on: https://skia-review.googlesource.com/30481
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-08-03 15:37:37 +00:00
Mike Klein
073073e4a4 Rename append_uniform_color() to append_constant_color().
The color appended here is both uniform and constant, and it's the
constantness that makes this custom append method useful over just
append(SkRasterPipeline::uniform_color, ...).

Uniform colors that are not constant have to be loaded from the pointer
each time (the caller might have changed the color out-of-band), but
constant uniform colors can be analyzed once and implemented with
specalizations like black_color and white_color.

Change-Id: I3cfc00ccc578dd915367bca7113010557181224c
Reviewed-on: https://skia-review.googlesource.com/30560
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2017-08-03 14:36:07 +00:00
Mike Klein
c18ab884ae _very_ minor srcover speedup
This is a consistent, very small speedup for srcover.
    SkRasterPipeline_run
    Before: 30.4057ns
    After:  30.1089ns
i.e. a 1% speedup on the bench, maybe 3-4% improvment in srcover itself.

The only reason I'd send this out now is that this will slightly change
some pixels, so it's a good thing to sneak in before rebaselining.

It's possible that other blend modes would benefit from the same, but
I've only looked at srcover (and I've also changed dstover so that it
doesn't look funny).

Change-Id: Ic056ca0912d76648d43a78e0052176fd0f7934f1
Reviewed-on: https://skia-review.googlesource.com/30281
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-08-03 13:33:26 +00:00
Mike Klein
e7f89fc257 improve HSW 16->8 bit pack
__builtin_convertvector(..., U8x4) is producing a fairly long
sequence of code to convert U16x4 to U8x4 on HSW:
    vextracti128  $0x1,%ymm2,%xmm3
    vmovdqa       0x1848(%rip),%xmm4
    vpshufb       %xmm4,%xmm3,%xmm3
    vpshufb       %xmm4,%xmm2,%xmm2
    vpunpcklqdq   %xmm3,%xmm2,%xmm2
    vextracti128  $0x1,%ymm0,%xmm3
    vpshufb       %xmm4,%xmm3,%xmm3
    vpshufb       %xmm4,%xmm0,%xmm0
    vpunpcklqdq   %xmm3,%xmm0,%xmm0
    vinserti128   $0x1,%xmm2,%ymm0,%ymm0

We can do much better with _mm256_packus_epi16:
    vinserti128   $0x1,%xmm0,%ymm2,%ymm3
    vperm2i128    $0x31,%ymm0,%ymm2,%ymm0
    vpackuswb     %ymm0,%ymm3,%ymm0

vpackuswb packs the values in a somewhat surprising order,
which the first two instructions get us lined up for.

This is a pretty noticeable speedup, 7-8% on some benchmarks.

The same sort of change could be made for SSE2 and SSE4.1 also
using _mm_packus_epi16, but the difference for that change is
much less dramatic.  Might as well stick to focusing on HSW.

Change-Id: I0d6765bd67e0d024d658a61d19e6f6826b4d392c
Reviewed-on: https://skia-review.googlesource.com/30420
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-08-03 13:24:46 +00:00
Ravi Mistry
698edfecef Chromium lkgr is no longer updated. Use lkcr
Bug: skia:6916
Change-Id: I16badf80c3b34e517b8baab161150c9434f325aa
Reviewed-on: https://skia-review.googlesource.com/30100
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-08-03 12:41:36 +00:00
Ben Wagner
ae532f68a0 Add Win10 QuadroP400 bots.
Bug: skia:6883
Change-Id: I0812bc0715f10e3722535af2cfc6fdf812cc487f
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/26366
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-08-03 11:34:17 +00:00
Mike Klein
fba26ea9b7 exclude SkJumper_stages_8bit.cpp from Google3 build
Like _lowp.cpp, it's only meant to be compiled offline.

Change-Id: I0d4f7c1fd8fa880ffd084c1e332f6a33def6e26f
Reviewed-on: https://skia-review.googlesource.com/30262
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-08-03 04:56:37 +00:00
Mike Klein
255607f094 8-bit hacking
I think we can replace a lot of legacy code with an SkRasterPipeline
backend that works in 8-bit and stays interlaced.  Think of this as a
"lowerp" replacement for lowp.

I'm having some trouble getting ARMv8 working.
ARMv7 should be fine, but I want to turn it on separately from x86.
I haven't looked at 32-bit x86 yet, but that's also on the todo list.

Open questions to follow up on:
  - is it better to fold every multiply back down to 8-bit
    (as seen here), or to allow intermediates to accumulate
    in 16-bit and divide by 255 when done/needed?
  - is it better pass tightly packed 8-bit vectors between stages (as
    seen here), or to keep the 8-bit values unpacked in 16-bit lanes?
  - should we make V wider than 1 register?

GMs look good.  All diffs invisible and plausibly due to the 15->8 bit
precision drop.  A quick bench run showed this running in about 0.75x
the time of the existing lowp backend.

Change-Id: I24aa46ff1d19c0b9b8dc192d5b1821cab0b8843c
Reviewed-on: https://skia-review.googlesource.com/29886
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2017-08-03 01:54:58 +00:00
skia-deps-roller@chromium.org
20963ff286 Roll skia/third_party/externals/angle2/ 6c58b0620..a0bcc50be (2 commits)
6c58b06200..a0bcc50be0

$ git log 6c58b0620..a0bcc50be --date=short --no-merges --format='%ad %ae %s'

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


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

If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls


CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-ANGLE,Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Test-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-ANGLE
TBR=liyuqian@google.com

Change-Id: I9bde78530dfcbed956642d0f1d86cc0b684101ce
Reviewed-on: https://skia-review.googlesource.com/30243
Reviewed-by: Skia Deps Roller <skia-deps-roller@chromium.org>
Commit-Queue: Skia Deps Roller <skia-deps-roller@chromium.org>
2017-08-03 00:23:26 +00:00
skia-deps-roller@chromium.org
f12d84275c Roll skia/third_party/externals/angle2/ 8f276e255..6c58b0620 (2 commits)
8f276e2554..6c58b06200

$ git log 8f276e255..6c58b0620 --date=short --no-merges --format='%ad %ae %s'

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


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

If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls


CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-ANGLE,Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Test-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-ANGLE
TBR=liyuqian@google.com

Change-Id: I3ff39d1612cecaf74282c32e381f9144f5982d5a
Reviewed-on: https://skia-review.googlesource.com/30200
Reviewed-by: Skia Deps Roller <skia-deps-roller@chromium.org>
Commit-Queue: Skia Deps Roller <skia-deps-roller@chromium.org>
2017-08-02 21:43:07 +00:00
Yuqian Li
ddea570db6 Fix typo XPS to SVG
No-Try: true
Docs-Preview: https://skia.org/?cl=30301
Bug: skia:
Change-Id: Ib96f9ec61f5959ccb968b60a0d22f9bedef9dc97
Reviewed-on: https://skia-review.googlesource.com/30301
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-08-02 20:53:36 +00:00