Commit Graph

564 Commits

Author SHA1 Message Date
djsollen@google.com
cbbf1ca304 add initial support ofr multi-threaded execution
Review URL: https://codereview.chromium.org/27541003

git-svn-id: http://skia.googlecode.com/svn/trunk@11823 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 18:36:49 +00:00
bsalomon@google.com
46484ec5bf Add --add-ignored option to rebaseline.py
R=senorblanco@chromium.org, epoger@google.com
BUG=skia:1600

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11809 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 15:10:45 +00:00
djsollen@google.com
1e391b5870 Update skpdiff to include a name with each file.
R=caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11808 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 15:00:11 +00:00
scroggo@google.com
36c5bdb097 Truly ignore failures in skimage.
If the expectation is set to ignore failures, do not return a
negative 1 (indicating a failure) when a successful decode
does not match the expectation.

If the file could not be decoded at all, report this to the
user depending on the input expectations file:

No expectations:
Report failure. The user wanted to know if the file could be
decoded.

Expectations expected a valid result:
Report failure. The decode should have matched the result.

Empty expectations:
Print a message that the expectation was missing, but still
return success from skimage, since this is a newly added file
(i.e. it has no expectation yet).

Ignore failure:
Return success from skimage, since it is a known failure.

Update the self tests to ensure these behaviors.

R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11790 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 20:29:37 +00:00
robertphillips@google.com
8b169311b5 Second wave of Win64 warning cleanup
https://codereview.chromium.org/27343002/



git-svn-id: http://skia.googlecode.com/svn/trunk@11778 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 17:47:36 +00:00
bensong@google.com
e209a70d1e Suppresses failing test due to change of bench_graph_svg. Will fix later.
Review URL: https://codereview.chromium.org/26894004

git-svn-id: http://skia.googlecode.com/svn/trunk@11766 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 00:35:18 +00:00
robertphillips@google.com
adacc7067a Start cleaning up 64bit Win warnings
https://codereview.chromium.org/27192003/



git-svn-id: http://skia.googlecode.com/svn/trunk@11764 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 21:53:24 +00:00
halcanary@google.com
04b57f87ab Runtime configuration setting for suppressing JPEG decoder errors.
Add new runtime config variable, images.jpeg.suppressDecoderErrors
which defaults to false in Debug and true otherwise.  When Jpeg errors
are suppressed and an error happens, SkJPEGImageDecoder::onDecode()
will return silently false (Consequently, so will SkImageDecoder's
DecodeFile() and DecodeMemory() functions).

Also, the test_image_decoder program now respects runtime
configuration settings.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11763 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 20:08:48 +00:00
commit-bot@chromium.org
5e00989a28 Add SkPDFDeviceFlatenner which extends SkPDFDevice to add support to flatten the path and the text when we have perspective.
prepare to deprecate SkPDFDevice constructor, and route gm and render_pdfs to use SkDocument::Create pdf interface instead. - controlled by a flag
add comments where we are supposed to flatten other features (paint, shaders, ... )

R=reed@google.com, bungeman@google.com, scroggo@google.com, vandebo@chromium.org, bsalomon@google.com

Author: edisonn@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11751 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 13:42:12 +00:00
bungeman@google.com
16b2dd05f0 Add stdio include to skdiff_image.
git-svn-id: http://skia.googlecode.com/svn/trunk@11740 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 19:19:10 +00:00
robertphillips@google.com
8ec502b416 Add valgrind suppressions for driver bugs
https://codereview.chromium.org/27019005/



git-svn-id: http://skia.googlecode.com/svn/trunk@11736 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 18:28:18 +00:00
scroggo@google.com
d23e683c51 Add ability to rebaseline skimage to rebaseline.py
Skip pattern matching for skimage, since the skimage results do not
match the pattern.

Automatically fill in expectations_root and actuals_base_url when
--skimage is specified.

Requires a change to move the expectations files to the right place.
Depends on https://codereview.chromium.org/26734006

(SkipBuildBotRuns)

BUG=skia:1466
R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11717 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 21:09:24 +00:00
robertphillips@google.com
1b440d1574 Add leak to valgrind.supp
https://codereview.chromium.org/26869002/



git-svn-id: http://skia.googlecode.com/svn/trunk@11700 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 17:04:14 +00:00
bungeman@google.com
cc5fd0a95a Use the modified path, not the original path for the platform prefix.
Fixes regression introduced in r11642.


git-svn-id: http://skia.googlecode.com/svn/trunk@11693 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 14:16:23 +00:00
commit-bot@chromium.org
dac4a1d518 Allow sampling GIF images during decode.
SkScaledBitmapSampler:
Add a mode for sampling rows out of order, used by GIF decoder for
interlaced images.
Add a getter for the X sampling rate.

SkImageDecoder_libgif:
Respect the sampleSize set on SkImageDecoder.

skimage_main:
Provide an option to set a sample size.

BUG=https://b.corp.google.com/issue?id=8999690
R=reed@google.com, djsollen@google.com, halcanary@google.com

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11659 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-08 19:40:18 +00:00
robertphillips@google.com
6187abe776 Update valgrind suppressions
https://codereview.chromium.org/26465007/



git-svn-id: http://skia.googlecode.com/svn/trunk@11650 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-08 15:37:19 +00:00
mtklein@google.com
9f3b0e462e skia/trunk changes for generic sanitizer gyp flag.
BUG=
R=borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11648 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-08 15:16:36 +00:00
bungeman@google.com
575e82ad5d Document how to get a specific revision when rebaselining.
This is helpful when using the trybots.

R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11643 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-07 20:32:18 +00:00
bungeman@google.com
3c8d9cb8a7 Make svndiff.py work on Windows and with svn 1.7.
R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11642 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-07 19:57:35 +00:00
scroggo@google.com
de09af3fd8 In skimage, copy to 8888 if encoding fails.
When writing the bitmap for visual comparison, rather than special
casing A8, depend on the fact that the encoder will fail, and try
copying to 8888 and encoding that if so.

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11633 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-07 16:56:01 +00:00
djsollen@google.com
64f031c278 revert unintentional checkin of svndiff.py
Review URL: https://codereview.chromium.org/26162004

git-svn-id: http://skia.googlecode.com/svn/trunk@11628 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-07 14:02:58 +00:00
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