Commit Graph

543 Commits

Author SHA1 Message Date
djsollen@google.com
d7df6b6452 Rebaseline Android Xoom and Nexus10
Review URL: https://codereview.chromium.org/26257002

git-svn-id: http://skia.googlecode.com/svn/trunk@11627 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-07 13:50:45 +00:00
halcanary@google.com
d8854adf1c Fix iOS build of test_image_decoder
Use tool_main() function.

Review URL: https://codereview.chromium.org/26008002

git-svn-id: http://skia.googlecode.com/svn/trunk@11600 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-04 13:37:24 +00:00
halcanary@google.com
fed3037217 Make image decoding more fault resistant, less verbose.
This change address what happens when a jpeg is partially downloaded
before failing.  Many browsers will render it anyway: we want Skia to
do the same.  The JpegTest takes a perfectly cromulent jpeg file and
only passes into the ImageDecoder the first half of the image.  We
then verify that the image decoder returns a valid bitmap of the
correct dimensions.

We also fixed some png library errors, including issue 1691.

Also, suppressed the majority of warnings from using libpng and
libjpeg.  By default, most warnings are *not* suppressed in debug mode.
If you have a debug binary and wish to suppress warnings, set the
following environment variables to true
    skia_images_png_suppressDecoderWarnings
    skia_images_jpeg_suppressDecoderWarnings
or from within a program that links to Skia:
    #if defined(SK_DEBUG)
    #include "SkRTConf.h"
    SK_CONF_SET("images.jpeg.suppressDecoderWarnings", true);
    SK_CONF_SET("images.png.suppressDecoderWarnings", true);
    #endif

I tested this, before (control) and after these changes (test), on
364,295 skps from the cluster telemetry.
-   number of errors+warnings in control = 2804
-   number of errors+warnings fixed = 2283
-   number of PNG verbosity fixed =  2152
-   number of PNG error fixed = 4
-   number of PNG segfault fixed = 3
-   number of PNG errors changed to warnings = 62
-   number of JPG verbosity fixed =  26
-   number of JPG error fixed = 91
Not all errors and warning have been fixed.

These numbers were generated using the find_bad_images_in_skps.py
program.  This program may be useful going forward for testing
image-decoding libraries on skp files from the cluster telemetry.
find_bad_images_in_skps.py depends on the test_image_decoder program,
which simply executes the SkImageDecoder::DecodeFile function and uses
its exit status to report success or failure.

BUG=skia:1649
BUG=skia:1691
BUG=skia:1680
R=scroggo@google.com

Review URL: https://codereview.chromium.org/24449003

git-svn-id: http://skia.googlecode.com/svn/trunk@11597 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-04 12:46:45 +00:00
commit-bot@chromium.org
608ea6508a Use SkPicture::ExtractBitmap callback in pdf too, there is no need for a specialized function pointer for pdf only only to pass a rectangle, when we can use subseted bitmaps.
R=scroggo@google.com, reed@google.com, vandebo@chromium.org, bsalomon@google.com

Author: edisonn@google.com

Review URL: https://codereview.chromium.org/25054002

git-svn-id: http://skia.googlecode.com/svn/trunk@11591 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-03 19:29:21 +00:00
commit-bot@chromium.org
546f70c823 Fixes for decoding to A8.
src/images/SkImageDecoder_libpng.cpp:
A8 images are not opaque, so do not set the opaque flag.
This fixes a bug where copyTo does not work as expected (when
copying an A8 decoded image to ARGB_8888), leading to
a bitmap hash that does not represent the image correctly
(in skimage).

tools/skimage_main.cpp:
In write_bitmap, which is creating the image for visual comparison,
copy A8 to 8888, since A8 cannot be encoded.

In the section that tests reencoding, do not test reencoding A8,
which is known to not work.

R=mtklein@google.com, djsollen@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/25726004

git-svn-id: http://skia.googlecode.com/svn/trunk@11589 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-03 17:13:38 +00:00
commit-bot@chromium.org
03e3e89641 Add support to dump font cache texture for debug purposes
R=robertphillips@google.com, bsalomon@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/25736002

git-svn-id: http://skia.googlecode.com/svn/trunk@11579 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 18:19:17 +00:00
scroggo@google.com
8d2392487c Add an option on SkImageDecoder to skip writing 0s.
Only implemented for PNG.

Add a getter and setter, and sets the default to false in the
constructor. Also copies the setting in copyFieldsToOther.

Fix an indpendent bug where fDitherImage was not being copied in
copyFieldsToOther.

In SkScaledBitmapSampler::begin, consolidate the settings passed in
by passing a const reference to the decoder. The decoder can be
referenced for its settings of dither, unpremultiplied, and now
skipping writing zeroes. Update callers to use the new API. In png
decoder, rather than passing around a pointer to an initial
read of getDitherImage, and potentially changing it, look at the
field on the decoder itself, and modify it directly. This is a
change in behavior - now if that same decoder is used to decode
a different image, the dither setting has changed. I think this is
okay because A) the typical use case is to use a new decoder for
each decode, B) we do not make any promises that a decode does not
change the decoder and C) it makes the code in SkScaledBitmapSampler
much cleaner.

In SkScaledBitmapScampler, add new row procs for skipping zeroes. Now
that choosing the row proc has five dimensions (src config, dst config,
dither, skip writing zeroes, unpremultiplied), use a new method: each
src/dst combination has a function for choosing the right proc depending
on the decoder.

SkScaledBitmapScampler::RowProc is now public for convenience.

Remove Sample_Gray_D8888_Unpremul, which is effectively no different
from Sample_Gray_D8888.

In cases where unpremultiplied was trivial, such as 565 and when
sampling from gray, decoding may now succeed.

Add a benchmark (currently disabled) for comparing the speed of skipping
writing zeroes versus not skipping. For this particular image, which is
mostly transparent pixels, normal decoding took about 3.6 milliseconds,
while skipping zeroes in the decode took only about 2.5 milliseconds
(this is on a Nexus 4). Presumably it would be slower on an image
with a small amount of transparency, but there will be no slowdown
for an image which reports that it has no transparency.

In SkImageRef_ashmem, always skip writing zeroes, since ashmem
memory is guaranteed to be initialized to 0.

Add a flag to skip writing zeroes in skimage.

Add a regression test for choosing the rowproc to ensure I did not
change any behavior accidentally.

BUG=skia:1661
R=reed@google.com

Review URL: https://codereview.chromium.org/24269006

git-svn-id: http://skia.googlecode.com/svn/trunk@11558 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-01 17:27:15 +00:00
epoger@google.com
f9d134da93 Create HTTP-based GM results viewer.
For now, it only allows VIEWING results... next, it will allow the user to
rebaseline GM results via the web interface.

R=borenet@google.com

Review URL: https://codereview.chromium.org/24274003

git-svn-id: http://skia.googlecode.com/svn/trunk@11500 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-27 15:02:44 +00:00
reed@google.com
d28ba8010c promote SkImage::AlphaType to SkAlphaType
BUG=
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/24130009

git-svn-id: http://skia.googlecode.com/svn/trunk@11421 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-20 19:33:52 +00:00
epoger@google.com
defc487aa9 gm: add --ignoreTests flag
BUG=skia:1600
R=scroggo@google.com

Review URL: https://codereview.chromium.org/23526065

git-svn-id: http://skia.googlecode.com/svn/trunk@11374 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-19 06:18:27 +00:00
senorblanco@chromium.org
bfc0d6bd5f Add an option to rebaseline.py to mark tests as ignore-failure.
R=epoger@google.com, epoger

Review URL: https://codereview.chromium.org/24195018

git-svn-id: http://skia.googlecode.com/svn/trunk@11358 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-18 19:14:43 +00:00
epoger@google.com
6d28e8d6ad rebaseline.py: make builder names copy-pastable from --help output
BUG=skia:1653
(SkipBuildbotRuns)

R=bsalomon@google.com

Review URL: https://codereview.chromium.org/23514068

git-svn-id: http://skia.googlecode.com/svn/trunk@11347 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-18 14:58:47 +00:00
borenet@google.com
1cf02a8adf Enable msaa4 on Nexus 4 in bench_pictures
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/23496059

git-svn-id: http://skia.googlecode.com/svn/trunk@11305 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-16 20:39:23 +00:00
borenet@google.com
b6e915da2e Add --from-trybot flag in rebaseline.py to enable rebaselining from trybots
(SkipBuildbotRuns)

R=epoger@google.com

Review URL: https://codereview.chromium.org/24153003

git-svn-id: http://skia.googlecode.com/svn/trunk@11294 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-16 18:13:13 +00:00
mtklein@google.com
1fb04e2540 add a way to get code coverage
BUG=
R=borenet@google.com

Review URL: https://codereview.chromium.org/23523055

git-svn-id: http://skia.googlecode.com/svn/trunk@11261 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-13 19:32:43 +00:00
epoger@google.com
bfe9167c66 Add README file so git will create empty dir
BUG=skia:1613
(SkipBuildbotRuns)

R=rmistry@google.com

Review URL: https://codereview.chromium.org/24112002

git-svn-id: http://skia.googlecode.com/svn/trunk@11203 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-11 17:31:49 +00:00
borenet@google.com
7aa8044da5 Ignore the .git directory in sanitize_source_files, remove .git directory...
R=rmistry@google.com

Review URL: https://codereview.chromium.org/23981006

git-svn-id: http://skia.googlecode.com/svn/trunk@11193 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-11 13:01:27 +00:00
mtklein@google.com
c289743864 Major bench refactoring.
- Use FLAGS_.
   - Remove outer repeat loop.
   - Tune inner loop automatically.

BUG=skia:1590
R=epoger@google.com, scroggo@google.com

Review URL: https://codereview.chromium.org/23478013

git-svn-id: http://skia.googlecode.com/svn/trunk@11187 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-10 19:23:38 +00:00
borenet@google.com
a5ed2ae409 Fix for r11156
Unreviewed.

Review URL: https://codereview.chromium.org/23498023

git-svn-id: http://skia.googlecode.com/svn/trunk@11157 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-09 15:24:40 +00:00
borenet@google.com
aa84ac3117 Add viewport CPU and GPU bench_pictures configs
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/23498021

git-svn-id: http://skia.googlecode.com/svn/trunk@11156 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-09 15:13:25 +00:00
epoger@google.com
80f9cf18cc rebaseline.py: add bug-filing URL to error message
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/23968002

git-svn-id: http://skia.googlecode.com/svn/trunk@11133 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-06 17:26:09 +00:00
epoger@google.com
7f5f6e6e30 Revert r11102 (mistakenly committed)
git-svn-id: http://skia.googlecode.com/svn/trunk@11103 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 17:19:37 +00:00
epoger@google.com
e5ee52e1f0 whitespace-only fix to manually-modified GM expectations
git-svn-id: http://skia.googlecode.com/svn/trunk@11102 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 17:18:08 +00:00
epoger@google.com
d73531a722 svndiff.py: properly handle empty expectations dictionary
BUG=skia:1588
R=jvanverth@google.com

Review URL: https://codereview.chromium.org/23769005

git-svn-id: http://skia.googlecode.com/svn/trunk@11078 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-04 16:27:16 +00:00
epoger@google.com
c206dfcf01 Add forgotten file from https://code.google.com/p/skia/source/detail?r=11063
Review URL: https://codereview.chromium.org/23911002

git-svn-id: http://skia.googlecode.com/svn/trunk@11064 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-03 18:31:25 +00:00
epoger@google.com
93acfd2b49 rebaseline.py: fix --add-new when there are no expectations at all
BUG=skia:1582
R=rmistry@google.com

Review URL: https://codereview.chromium.org/23899003

git-svn-id: http://skia.googlecode.com/svn/trunk@11063 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-03 18:27:19 +00:00
epoger@google.com
06e626d69e rebaseline.py: add --bugs and --unreviewed flags
BUG=skia:1569
R=borenet@google.com

Review URL: https://codereview.chromium.org/23478011

git-svn-id: http://skia.googlecode.com/svn/trunk@11058 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-03 17:32:15 +00:00
sglez@google.com
3e3cdadefd Fix rtree bench
R=caryclark@google.com

Review URL: https://codereview.chromium.org/23609009

git-svn-id: http://skia.googlecode.com/svn/trunk@11041 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-30 18:38:53 +00:00
sglez@google.com
ffb71f2dd5 Fix rtree tests build error
Review URL: https://codereview.chromium.org/23531019

git-svn-id: http://skia.googlecode.com/svn/trunk@11038 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-30 17:43:31 +00:00
sglez@google.com
8c902126a9 R-Tree -- Don't sort draw commands unless specified.
We expect Webkit and Bink to give us draw commands in a reasonable x,y order.
We can maintain correctness and get a 17% recording speedup for the R-Tree by
not sorting in x and y when bulk-loading.

R=caryclark@google.com, reed@google.com

Review URL: https://codereview.chromium.org/23480002

git-svn-id: http://skia.googlecode.com/svn/trunk@11037 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-30 17:27:47 +00:00
commit-bot@chromium.org
a6f37e77c1 Add ShouldSkip variant that can read a --match flag directly.
Just seemed like we were going through lots of hoops for this common case.

BUG=
R=scroggo@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/23708009

git-svn-id: http://skia.googlecode.com/svn/trunk@11034 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-30 15:52:46 +00:00
borenet@google.com
9f6c23e34e Stop running bench_pictures with msaa4 on Galaxy Nexus
Hopefully this works around https://code.google.com/p/skia/issues/detail?id=1560

R=robertphillips@google.com

Review URL: https://codereview.chromium.org/23449017

git-svn-id: http://skia.googlecode.com/svn/trunk@11023 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-30 13:19:18 +00:00
epoger@google.com
8209b183da rebaseline.py self-test: validate that unknown fields are maintained
BUG=skia:1569
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/23702006

git-svn-id: http://skia.googlecode.com/svn/trunk@11008 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 18:04:20 +00:00
epoger@google.com
3f0a108586 Remove temporary workaround TODOs from tools/tests/run.sh
R=rmistry@google.com

Review URL: https://codereview.chromium.org/23490009

git-svn-id: http://skia.googlecode.com/svn/trunk@10989 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-28 19:04:05 +00:00
scroggo@google.com
cd7a73c200 Test decoders when hasLength returns false.
Compare the result of a decode of a stream without a length to the
result of the same stream with a length. Ensures that our decoders
work regardless of whether hasLength returns true (since the decode
potentially follows two paths).

R=epoger@google.com

Review URL: https://codereview.chromium.org/23598004

git-svn-id: http://skia.googlecode.com/svn/trunk@10984 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-28 18:33:31 +00:00
commit-bot@chromium.org
6241754c84 bbh_shootout: Move bitmap rendering out of the timing codepath.
R=reed@google.com

Author: sglez@google.com

Review URL: https://chromiumcodereview.appspot.com/23639003

git-svn-id: http://skia.googlecode.com/svn/trunk@10983 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-28 16:02:47 +00:00
robertphillips@google.com
a99aba7d55 Remove less then useful configs from bench_pictures runs
https://codereview.chromium.org/23618004/



git-svn-id: http://skia.googlecode.com/svn/trunk@10973 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-28 12:31:49 +00:00
epoger@google.com
44f165f6ce temporarily hard-code builder list in rebaseline.py, for quick startup
BUG=skia:1544
R=borenet@google.com

Review URL: https://codereview.chromium.org/22866023

git-svn-id: http://skia.googlecode.com/svn/trunk@10908 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-24 20:45:31 +00:00
mtklein@google.com
330313a8a8 My clang now doesn't complain about !"foo".
BUG=
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/22875037

git-svn-id: http://skia.googlecode.com/svn/trunk@10874 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-22 15:37:26 +00:00
epoger@google.com
c192aa4937 Update references to buildbot globals deprecated by r10856
R=borenet@google.com

Review URL: https://codereview.chromium.org/23011035

git-svn-id: http://skia.googlecode.com/svn/trunk@10860 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-21 17:35:59 +00:00
epoger@google.com
fd040116c5 Remove base-* directories from gm expected/actual paths; just use platform names
BUG=skia:1512

The buildbot master continues to set gm_image_subdir, but the slaves no longer
use that component when building GM paths (they just use builder_name instead).
But gm_image_subdir is still used for SKP storage paths under
gs://chromium-skia-gm/playback/gm-actual , for now...

Immediately before committing this CL, I will copy the actual-results.json files
from their old locations to their new locations (within the skia-autogen repo)
so that both old and new versions of rebaseline.py will be able to retrieve
actual results, like so:

svn cp base-android-galaxy-nexus/Test-Android-GalaxyNexus-SGX540-Arm7-Debug/base-android-galaxy-nexus Test-Android-GalaxyNexus-SGX540-Arm7-Debug
svn cp base-android-galaxy-nexus/Test-Android-GalaxyNexus-SGX540-Arm7-Release/base-android-galaxy-nexus Test-Android-GalaxyNexus-SGX540-Arm7-Release
svn cp base-android-nexus-10/Test-Android-Nexus10-MaliT604-Arm7-Debug/base-android-nexus-10 Test-Android-Nexus10-MaliT604-Arm7-Debug
...
svn cp base-shuttle-win7-intel-float/Test-Win7-ShuttleA-HD2000-x86-Debug/base-shuttle-win7-intel-float Test-Win7-ShuttleA-HD2000-x86-Debug
svn cp base-shuttle-win7-intel-float/Test-Win7-ShuttleA-HD2000-x86-Release/base-shuttle-win7-intel-float Test-Win7-ShuttleA-HD2000-x86-Release


Once we see this CL land successfully, I will delete the actual-results.json
files from their OLD location within skia-autogen, like so:

svn rm base-android-galaxy-nexus
svn rm base-android-nexus-10
...
svn rm base-shuttle-win7-intel-directwrite
svn rm base-shuttle-win7-intel-float

R=borenet@google.com, rmistry@google.com

Review URL: https://codereview.chromium.org/23120002

git-svn-id: http://skia.googlecode.com/svn/trunk@10821 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 16:21:55 +00:00
commit-bot@chromium.org
2e915b3234 Add correctness test to bbh_shootout.
R=caryclark@google.com, reed@google.com

Author: sglez@google.com

Review URL: https://chromiumcodereview.appspot.com/23121002

git-svn-id: http://skia.googlecode.com/svn/trunk@10809 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 12:23:18 +00:00
commit-bot@chromium.org
fe87fb8a33 fix path issues on mac and win for skpdiff_server.py
R=djsollen@google.com, epoger@google.com, jvanverth@google.com

Author: zachr@google.com

Review URL: https://chromiumcodereview.appspot.com/22650009

git-svn-id: http://skia.googlecode.com/svn/trunk@10719 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-14 19:20:35 +00:00
epoger@google.com
8e6b7c3c98 Delete compare_baselines.py and download_baselines.py ; we use rebaseline.py now
Review URL: https://codereview.chromium.org/23082002

git-svn-id: http://skia.googlecode.com/svn/trunk@10714 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-14 18:14:31 +00:00
borenet@google.com
065224dbf3 Add Android config for Intel RHB
Corresponding buildbot change: https://codereview.chromium.org/22840005/

R=djsollen@google.com

Review URL: https://codereview.chromium.org/23046003

git-svn-id: http://skia.googlecode.com/svn/trunk@10699 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-13 20:32:22 +00:00
zachr@google.com
74c5ab19fd add ui for mutli-rebaselining
R=epoger@google.com

Review URL: https://codereview.chromium.org/22580004

git-svn-id: http://skia.googlecode.com/svn/trunk@10618 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 18:06:39 +00:00
zachr@google.com
6f8e2c5e87 download and rebaseline images using server
BUG=
R=epoger@google.com

Review URL: https://codereview.chromium.org/20654006

git-svn-id: http://skia.googlecode.com/svn/trunk@10607 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 15:43:04 +00:00
scroggo@google.com
6d99de11c4 Add config option to skimage.
Allows testing 565 and A8, in addition to 8888.

Also makes the preference consistent for each test (in one run).

BUG=skia:1465
R=djsollen@google.com

Review URL: https://codereview.chromium.org/22297007

git-svn-id: http://skia.googlecode.com/svn/trunk@10579 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 18:56:53 +00:00
scroggo@google.com
e339eb054b Do not fail skimage on missing expectations.
This will allow adding new images to test without turning the bots
red.

R=epoger@google.com

Review URL: https://codereview.chromium.org/22301006

git-svn-id: http://skia.googlecode.com/svn/trunk@10578 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 18:51:30 +00:00
epoger@google.com
2a192a8577 Delete image-based rebaselining tool; we have switched to checksums
R=borenet@google.com

Review URL: https://codereview.chromium.org/21901004

git-svn-id: http://skia.googlecode.com/svn/trunk@10524 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-02 20:54:46 +00:00