Commit Graph

36418 Commits

Author SHA1 Message Date
Kevin Lubick
1fd58fd34f [PathKit] Re-create test expectations
See https://skia-review.googlesource.com/c/skia/+/149620

Bug: skia:
Change-Id: I2a8c88e813b5084f667d08317145866b57bbd7ab
Reviewed-on: https://skia-review.googlesource.com/149681
Reviewed-by: Ravi Mistry <rmistry@google.com>
2018-08-27 19:13:11 +00:00
Brian Osman
22b21ea25b Stop blacklisting some critical unit tests on Metal
Bug: skia:6653
Change-Id: I034c8183c5550914d155acf842a7a73c6f1b5d15
Reviewed-on: https://skia-review.googlesource.com/149680
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-27 18:36:58 +00:00
Mike Reed
0fdc53f9ff textonpath util
Bug: skia:7554
Change-Id: Ifff3030f9d7be24146b5230bbf0e47f73000adfd
Reviewed-on: https://skia-review.googlesource.com/141460
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-08-27 18:01:21 +00:00
Cary Clark
ea2a6323bc fix pathops unsortable angles
Pathops determines which edges are kept and discarded
by sorting intersections counterclockwise. An edge
may be unsortable if it is too close to a neighbor to
clearly be on its left or right.

If a pair of lines is unsortable, they are probably
nearly coincident, but just far enough apart to escape
the coincident test.

The current code correctly marks the lines as unsortable,
but returned a guess at the sorting order anyway. Instead,
preserve the unsorted-ness (unsorted mess?) and let
the decision of what to keep defer til later.

This triggered a couple of asserts that needed rewriting
or disabling, but fixes the bug in question and does not
regress the extended tests in debug or release.

Also, fix a debugging routine that bit-rotted.

TBR=reed@google.com

Bug: skia:8228
Change-Id: Ifab90c65837ed9656bb572c385fcc5c916348778
Reviewed-on: https://skia-review.googlesource.com/149620
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-08-27 18:00:06 +00:00
Brian Osman
63051057b8 Remove MSAA from Metal caps
Change-Id: I54f992581b8a0c4e8470221e4753c92ae8444204
Reviewed-on: https://skia-review.googlesource.com/149622
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-27 17:55:51 +00:00
Brian Salomon
fdec6f469a Disable GrTextureOp Chaining
Two chrome perf regressions and bad image-surface GM on S7/MaliT880

Bug: chromium:877610
Bug: chromium:877598
Change-Id: Ibca66a936739ad0c452a0da155439c5ed8f1da39
Reviewed-on: https://skia-review.googlesource.com/149621
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-27 17:55:01 +00:00
Brian Osman
a3adbf28ee Don't assert trying to make an MSAA surface with Metal, just fail
Change-Id: I66b18d753f0e78cc1d647328322d12c037fa9ed5
Reviewed-on: https://skia-review.googlesource.com/149484
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-27 16:46:57 +00:00
Leon Scroggins III
36f7e3298e Reland "Switch SkCodec to use skcms plus fixes""
This reverts commit 83988edfd3.

The CTS failure was actually due to another CL.

TBR=brianosman@google.com
TBR=djsollen@google.com

Bug: skia:6839
Bug: skia:8052
Bug: skia:8278
Change-Id: Id9f152ec2c66467d90f49df223cb9b7c168ac2ac
Reviewed-on: https://skia-review.googlesource.com/149483
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-08-27 16:16:14 +00:00
Hal Canary
1db86c7cf5 SkPDF/Type1: fix BUG:skia:8285
Change-Id: I14ad6b110865e116c5c401a1e4cd873ebc048dd3
Reviewed-on: https://skia-review.googlesource.com/149480
Auto-Submit: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-08-27 16:12:58 +00:00
Brian Salomon
2424ec46e9 Make GrGLInterface great for Win32 x86 again
Bug: skia:8262
Change-Id: I607644198d5dc7992e2b89eb34651eb1dc88c6ba
Reviewed-on: https://skia-review.googlesource.com/149225
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-08-27 16:09:48 +00:00
angle-skia-autoroll
b23c3172ee Roll third_party/externals/angle2 8707af516c46..89664843c656 (1 commits)
8707af516c..89664843c6


git log 8707af516c46..89664843c656 --date=short --no-merges --format='%ad %ae %s'
2018-08-27 oetuaho@nvidia.com Add glTexStorage3DMultisampleANGLE entry point


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

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

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

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

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

Change-Id: I6cb25771f258ca92f632db83df07b24eab65ae02
Reviewed-on: https://skia-review.googlesource.com/149560
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-27 15:59:30 +00:00
Mike Reed
49f8da0209 use nothingToDraw more often
Bug: skia:
Change-Id: Ifafd8d90649f5aeb020335f46496a828dffac98e
Reviewed-on: https://skia-review.googlesource.com/149481
Auto-Submit: Mike Reed <reed@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-08-27 15:31:24 +00:00
Kevin Lubick
3fee9235a4 Add a renderer key to lottie gold digests
This will help us distinguish between "rendered by skottie",
"rendered by lottie-web", etc.

Bug: skia:8108
Change-Id: I48b489adf8f8b7f950df397e5e94c1103dc4d306
Reviewed-on: https://skia-review.googlesource.com/149237
Reviewed-by: Stephan Altmueller <stephana@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-08-27 15:15:04 +00:00
Leon Scroggins III
fdd5b69fef Ignore PLTE chunks in non-palette PNGs
Bug: oss-fuzz:10020
Change-Id: I2dd0dd07983fcc851ea6ec0980a5a30dbe312b62
Reviewed-on: https://skia-review.googlesource.com/149261
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-08-27 15:05:47 +00:00
Robert Phillips
793324cf4d Always render GPU masks with AA rendering
This makes Ganesh match the raster backend's behavior.

It, unfortunately, will alter the following GMs:

blurrects
blur2rects
bleed_alpha_*
bleed_*

Change-Id: Id8cfbe8776e8e8a11fce9d09863b4244a72fb1ce
Reviewed-on: https://skia-review.googlesource.com/148994
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-27 15:04:27 +00:00
Brian Osman
dd04bec39c Add a version of the skbug6653 unit test that disables explicit resource allocation
We now suspect this bug is in Ganesh, so we're looking to see if this is
related.

Bug: skia:6653
Change-Id: Ic1c61091437903d1ffe0eba4a9f90dae01cedef7
Reviewed-on: https://skia-review.googlesource.com/149440
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-08-27 14:51:23 +00:00
Ethan Nicholas
cd700e9ab7 Revert "Revert "added support for sk_Dimensions to SkSL""
This reverts commit e6ab998bc2.

Bug: skia:
Change-Id: I19451f924d514dadac9d2c326bcc8404a1b501e9
Reviewed-on: https://skia-review.googlesource.com/149239
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2018-08-27 14:42:08 +00:00
Florin Malita
9402c7dc37 [skottie] Add support for keyframed text nodes
-- introduce a new animatable value (TextValue)

 -- introduce a new adapter (TextAdapter) to translate Lottie text props to SG text props

 -- use existing animated property-bind machinery and the new constructs when parsing text layers

Change-Id: Ibbfb69daf5b0a3c9a5ce8d1ccdeedca5b5d0fa6f
Reviewed-on: https://skia-review.googlesource.com/149266
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-27 14:37:47 +00:00
Greg Daniel
adb4bfef0c A bunch of fixes for calling abandon on vulkan context.
With this change, we still can't run the abanondContext test since we
currently don't have a way to abandon the AMD VulkanMemoryAllocator.

Bug: skia:8277
Change-Id: Ibc64e3d6908f81835a9814d29b37f24b56ebc1b1
Reviewed-on: https://skia-review.googlesource.com/149040
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-08-27 14:05:59 +00:00
Mike Reed
e00fe30b8f remove SkIPoint16 from documentation -- it is private
No-Try: true
Docs-Preview: https://skia.org/?cl=149267
Bug: skia:
Change-Id: Idee5487ceecd84c179f898afe3ebc63926608c56
Reviewed-on: https://skia-review.googlesource.com/149267
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
2018-08-27 11:33:19 +00:00
Florin Malita
420696961c [skottie] Relax constant keyframe parsing
Constant keyframes currently requiere an "h" property/marker.

In order to support keyframed text parsing, relax this to consider any
keyframe missing an end value as constant.

TBR=
Change-Id: Idf332dc0174ee0ee6773708518a0bbc284f8860f
Reviewed-on: https://skia-review.googlesource.com/149265
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-26 18:40:16 +00:00
skia-recreate-skps
b5729c94f9 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: Iffc68cb6387340b6e8bea9123b2bf86e1c3241d3
Reviewed-on: https://skia-review.googlesource.com/149342
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2018-08-26 09:16:18 +00:00
Florin Malita
471a946cf1 [skottie] Make AnimationBuilder available for value parsing
Plumb AnimationBuilder throught a bazillion layers to make it reachable
when parsing animatable values.

This is in preparation of keyframed text, which will require access to
the font set when parsing.

Refactor only, no functional changes.

TBR=
Change-Id: Ide2ef2ba66fbcc75fdcc785f987b364d45dff5b6
Reviewed-on: https://skia-review.googlesource.com/149264
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-08-26 00:39:48 +00:00
Mike Reed
3054989426 do reject vertical lines if they are outside of the clip
Bug: skia:7981
Change-Id: Icae11ac2934bc6db5a5c3ad0f17aaf615efa2fe5
Reviewed-on: https://skia-review.googlesource.com/149291
Auto-Submit: Mike Reed <reed@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
2018-08-25 19:33:17 +00:00
angle-skia-autoroll
95be425f5b Roll third_party/externals/angle2 337bd6984078..8707af516c46 (1 commits)
337bd69840..8707af516c


git log 337bd6984078..8707af516c46 --date=short --no-merges --format='%ad %ae %s'
2018-08-24 syoussefi@google.com Add a test case for enabled-but-inactive vertex attributes


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

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

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

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

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

Change-Id: I194093a72f4566ac53d710c70ab357f03ba923d1
Reviewed-on: https://skia-review.googlesource.com/149301
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-25 04:59:12 +00:00
recipe-roller
1e59378218 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/2d0e03cb5ddc5faef4d7bbd54d0177885d3975bc git cl: safe fallback for Gerrit RPCs even if gerrit project is unknown. (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia1d9f472e4e9bd835bf399e15de40e9a6dab0510
Reviewed-on: https://skia-review.googlesource.com/149263
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-08-25 04:48:28 +00:00
Herb Derby
92bc476c8c Rearrange templates to get ios to compile
Change-Id: I95f44adc5cc61fdb9b78b60327e0e5ccdeceaf4a
Reviewed-on: https://skia-review.googlesource.com/149290
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
2018-08-24 21:45:56 +00:00
Leon Scroggins
83988edfd3 Revert "Reland "Switch SkCodec to use skcms" plus fixes"
This reverts commit 49894f450f.

Reason for revert: Breaking a CTS test on the Android roll:

java.lang.AssertionError: expected:<67043583> but was:<50266367>
	at org.junit.Assert.fail(Assert.java:88)
	at org.junit.Assert.failNotEquals(Assert.java:834)
	at org.junit.Assert.assertEquals(Assert.java:645)
	at org.junit.Assert.assertEquals(Assert.java:631)
	at android.graphics.cts.BitmapColorSpaceTest.verifyGetPixel(BitmapColorSpaceTest.java:301)
	at android.graphics.cts.BitmapColorSpaceTest.inColorSpaceP3ToSRGB(BitmapColorSpaceTest.java:612)

Expected: 3FF00FF Actual: 2FF00FF

Original change's description:
> Reland "Switch SkCodec to use skcms" plus fixes
> 
> This reverts commit 33d5394d08,
> relanding 81886e8f94 as well as
> "Fix CMYK handling in JPEG codec" (commit
> f8ae5ce20c)
> 
> Add a test based on the CTS test that failed in the original commit.
> purple-displayprofile.png is the image used in the CTS test, with the
> Android license.
> 
> This also adds a fix for SkAndroidCodec, ensuring that we continue to
> use a wide gamut SkColorSpace for images that do not have a numerical
> transfer function and have a wide gamut. This includes a test, with
> wide-gamut.png, which was created with Photoshop and the profile
> "sRGB_Calibrated_Homogeneous.icc" from the skcms tree.
> 
> Bug: skia:6839
> Bug: skia:8052
> Bug: skia:8278
> 
> TBR=djsollen@google.com
> As with the original, no API change
> 
> Change-Id: I4e5bba6a3151f9dc6491e8eda73d4de0535bd692
> Reviewed-on: https://skia-review.googlesource.com/149043
> Commit-Queue: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Leon Scroggins <scroggo@google.com>

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

Change-Id: Ie71e1fecc26de8225d2fe603765c1e1e0d738634
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:6839, skia:8052, skia:8278
Reviewed-on: https://skia-review.googlesource.com/149262
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-08-24 21:41:37 +00:00
Robert Phillips
8c8b0462df Fix drawRect
Change-Id: I19ffc48fa812aefe53e2a9fbc65a9ddda3dcce08
Reviewed-on: https://skia-review.googlesource.com/149288
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-24 21:27:14 +00:00
Herb Derby
d2fec23523 Have GPU and RemoteGlyphCache share mask position code
Change-Id: I0d8a969107304883ccd71c9b35ade50e3ac5d341
Reviewed-on: https://skia-review.googlesource.com/149048
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-08-24 20:13:16 +00:00
angle-skia-autoroll
2872628bda Roll third_party/externals/angle2 8ca60805916f..337bd6984078 (2 commits)
8ca6080591..337bd69840


git log 8ca60805916f..337bd6984078 --date=short --no-merges --format='%ad %ae %s'
2018-08-24 syoussefi@google.com Disable vertex attributes if not active in program
2018-08-24 syoussefi@google.com Re-enable dEQP_GLES3.functional.negative_api.texture.bindtexture


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

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

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

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

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

Change-Id: Ia818c0c5427863bcd47f368dd24f4ea12aa79917
Reviewed-on: https://skia-review.googlesource.com/149300
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-24 19:56:20 +00:00
Yuqian Li
626ae7e5cf Remove gclient sync from calmbench
Skia no longer uses gclient sync and our bots never use calmbench.py anyway.

Bug: skia:
Change-Id: Ic1679e6078353f148e975777b3122cf4e1ab8bda
Reviewed-on: https://skia-review.googlesource.com/149259
Commit-Queue: Yuqian Li <liyuqian@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Yuqian Li <liyuqian@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-08-24 19:18:56 +00:00
Herb Derby
ee2a3f36dc Add back tight scaler context managment
Release the scaler context after the differences are calculated so
that the type faces can recoup resources.

Change-Id: Ieb65dafdeee6f84d0739399d58f8d8d53ad7364e
Reviewed-on: https://skia-review.googlesource.com/149233
Reviewed-by: Khusal Sagar <khushalsagar@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
2018-08-24 18:30:17 +00:00
Allan MacKinnon
4f28d76c01 Cut-and-paste typo was limiting concurrency
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true
Bug: skia:
Change-Id: I94065a2c0fdd536016060f906aead0bfb4e1e27b
Reviewed-on: https://skia-review.googlesource.com/149245
Reviewed-by: Allan MacKinnon <allanmac@google.com>
Commit-Queue: Allan MacKinnon <allanmac@google.com>
Auto-Submit: Allan MacKinnon <allanmac@google.com>
2018-08-24 18:21:08 +00:00
Leon Scroggins III
49894f450f Reland "Switch SkCodec to use skcms" plus fixes
This reverts commit 33d5394d08,
relanding 81886e8f94 as well as
"Fix CMYK handling in JPEG codec" (commit
f8ae5ce20c)

Add a test based on the CTS test that failed in the original commit.
purple-displayprofile.png is the image used in the CTS test, with the
Android license.

This also adds a fix for SkAndroidCodec, ensuring that we continue to
use a wide gamut SkColorSpace for images that do not have a numerical
transfer function and have a wide gamut. This includes a test, with
wide-gamut.png, which was created with Photoshop and the profile
"sRGB_Calibrated_Homogeneous.icc" from the skcms tree.

Bug: skia:6839
Bug: skia:8052
Bug: skia:8278

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

Change-Id: I4e5bba6a3151f9dc6491e8eda73d4de0535bd692
Reviewed-on: https://skia-review.googlesource.com/149043
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2018-08-24 17:46:25 +00:00
Brian Osman
12d966fc4f Reland "match sRGB primaries with skcms"
This reverts commit 3dfc752622.

Reason for revert: Re-landing now that chrome is guarded.

Original change's description:
> Revert "match sRGB primaries with skcms"
> 
> This reverts commit 66567d870f.
> 
> Reason for revert: will reland after guarding Chromium.
> 
> Original change's description:
> > match sRGB primaries with skcms
> > 
> > This should prevent lots of conversions between the two
> > gamuts when the matrix is nearly but not quite identity.
> > 
> > Change-Id: Icb6ba35d763e9fbd2d7fc6343d49fe2c542ec2ec
> > Reviewed-on: https://skia-review.googlesource.com/148990
> > Commit-Queue: Mike Klein <mtklein@google.com>
> > Commit-Queue: Brian Osman <brianosman@google.com>
> > Auto-Submit: Mike Klein <mtklein@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
> 
> TBR=mtklein@google.com,brianosman@google.com
> 
> Change-Id: If511843bdfc7cdef2a3b68eb992e684123e806de
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/149080
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

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

Change-Id: I0117bf28b12c784fa05088e3ea611f415f2d4711
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/149260
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-24 17:36:55 +00:00
Ethan Nicholas
5005a224aa fixed skslc's nested conditional break detection
skslc produces an error when a static switch contains a conditional
break statement. Prior to this change, it was generating a false
positive when there was a break statement in a nested (non-conditional)
block.

Bug: skia:
Change-Id: I17cf42528ac975ab9d644ffb9b4f6f1f952f3887
Reviewed-on: https://skia-review.googlesource.com/148993
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2018-08-24 17:31:22 +00:00
Herb Derby
447b1980a3 Reorganize TrackLayerDevice and move processGlyphRunForMask
The routine processGlyphRunForMask needs to move to SkGlyphRun
to use all the new positioning routines. This requires the
definition for TrackLayerDevice to be visible in SkGlyphRun.

Change-Id: I0fd20870940471cfbae29e411597e115d150893a
Reviewed-on: https://skia-review.googlesource.com/149046
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-08-24 17:31:11 +00:00
Robert Phillips
3217808ed9 Suppress failing Vulkan test on IntelHD405
keymobi_booking_com.skp_1_mpd	vk
Segmentation fault
linux_vulkan_intel_driver_release/./libvulkan_intel.so anv_cmd_buffer_execbuf at /home/johnnynerfgun/src/mesa/mesa-17.0.4/src/intel/vulkan/anv_batch_chain.c:1297 (discriminator 3)
linux_vulkan_intel_driver_release/./libvulkan_intel.so anv_QueueSubmit at /home/johnnynerfgun/src/mesa/mesa-17.0.4/src/intel/vulkan/anv_device.c:1193
build/nanobench GrVkPrimaryCommandBuffer::submitToQueue(GrVkGpu const*, VkQueue_T*, GrVkGpu::SyncQueue, SkTArray<GrVkSemaphore::Resource*, false>&, SkTArray<GrVkSemaphore::Resource*, false>&) at src/gpu/vk/GrVkCommandBuffer.cpp:552
build/nanobench GrVkGpu::submitCommandBuffer(GrVkGpu::SyncQueue) at src/gpu/vk/GrVkGpu.cpp:304
build/nanobench sk_sp<GrCaps const>::get() const at include/core/SkRefCnt.h:296
build/nanobench GrDrawingManager::internalFlush(GrSurfaceProxy*, GrResourceCache::FlushType, int, GrBackendSemaphore*) at src/gpu/GrDrawingManager.cpp:257


Bug: skia:7322
Change-Id: If38b81f5943f27824b51cbcedfd819dbe99dd957
Reviewed-on: https://skia-review.googlesource.com/149232
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-24 17:05:52 +00:00
Kevin Lubick
d993648fa4 [PathKit] Write more complete docs and clean up API to be consistent
Breaking Changes (should be minor, as it's mostly just things
for testing):
 - PathKit.ApplyPathOp should have returned a new SkPath, but didn't.
It now does and is named "MakeFromOp", which makes the convention of
"Have 'make' in name, needs delete" more consistent.
 - PathKit.FromCmds(arr) now only needs to take the JS Array and
will handle the TypedArrays under the hood. If clients want to deal
with TypedArrays themselves, they can use _FromCmds(ptr, len) directly.
 - PathKit.MakeLTRBRect is now just PathKit.LTRBRect. The thing
returned is a normal JS Object and doesn't need delete().

As per custom with v0 apps, we are updating the minor version
to v0.3.0 to account for breaking changes.


Docs-Preview: https://skia.org/?cl=147960
Bug: skia:8216
Change-Id: Ia3626e69f3e97698fc62a6aee876af005e29ffca
Reviewed-on: https://skia-review.googlesource.com/147960
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
2018-08-24 16:30:00 +00:00
Kevin Lubick
1118cfdbdc Update Pixel 2 XL to Android P
Bug: skia:
Change-Id: Ib3616e1504175b7862ad0a78837cc8eca7a8deb9
Reviewed-on: https://skia-review.googlesource.com/149227
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-08-24 15:36:20 +00:00
angle-skia-autoroll
60e5b43e85 Roll third_party/externals/angle2 221fa26170ae..8ca60805916f (3 commits)
221fa26170..8ca6080591


git log 221fa26170ae..8ca60805916f --date=short --no-merges --format='%ad %ae %s'
2018-08-24 oetuaho@nvidia.com Add 2D MS array sampler support to compiler
2018-08-24 oetuaho@nvidia.com Draft ANGLE_texture_multisample_array spec
2018-08-24 jie.a.chen@intel.com Extend LinkProgramPerfTest to support compile only


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

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: I6a91f269cbc6c7f632a9df3edb5dc9784dbf5abf
Reviewed-on: https://skia-review.googlesource.com/149160
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-24 10:53:24 +00:00
angle-skia-autoroll
2a53275c38 Roll third_party/externals/angle2 c40974417610..221fa26170ae (4 commits)
c409744176..221fa26170


git log c40974417610..221fa26170ae --date=short --no-merges --format='%ad %ae %s'
2018-08-23 syoussefi@google.com Re-enable BlitFramebuffer tests
2018-08-23 fjhenigman@chromium.org Roll chromium DEPS.
2018-08-23 jmadill@chromium.org Optimize ValidateDrawStates.
2018-08-23 jmadill@chromium.org Add validation state change test for draw framebuffer.


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

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: I80ebb2b074184c4cc7fe089badede386227e00d6
Reviewed-on: https://skia-review.googlesource.com/149120
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-24 01:47:53 +00:00
recipe-roller
74b30d8156 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/1e82867e3d0f8f3f96672c0172ff4adad1777ce3 git cl: restart using project~number on Gerrit. (tandrii@chromium.org)
recipe_engine:
  https://crrev.com/ae1b7cd869b3821d84df1333a7abce956073f597 [file] Add flatten_single_directories function. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I48dbdf96e26bb22a06c941f070d8078ead366c10
Reviewed-on: https://skia-review.googlesource.com/149049
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-08-23 23:21:15 +00:00
recipe-roller
404a29cbc8 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/6365bc444603bb8e890a0b913757379c9c074f6c git cl: temporary stop using project~number on Gerrit. (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I955af1af7bf4815a1ef88753e6778f7307f9a422
Reviewed-on: https://skia-review.googlesource.com/149047
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2018-08-23 22:48:31 +00:00
Herb Derby
3a4818d15a Move mask rendering to its own routine
This will make it so I can move the routine to SkGlyphRun.cpp
to use all the shared code.

Change-Id: If8107cfb523e60b3f1120d8722666e7c2ade639d
Reviewed-on: https://skia-review.googlesource.com/149044
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-23 22:29:12 +00:00
Herb Derby
b2c721667f Simplify lifetime of scaler context for remote cache
Change-Id: Id51062e9b6231ae9eeabdc418adda8cc3974dcc3
Reviewed-on: https://skia-review.googlesource.com/149041
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-23 21:31:01 +00:00
Brian Salomon
5e81a123f2 Add support for dynamic state GP textures in Vulkan backend.
Separate uniform bindings from texture bindings in VK.

Combine descriptor set generation and pipeline binding for
uniforms, textures, views, and samplers in GrVkPipelineState.

Remove persistent tracking of textures, views, and samplers from
GrVkPipelineState.

Make GrTextureOp always use indexed draws since changing primitive
type in Vk isn't cheap.

Disable dynamic GP textures in VK/NVIDIA because of suspected driver bug.

Change-Id: I1108ce49b2c3a63c127fd4ad1d1c9440a99f4b22
Reviewed-on: https://skia-review.googlesource.com/146448
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-23 21:28:34 +00:00
recipe-roller
7330ae2469 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/b16da6a2a9e54d7c4b01bc5b7be51612af325007 bot_update: set the push URL to the actual remote, not the cache. (jbudorick@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I4b70e1e41267bbd94a349c8b81af8f2580b11a07
Reviewed-on: https://skia-review.googlesource.com/149045
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2018-08-23 21:26:00 +00:00
Ben Wagner
fd7957c8f6 Make create_test_font less global-ish.
The data flow of create_test_font.cpp is difficult to follow due to use
of mutablility and globals. This removes all of the non-local mutability
and globals.

In addition this updates a few of the types for additional clarity and
fewer casts and make SkSpan all constexpr.

Change-Id: If09d48d210fdd36cd8c8d713a60672b6e12bd838
Reviewed-on: https://skia-review.googlesource.com/148560
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-08-23 21:23:29 +00:00