Commit Graph

243 Commits

Author SHA1 Message Date
sglez@google.com
586db93c44 refactor duplication (shouldSkip and skip_name) into a utility function
R=caryclark@google.com, reed@google.com

Committed: https://code.google.com/p/skia/source/detail?r=10280

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10317 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 17:24:23 +00:00
epoger@google.com
ed5eb4ef2a Revert r10280, which caused https://code.google.com/p/skia/issues/detail?id=1441
Review URL: https://codereview.chromium.org/19537005

git-svn-id: http://skia.googlecode.com/svn/trunk@10284 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 17:56:20 +00:00
sglez@google.com
434251f872 refactor duplication (shouldSkip and skip_name) into a utility function
R=caryclark@google.com, reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10280 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 17:26:34 +00:00
bungeman@google.com
c29f3d8c6d Add a detachAsStream to SkDynamicMemoryWStream.
R=reed@google.com

Committed: https://code.google.com/p/skia/source/detail?r=10171

Committed: https://code.google.com/p/skia/source/detail?r=10178

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10218 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 22:32:11 +00:00
bungeman@google.com
88682b77d1 Add a detachAsStream to SkDynamicMemoryWStream.
R=reed@google.com

Committed: https://code.google.com/p/skia/source/detail?r=10171

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10178 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 13:55:41 +00:00
robertphillips@google.com
6eee5c3ec4 Revert r10171 due to test failure in StreamTest
git-svn-id: http://skia.googlecode.com/svn/trunk@10172 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 23:59:16 +00:00
bungeman@google.com
eacb54e174 Add a detachAsStream to SkDynamicMemoryWStream.
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10171 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 22:27:21 +00:00
robertphillips@google.com
d6543e5eda Improve null gpu's memory handling
https://codereview.chromium.org/19678010/



git-svn-id: http://skia.googlecode.com/svn/trunk@10148 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 17:39:14 +00:00
epoger@google.com
c824c83ec1 gm: since we don't record output of gpudebug test, don't record checksums either
BUG=https://code.google.com/p/skia/issues/detail?id=1410
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10046 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-12 15:52:59 +00:00
epoger@google.com
e33e137623 GM: stop recording all *_pdf.png results as "INVALID" on non-Mac platforms
BUG=https://code.google.com/p/skia/issues/detail?id=1352
R=edisonn@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9912 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-08 19:13:33 +00:00
scroggo@google.com
f1754ec691 Replace SkPicture(SkStream) constructors with a factory.
SkPicture:
Remove the constructors which take an SkStream as an argument. Rather
than having to check a variable for success, the factory will return
NULL on failure.
Add a protected function for determining if an SkStream is an SKP
to share code with SkTimedPicture.
In the factory, check for a NULL SkStream.
Use a default decoder (from BUG:
https://code.google.com/p/skia/issues/detail?id=1325)

SkDebuggerGUI:
Call SkPicture::CreateFromStream when necessary.
Write a factory for creating SkTimedPictures and use it.

Use the factory throughout tools.

Add include/lazy to utils and effects gyp include_dirs so SkPicture.h
can reference SkImageDecoder.h which references SkBitmapFactory.h (in
include/lazy).

Changes code Chromium uses, so this will require a temporary Skia
and then a change to Chromium to use the new Skia code.

TODO: Create a decoder that does nothing to be used by pinspect,
lua pictures, etc, and allow it to not assert in SkOrderedReadBuffer.

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9822 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-28 21:32:00 +00:00
epoger@google.com
5f99545de6 GM: add --missingExpectationsPath option, similar to --mismatchPath
This will allow us to make the buildbots record all images EXCEPT those which
match expectations to Google Storage.

R=borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9725 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-21 18:16:47 +00:00
epoger@google.com
6f7f14d061 Reland r9682, using new SkString::appendU64()
Review URL: https://codereview.chromium.org/17157005

git-svn-id: http://skia.googlecode.com/svn/trunk@9687 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-19 18:28:31 +00:00
epoger@google.com
628de5f1f4 Reverting r9682, which broke on some compilers
git-svn-id: http://skia.googlecode.com/svn/trunk@9684 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-19 15:58:00 +00:00
epoger@google.com
6324ac5d81 GM: add --writeChecksumBasedFilenames option
as needed for Step 2 of https://goto.google.com/ChecksumTransitionDetail :
make GenerateGMs upload actual images to Google Storage instead of skia-autogen

R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9682 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-19 15:50:09 +00:00
commit-bot@chromium.org
c41295d122 remove double including of libpng decoder
R=bungeman@google.com

Author: zachr@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9666 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-18 20:06:36 +00:00
bsalomon@google.com
42db2e4513 Fixes to make the gm run when GrContext can't be created for ANGLE context.
git-svn-id: http://skia.googlecode.com/svn/trunk@9510 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-11 19:22:44 +00:00
robertphillips@google.com
7bb28a1679 Disable msaa16 by default
https://codereview.chromium.org/16035011/



git-svn-id: http://skia.googlecode.com/svn/trunk@9469 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-06 21:29:39 +00:00
junov@chromium.org
66070a527c Changing SkDeferredCanvas to use factories for creation
The objective of this change is to remove all calls to 
SkCanvas::setDevice. The factory API is hidden behind
a build flag in order to ease the roll into chromium.

A side-effect of the factory pattern is that it will
no longer be possible to allocate a SkDeferredCanvas on
the stack.  This changes nothing for chrome, but it
impacts skia test programs.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9298 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-28 17:39:08 +00:00
scroggo@google.com
ccd7afb6fb Reland 'Add path utils, plus a test for it.'
Build SkPathJoin and SkBasename on windows also.

Previous CL did not build on Windows because the two functions were
accidentally placed inside an ifdef that did not include windows.
Move the functions to the top of the file, and add a comment by the
endif for clarity.

Previously reviewed at https://codereview.chromium.org/15747004/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9295 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-28 16:45:07 +00:00
scroggo@google.com
dbbcaa8983 Revert "Add path utils, plus a test for it."
This reverts commit d172374b46cae0bd5d7c024b9848f5bdafcc6a16.

This CL broke on Windows.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9278 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 18:28:57 +00:00
scroggo@google.com
1bee037044 Add path utils, plus a test for it.
SkOSFile:
Added class SkOSPath with functions for
modifying strings representing path names.

OSPathTest.cpp:
Test of the new utilities.

factory.cpp:
Use SkPathJoin.

gmmain and gm_expectations:
Use SkOSPath::SkPathJoin instead of a local version.

skimage_main.cpp:
Use the new location of SkPathJoin and SkBasename.

R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9277 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 18:12:17 +00:00
epoger@google.com
d4993ff360 GM: create GmResultDigest that encapsulates digest type ("bitmap-64bitMD5") and value (12345)
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9271 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 14:33:28 +00:00
epoger@google.com
659c8c06cd GM: make behavior of make_filename() more late-binding
This will be needed to add the option of writing out files with
checksum-based filenames.

R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9215 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-21 15:45:45 +00:00
epoger@google.com
ce057fec92 GM: include filename extension (.png) of each output file in JSON summary
Doing this so that, once we *do* start writing PDF checksums into the JSON
summary, we'll be able to distinguish those from the PNG checksums.
Otherwise, we could have naming collisions.

R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9119 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-14 15:17:46 +00:00
caryclark@google.com
512c9b65fc add wildcard test name matching to gm and bench.
This adds the same set of options in unit tests, i.e:

--match [~][^]match[$] [~][^]match[$] ...
~ causes a matching test to always be skipped
^ requires the start of the test to match
$ requires the end of the test to match
^ and $ requires an exact match

If a test does not match any list entry,
it is skipped unless some list entry starts with ~
Review URL: https://codereview.chromium.org/14746017

git-svn-id: http://skia.googlecode.com/svn/trunk@9096 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-10 15:16:13 +00:00
bungeman@google.com
1ca36ecfd9 Don't use writeData to write the document in GM.
https://codereview.chromium.org/14824003/


git-svn-id: http://skia.googlecode.com/svn/trunk@9013 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-06 14:28:43 +00:00
epoger@google.com
fdea3259d0 GM: fix --mismatchPath option
(currently, it doesn't actually write any files!)

TBR=rmistry

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8963 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-02 18:24:03 +00:00
scroggo@google.com
74b7ffda68 Fixes for piping bitmaps with encoded data.
Similar goals as https://codereview.chromium.org/14437012.

Builds on patch set 1 from that issue
(https://codereview.chromium.org/14437012/#ps1).

Instead of the changes in patch set 2 from that issue, this
changes SkOrderedWriteBuffer::writeBitmap to store whether an
SkBitmapHeap was used when to store the index of the SkBitmap.
SkOrderedReadBuffer::readBitmap now uses that information to
distinguish between using the heap and unflattening.

In addition, writeBitmap now records the width/height first in
all cases. If now SkBitmapHeapReader is attached, but an
SkBitmapHeap was used to record the bitmap, reading will fail
and provide the same red SkBitmap as in the case where the
SkBitmap was encoded but could not be decoded.

Updates the PICTURE_VERSION as well.

The key differences in this CL to look at are in:
SkOrderedWriteBuffer,
SkOrderedReadBuffer,
and SkPicture.

BUG=
R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8917 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-30 02:32:41 +00:00
epoger@google.com
76c913db20 GM: specify that currently used checksums are CityHashes of SkBitmaps
(distinct from other hash algorithms we may switch to, or hashes of
files such as PDFs that cannot be read into an SkBitmap)

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8877 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-26 15:06:44 +00:00
scroggo@google.com
58104a9c25 Treat default command line argument properly.
In SkCommandLineFlags, if the client sets a default value
of multiple arguments (e.g. "arg0 arg1 ..."), set
the actual defaults to all of those arguments separately
(i.e. an array with [0] == "arg0", [1] == "arg1", ...),
rather than as one string (i.e. [0] == "arg0 arg1 ...").

Remove the hack that worked around this bug.

Also move the increasingly complicated implementation of
SkFlagInfo::CreateStringFlag into the cpp file.

BUG=https://code.google.com/p/skia/issues/detail?id=1237

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8845 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-24 19:25:26 +00:00
bsalomon@google.com
dd8e353bef Add option to specify defaults configs to --config flag in gm. This makes it easier to run gm defaults configs with a delta. Also make ~ exclude a config.
Review URL: https://codereview.chromium.org/13842014

git-svn-id: http://skia.googlecode.com/svn/trunk@8842 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-24 18:07:11 +00:00
edisonn@google.com
d9dfa18372 Encode images with DCTDecode (JPEG) in PDFs if it makes sense. Fallback to FlateDecode (zip) if it makes sense. Otherewise include uncompressed stream.
This change will reduce the size of PDFs to 50% (in the case of the existing SKPs, we reduce the total size of PDFs from 105MB to 50MB) 
Review URL: https://codereview.appspot.com/7068055

git-svn-id: http://skia.googlecode.com/svn/trunk@8835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-24 13:01:01 +00:00
scroggo@google.com
b7dbf633a6 Fix an SkCommandLineFlags bug.
Previously I was storing an SkTDArray of const char*,
which fails if the strings go out of scope.

Instead, store an SkTArray of SkString, and copy the
strings, so we do not depend on the strings sticking
around. Using an SkTArray because it is smart enough
to call the destructors, so the copies can be destroyed
on program exit.

BUG=https://code.google.com/p/skia/issues/detail?id=1237

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8829 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-23 15:38:09 +00:00
scroggo@google.com
7fd2d70ad3 Delete gm after use.
Fixes a memory leak when using the --modulo flag. Instead of deleting
manually in each case we are done with it (which led to missing one
case), use an SkAutoTDelete.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8707 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-16 19:11:14 +00:00
epoger@google.com
5079d2c2a0 GM: allow caller to specify which result types trigger an error
Review URL: https://codereview.chromium.org/14187007

git-svn-id: http://skia.googlecode.com/svn/trunk@8652 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 14:11:21 +00:00
epoger@google.com
908f583662 rename SkBitmapChecksummer as SkBitmapHasher, and prepare for it to possibly use
some algorithm other than CityHash
Review URL: https://codereview.chromium.org/14170010

git-svn-id: http://skia.googlecode.com/svn/trunk@8639 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 02:23:55 +00:00
epoger@google.com
bcbf5aa77d GM: print list of GMs run, even in non-verbose mode (rolls back part of r8600)
Review URL: https://codereview.chromium.org/14052003

git-svn-id: http://skia.googlecode.com/svn/trunk@8638 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 02:11:54 +00:00
epoger@google.com
07947d9565 GM: signal error if the total number of tests run was less than expected
Review URL: https://codereview.chromium.org/13863009

git-svn-id: http://skia.googlecode.com/svn/trunk@8614 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 15:41:02 +00:00
epoger@google.com
b0f8b430de GM: remove enableMissingWarning in favor of verbose flag, and trim output in nonverbose mode
Review URL: https://codereview.chromium.org/14080003

git-svn-id: http://skia.googlecode.com/svn/trunk@8600 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 18:46:25 +00:00
scroggo@google.com
aef2d3b14e Run mixedxfermodes GM through the pipe.
Pass the size of the GM to SkGPipeWriter.startRecording(), so that
calls to getDeviceSize() on the returned SkCanvas return a reasonable
result. This allows removing the flag to skip mixedxfermodes.

BUG=https://code.google.com/p/skia/issues/detail?id=1199

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8598 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 18:10:41 +00:00
epoger@google.com
51dbabee67 gm: hide list of tests with ignored errors, by default
Review URL: https://codereview.chromium.org/13811031

git-svn-id: http://skia.googlecode.com/svn/trunk@8591 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 15:24:53 +00:00
epoger@google.com
c8263e7041 gm: record IntentionallySkipped tests
Review URL: https://codereview.chromium.org/13663003

git-svn-id: http://skia.googlecode.com/svn/trunk@8586 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 12:17:34 +00:00
scroggo@google.com
604e0c249e SkFlags now follows proper dashing convention.
Two dashes are used for flags with multiple characters, and one
dash is used for flags with single characters.

In GM, changed '-wp' to '-p' (the command to choose a directory
for writing SKPs) to fit with the convention.

In render_pictures and bench_pictures, changed the flag for
read and write path to have full names (which are consistent)
and use the old single character names as their shortcuts.

SkCommandLineFlags: Updated the documentation, and only allow
-h or --help for help (again, to match the convention).
Also enforce the single character limit for the short name, and
require the full name to be at least two characters.

Provide full names for skhello.

BUG=https://code.google.com/p/skia/issues/detail?id=1174

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8582 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 21:25:46 +00:00
epoger@google.com
caac3db48f re-land r8535, now that src.chromium.org is back up
Review URL: https://codereview.chromium.org/13662002

git-svn-id: http://skia.googlecode.com/svn/trunk@8538 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-04 19:23:11 +00:00
epoger@google.com
67caaf8792 Revert r8535
git-svn-id: http://skia.googlecode.com/svn/trunk@8536 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-04 18:21:48 +00:00
epoger@google.com
da8db9837e gm: report ExpectationsMismatch and RenderModeMismatch results separately
Review URL: https://codereview.chromium.org/13650002

git-svn-id: http://skia.googlecode.com/svn/trunk@8535 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-04 18:11:31 +00:00
epoger@google.com
310478e72c re-land r8514 without breaking 32-bit Mac compilers
Review URL: https://codereview.chromium.org/13427004

git-svn-id: http://skia.googlecode.com/svn/trunk@8518 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-03 18:00:39 +00:00
epoger@google.com
2212c2e35c roll out r8514
Review URL: https://codereview.chromium.org/13503003

git-svn-id: http://skia.googlecode.com/svn/trunk@8515 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-03 17:12:42 +00:00
epoger@google.com
f60494ba0b gm: display summary of all results by ErrorType
as discussed in https://codereview.chromium.org/12825005/#msg14
Review URL: https://codereview.chromium.org/12851022

git-svn-id: http://skia.googlecode.com/svn/trunk@8514 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-03 17:02:53 +00:00