Commit Graph

350 Commits

Author SHA1 Message Date
Kevin Lubick
57eea942a6 Restore Pixelbook jobs
These were accidentally deleted on https://skia-review.googlesource.com/c/skia/+/66880

Bug: skia:
NOTRY=true
Change-Id: I99a13b236aa626ed224dbc503707d16c08b5219d
Reviewed-on: https://skia-review.googlesource.com/68204
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-11-07 14:21:38 +00:00
Ben Wagner
4d3b672b5c Revert "Specify minor MacOS version before upgrade."
This reverts commit c2d18f34de.

Reason for revert: GPU bots are on 10.12.6.

Original change's description:
> Specify minor MacOS version before upgrade.
>
> Bug: skia:7203
> NoTry: true
> Change-Id: I24a098bff3897e36cf2a6125980e842b37261a2a
> Reviewed-on: https://skia-review.googlesource.com/67320
> Reviewed-by: Stephan Altmueller <stephana@google.com>
> Commit-Queue: Ben Wagner <benjaminwagner@google.com>

TBR=benjaminwagner@google.com,stephana@google.com

NoTry: true
Bug: skia:7203
Change-Id: I173248ad99d88706be3b10f862fee4ff9da33e83
Reviewed-on: https://skia-review.googlesource.com/67808
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2017-11-06 19:28:29 +00:00
Mike Klein
9a01a215bb add a few NativeFonts bots
These are no different from other bots yet, except that they only run
8888 GMs and unit tests.  They will in the future pass --nativeFonts
true, while other bots will pass --nativeFonts false, the effect of
which has not quite yet been pinned down.

Change-Id: I467852269856dda05330957bc357ef15a2c2a1eb
Reviewed-on: https://skia-review.googlesource.com/67769
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2017-11-06 18:54:50 +00:00
UpdateSKPs
6e0424ec5e Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: I7e1e5e3d80c1944be67be90e107d261302d1e6a0
Reviewed-on: https://skia-review.googlesource.com/67922
Commit-Queue: update-skps <update-skps@skia.org>
Reviewed-by: update-skps <update-skps@skia.org>
2017-11-05 08:06:18 +00:00
Ben Wagner
c2d18f34de Specify minor MacOS version before upgrade.
Bug: skia:7203
NoTry: true
Change-Id: I24a098bff3897e36cf2a6125980e842b37261a2a
Reviewed-on: https://skia-review.googlesource.com/67320
Reviewed-by: Stephan Altmueller <stephana@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-11-03 16:26:34 +00:00
Ben Wagner
9539a8c5e6 Upgrade angler and fugu to latest OS.
No-Try: true
Change-Id: I5fb4678c40956b8cd7fd89c43451d59aeebcab27
Reviewed-on: https://skia-review.googlesource.com/66883
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-11-03 13:39:30 +00:00
Yuqian Li
ab246cb58d Add a GPU calmbench bot
Bug: skia:
Change-Id: I354c295ce04f5e478e88f724e0b17ce90496a4cc
Reviewed-on: https://skia-review.googlesource.com/65341
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-11-02 19:04:21 +00:00
Kevin Lubick
d7af1dbb64 Rename chromebook jobs to be more human friendly
Bug: skia:
NOTRY=true
Change-Id: I500eae85ec334dc7121266ebd2f41dc526ec4695
Reviewed-on: https://skia-review.googlesource.com/66880
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-11-02 18:07:34 +00:00
Kevin Lubick
b718fbb7f4 Add Pixelbook to tree
Bug: skia:7249
NOTRY=true
Change-Id: I7ab6bc28d567ca5ae75df9c1e56b46c307032024
Reviewed-on: https://skia-review.googlesource.com/66143
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-11-02 13:36:21 +00:00
Kevin Lubick
af79192aa3 Make CPU coverage bot a bit faster
Adding -O1 and reducing the shards to cut down on overhead
in post-production.  This seems to save us a few minutes
(e.g. ~26 -> ~23 minutes).

The optimized code has about 600 fewer reachable lines of code
(according to the Coverage measurement), which is acceptable
given our tests run on -O1 or better.

Experiments (in this review) show that O3 is faster than O1, 
but not significantly enough where we want to deviate from 
our normal Debug bots:
Control: 73 minutes
-O1: 59 minutes
-O2: 60 minutes
-O3: 50 minutes

Bug: skia:
NOTRY=true
Change-Id: I33344c1cd2408373004d010e36ce27d6aa03deb2
Reviewed-on: https://skia-review.googlesource.com/65503
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-11-02 13:15:51 +00:00
Ben Wagner
8f21f2172f Add Win2k8 QuadroP400 jobs.
This is a placeholder until we can get ANGLE working on these bots.

Bug: skia:6734
Change-Id: I8361da10acaa3c85faaa8ebfc1f1797d3f5e90f7
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/26368
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-11-01 19:33:51 +00:00
Ben Wagner
721718059f Upgrade GT610 to Win 10 Creators Update.
Bug: 777523
No-Try: true
Change-Id: I0b9fe60c571dd9a96d6fd27c74071ef1809b4da5
Reviewed-on: https://skia-review.googlesource.com/66158
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-11-01 19:21:01 +00:00
Kevin Lubick
b018f7b79b Add Pixel 2 XL to waterfall
Bug: skia:7249
NOTRY=true
Change-Id: I877c8aa40c4529fdf7ae98b61e5742b93ce78c70
Reviewed-on: https://skia-review.googlesource.com/65821
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-10-31 19:58:44 +00:00
Kevin Lubick
674027a6b8 Update Pixel Cs to (actual) latest version
I chose the wrong image last time :(

Bug: skia:6176
NOTRY=true
Change-Id: I4b3d9f0d71673bc7ab15a26db52d36cbb494f9c8
Reviewed-on: https://skia-review.googlesource.com/65502
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-10-31 13:51:44 +00:00
Kevin Lubick
d2b8af1152 Update Pixel Cs to new version
Bug: skia:6176
NOTRY: true
Change-Id: Ic287556f6e4fa3bffc53e1ca0ca11cc955a4f278
Reviewed-on: https://skia-review.googlesource.com/65101
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-10-30 16:20:29 +00:00
Yuqian Li
228da62fa7 Output calmbench json in nanobench format
Meanwhile, we also make the bot name more similar to the perf bot.

Bug: skia:
Change-Id: I8b0e6aa2d927aa4a0ce57606345589adb6e920b3
Reviewed-on: https://skia-review.googlesource.com/64082
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-10-30 13:52:08 +00:00
UpdateSKPs
2d8d196318 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: I93389ae509c54cce5b49126beff8b19a79166cbe
Reviewed-on: https://skia-review.googlesource.com/64960
Commit-Queue: update-skps <update-skps@skia.org>
Reviewed-by: update-skps <update-skps@skia.org>
2017-10-29 07:41:47 +00:00
Ben Wagner
1a2b3f0f93 Remove Nexus10 GPU jobs.
The latest OS is Lollipop, and it was originally released November 2012.
The GPU is not in the top 26 according to UMA stats (I haven't collected
data for lower than 26). We test the same GPU with the
Chromebook_303C12, and bsalomon says "Personally, I'm OK with just
relying on ChromeOS for testing."

No-Try: true
Change-Id: Ib17033153faab9d99613e7d2d069524c9435f65e
Reviewed-on: https://skia-review.googlesource.com/64066
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-10-26 19:58:28 +00:00
Ben Wagner
077710b06f Move FxAA jobs to Win2k8, Clang, GCE, 64-bit; run fewer configs.
These jobs were originally added in
https://skia-review.googlesource.com/c/skia/+/60540.

No-Try: true
Change-Id: I38677933dbb05dac8df9ea236af9a5d7b8227623
Reviewed-on: https://skia-review.googlesource.com/63742
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
2017-10-26 17:20:47 +00:00
Chris Dalton
4d3f20f9b3 Add full skpbench jobs for Pixel phone
Bug: skia:
Change-Id: I1b2ae213f332a3597e834e036efb8dad8df12b8b
Reviewed-on: https://skia-review.googlesource.com/63541
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2017-10-25 18:51:14 +00:00
Ben Wagner
b2fd61a058 Move most remaining ANGLE bots to Clang.
Sort job names.

Docs-Preview: https://skia.org/?cl=63080
No-Try: true
Change-Id: Ia72c055c4ddb903063b8a4be5ebd6ba92fc8b6d6
Reviewed-on: https://skia-review.googlesource.com/63080
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-10-24 18:01:21 +00:00
Yuqian Li
2ebf3d11f1 Upload calmbench results
Bug: skia:
Change-Id: I31c8a625e2b4ed30a8cf0f03035b311ca1c21f88
Reviewed-on: https://skia-review.googlesource.com/63060
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-10-24 14:19:31 +00:00
Yuqian Li
19aaabf8fd Add compiler configuration to calmbench bots
Now the calmbench bot has the same name schema as the build bots
and we're testing using Clang instead of GCC. In the future, we
may also import some configuration schemas from perf bots.

Bug: skia:
Change-Id: Idd9556cff36b749a6c9139d34f70ac50ca48fbba
Reviewed-on: https://skia-review.googlesource.com/62920
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-10-23 17:43:19 +00:00
Mike Klein
30578893c5 add -SafeStack bots
These bots use https://clang.llvm.org/docs/SafeStack.html.

This separates the safe (constant size?) parts of the stack like return
address and some local variables apart from the unsafe over- and
underflow prone array uses.  These go on the "unsafe stack".

In theory this makes sense on {Linux,Mac}x{Debug,Release},
but let's just start with Linux/Debug.

Change-Id: I9f5cbeb7081e7d9ac8e1298ca0d86880a6085cfa
Reviewed-on: https://skia-review.googlesource.com/62743
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-10-23 15:32:28 +00:00
UpdateSKPs
7f1f9976da Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: Id778f19da2f72b70562d5827d6e42fbb8d48cf10
Reviewed-on: https://skia-review.googlesource.com/62660
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>
2017-10-22 07:32:37 +00:00
Chris Dalton
1e6b36eb57 Add skpbench jobs for CCPR
Adds new runs that benchmark just a handful of skps with CCPR.
This will also be Pixel's small debut on skpbench.

Bug: skia:
Change-Id: I7e4c3aeaa083ffe29c275f1c021ee62d177b6172
Reviewed-on: https://skia-review.googlesource.com/62302
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2017-10-20 19:34:17 +00:00
Kevin Lubick
9cbd4d5b74 Update to go 1.9
Bug: skia:
Change-Id: Idda5c247895031982d19534197bc1b6ab5f6e4da
Reviewed-on: https://skia-review.googlesource.com/58000
Reviewed-by: Stephan Altmueller <stephana@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-10-18 20:15:55 +00:00
Ben Wagner
209c813981 Fix FxAA job names.
Fixes a conflict between
https://skia-review.googlesource.com/c/skia/+/60540 and
https://skia-review.googlesource.com/59961.

No-Try: true
Change-Id: Ie2731679f4471eff51ac468a794c4c17c2f931df
Reviewed-on: https://skia-review.googlesource.com/60861
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-10-17 22:16:22 +00:00
Kevin Lubick
32f318bad4 Shard GCE Coverage bot to decrease latency
Bug: skia:
Change-Id: I28d28f514b46ad0c30109beba90ae8a1bd8fc4e3
Reviewed-on: https://skia-review.googlesource.com/59961
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-10-17 21:10:17 +00:00
Yuqian Li
84be3ad501 Add tests that force a specific CPU scan converter
This would allow us to have more test coverage on specific scan converters
which may help us detect some wierd bugs such as crbug.com/774008

Bug: chromium:774008
Change-Id: I9213b11bb47ce48a6eff8da494e1b2699d386ae9
Reviewed-on: https://skia-review.googlesource.com/60540
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-10-17 15:17:02 +00:00
Yuqian Li
c81aaaad0b Try calmbench on bots
Bug: skia:
Change-Id: I869776e3d9d47b4a1a11089f729a0b17581eb9f7
Reviewed-on: https://skia-review.googlesource.com/57400
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-10-16 17:33:40 +00:00
Ravi Mistry
f06dae824b Stop CT_DM_1m bot from triggering on every commit
NoTry: true
Bug: skia:
Change-Id: I2d8039ad4105234f1079dd48a9d0fc0047eec9c6
Reviewed-on: https://skia-review.googlesource.com/60080
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2017-10-16 14:40:14 +00:00
Kevin Lubick
9ef6de7824 Add in test_filter to build configuration
The first "sharding" technique we will try is just by test config
(e.g. 8888, gles, etc).  Thus, for backwards compatibility,
the default "shard" is All, as in all configs

Bug: skia:
NOTRY=true
Change-Id: Ia02362477a5d97f8f74d688b5f0c4f45fc129375
Reviewed-on: https://skia-review.googlesource.com/59563
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-10-16 11:09:49 +00:00
UpdateSKPs
22a43a36d8 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: Ie89dc6f872518191c0837f54cd2908db29f73be4
Reviewed-on: https://skia-review.googlesource.com/59900
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>
2017-10-15 07:55:05 +00:00
Ben Wagner
9d7f135599 Add Win Clang ANGLE test and perf jobs.
No-Try: true
Change-Id: I95a29b1abfd84e51f5a31d74644e5305779f0d15
Reviewed-on: https://skia-review.googlesource.com/57100
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-10-13 14:43:17 +00:00
Ben Wagner
a317a99807 Switch most Win Vulkan jobs to Clang.
Update examples in recipes.

Change-Id: I096f259e8daa46af8626158a820fe226e99cd159
Reviewed-on: https://skia-review.googlesource.com/58200
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-10-11 15:00:10 +00:00
Kevin Lubick
e0240455a8 Add Linux GPU Coverage bot
Adds it for Vulkan and non-Vulkan

Bug: skia:7080
NOTRY=true
Change-Id: I5c4b30b91b96ad6ce9694c42550c4e909de4ba41
Reviewed-on: https://skia-review.googlesource.com/57560
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2017-10-10 15:15:22 +00:00
Kevin Lubick
c795a4c886 Add Linux CPU Coverage Bot
This simply uploads the results of an LLVM coverage to GCS
for later ingestion/display.

Bug: skia:7080
Change-Id: I7dcfa2307a239734a614990aca899ea37129126b
Reviewed-on: https://skia-review.googlesource.com/53880
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-10-09 19:58:34 +00:00
Ben Wagner
7cf2fd6ff6 Cleanup jobs.
NUC6i7KYK with GTX960 is an experimental eGPU setup that will be
replaced with the NUC7i5BNK.

IntelHD4600 has been replaced with IntelHD4400.

Move remainder of *AbandonGpuContext jobs to QuadroP400.

No-Try: true
Change-Id: Ic81392ec162cb88500c9da7609471dbdc4a64f84
Reviewed-on: https://skia-review.googlesource.com/57320
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-10-09 19:15:05 +00:00
Ben Wagner
92d3bc9c9f Fix merge conflict.
This resolves the conflict between
https://skia-review.googlesource.com/57120 and
https://skia-review.googlesource.com/57081.

No-Try: true
Change-Id: I45f47eb13dd7151b37b3b37f821232a02b9a43ff
Reviewed-on: https://skia-review.googlesource.com/57082
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-10-08 19:57:02 +00:00
Ben Wagner
2d861e9514 Add Win Clang Vulkan jobs.
No-Try: true
Change-Id: I0b9f07e9057892443934da399f60762005495bde
Reviewed-on: https://skia-review.googlesource.com/57081
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-10-08 19:09:21 +00:00
UpdateSKPs
c9cb9e8147 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: I0e9f38de166cfb7823a943f28e525f0bb008f1e7
Reviewed-on: https://skia-review.googlesource.com/57120
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>
2017-10-08 07:54:56 +00:00
Ben Wagner
eeadcc1b5c Add Win Clang Vulkan builds.
Fix Clang compiler warning.

Change-Id: Ic6f5b161058d1ed2df45e12b72dbff3b486ec986
Reviewed-on: https://skia-review.googlesource.com/56740
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-10-07 18:27:40 +00:00
Ben Wagner
9cb2cae635 Remove Perf SurfacePro2017 jobs.
Perf numbers track closely with IntelIris540, although Perf numbers from
SurfacePro2017 are more noisy.

No-Try: true
Change-Id: I9dfefd6daf69644a1c0850453334876269cd7942
Reviewed-on: https://skia-review.googlesource.com/56540
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-10-06 19:25:47 +00:00
Ben Wagner
9fb285e322 Switch many jobs to Clang.
No-Try: true
Change-Id: Ie255d46ff50d13d25d045791c1c3066f06ab9243
Reviewed-on: https://skia-review.googlesource.com/53601
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2017-10-03 16:17:19 +00:00
Ben Wagner
5655ba4398 Add Linux nVidia Vulkan jobs.
Change-Id: Ib323136e4c6f660923433a2508e1e0965712d698
Reviewed-on: https://skia-review.googlesource.com/53460
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2017-10-02 15:08:28 +00:00
UpdateSKPs
3c83668862 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: Ibb9da81bde1bcab7ad463f64ed64f729d9fc1385
Reviewed-on: https://skia-review.googlesource.com/53740
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>
2017-10-01 07:40:56 +00:00
Kevin Lubick
bede88e727 Add coverage related binaries to clang_linux asset
Add --depth 1 to the git clone commands to speed up the creation,
since we don't need all of the history ever to build.

Bug: skia:7080
Change-Id: Idcde5657e2097c2dbc259ab29b24d596b5623364
Reviewed-on: https://skia-review.googlesource.com/53481
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-09-29 20:20:24 +00:00
Ben Wagner
b268d23281 Add AVX512 jobs.
Bug: skia:6326
No-Try: true
Change-Id: Iaffc0cbbe14237e7ac2d83cc9da94a4c7bea3154
Reviewed-on: https://skia-review.googlesource.com/52764
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-09-29 14:19:34 +00:00
Leon Scroggins III
e56774602c Fix truncated webp images
Bug: b/65290323

If a webp file is truncated such that no rows can be decoded,
WebPIDecGetRGB does not initialize its "last_y" parameter. We use
rowsDecoded (passed as last_y) to determine which remaining rows to
fill.

Check the return value of WebPIDecGetRGB. If it fails (returns null),
or rowsDecoded is <= 0 (matching Chromium's check), return
kInvalidInput, since there is nothing to draw.

Note that this is a change in behavior for Android. Previously we
would decode an empty webp to just a transparent/black rectangle,
whereas now we simply fail. I think this is a change for the better.

Add a test which truncates a file to have 0 rows available and attempts
to decode it. msan verifies that we no longer depend on the
uninitialized value.

Stop attempting to test decoding subsets from an incomplete webp (in
CodecTest.cpp). Unless we have decoded the portion covered by the
subset, this will fail.

Remove test images inc0.webp (from both dm/ and colorspace/) and
inc1.webp. These just decode to transparent rectangles. Replace them
with inc2.webp and inc3.webp, which decode part of the image and then
have to fill with transparent.

Change-Id: I64d40be91c574b45963f9a43d8dd8f4929dd2939
Reviewed-on: https://skia-review.googlesource.com/50303
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: James Zern <jzern@google.com>
2017-09-27 20:51:02 +00:00