Commit Graph

428 Commits

Author SHA1 Message Date
epoger@google.com
34b73a2da1 rebaseline.py self-tests: prepare to add tests of JSON-format rebaselining
For now, rebaseline.py still does not support JSON-format rebaselining, so
the one self-test reports failure.  But this change will allow us to test
the JSON-format rebaselining once rebaseline.py supports it.

R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9896 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-03 17:43:11 +00:00
borenet@google.com
0d19309080 Enable ASAN build
Requires Clang 3.1 or higher to be installed.

R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9891 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-03 15:55:05 +00:00
robertphillips@google.com
491493119c Add canFilterMaskGPU & filterMaskGPU to SkMaskFilter
https://codereview.chromium.org/18110012/



git-svn-id: http://skia.googlecode.com/svn/trunk@9888 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-03 15:34:35 +00:00
epoger@google.com
53953b457b Create jsondiff tool to capture diffs between two JSON expectations files.
This will be used to view diffs before committing rebaselines, or to review
exactly what changed between two baseline revisions in the past.

Part of Step 3 in https://goto.google.com/ChecksumTransitionDetail

R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9878 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-02 20:22:27 +00:00
epoger@google.com
8575b4df41 Fix rebaseline.py self-test to account for r9859
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9872 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-02 18:25:06 +00:00
robertphillips@google.com
63e9627fca Add N4 to rebaseline.py
https://codereview.chromium.org/18023014/
(SkipBuildbotRuns)



git-svn-id: http://skia.googlecode.com/svn/trunk@9859 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-02 12:54:37 +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
scroggo@google.com
925cdca805 Skip the TIMESTAMP file.
Allows run_decoding_tests.py to pass the name of the folder, so
Android will not fail on account of the long adb command.

R=borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9817 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-28 20:04:42 +00:00
scroggo@google.com
5330e44796 Print the file being deserialized before deserializing.
That way it is easier to tell which file failed.

R=edisonn@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9811 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-28 17:52:53 +00:00
scroggo@google.com
bc91e8b7d7 Fix run_decoding_tests on xoom.
Builder Test-Android-Xoom-Tegra2-Arm7-Debug fails run_decoding_tests
due to a couple of images. Add a way in skimage to ignore failures
if an image is expected to fail. Add an expectations file for xoom
that includes ignore-failure for the two files which are failing.

I have created https://code.google.com/p/skia/issues/detail?id=1382
to track the fact that these images fail to decode, despite the bot
showing green.

R=borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9797 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-27 20:21:01 +00:00
commit-bot@chromium.org
aaeb87d32c Add modulo flag to lua_pictures.
The intended use is spawning processes to save time.

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

Author: sglez@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9736 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-21 21:45:20 +00:00
scroggo@google.com
2b9424b342 Treat empty directory properly in skimage.
Instead of treating an empty directory as a file that failed to
decode, treat it as an empty directory.

Add self tests to check for this.

Builds upon from https://codereview.chromium.org/16866010,
which was reverted.

R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9730 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-21 19:12:47 +00:00
scroggo@google.com
3832da1e9c Allow skimage expectations file to not exist.
If the file is not there, assume that all images are mismatches.
This allows running the test before the initial rebaseline.

R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9690 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-19 19:12:53 +00:00
epoger@google.com
99a8ec9705 rebaseline.py: split image-based rebaselining, which will go away soon, into its own script
(part of step 3 in https://goto.google.com/ChecksumTransitionDetail )

also adds new --expectations-root option

R=scroggo@google.com, senorblanco@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9689 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-19 18:56:59 +00:00
zachr@google.com
6ef5a85bf4 force linking inside of skdiff
Review URL: https://codereview.chromium.org/16879012

git-svn-id: http://skia.googlecode.com/svn/trunk@9669 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-18 21:23:31 +00:00
commit-bot@chromium.org
7a11591e5e Rename SkDrawCommand subclasses
SkDrawCommand subclass names are too generic and likely to clash in the default namespace.
This makes the header unusable in Chrome - for example, on Mac builders:

../../third_party/skia/src/utils/debugger/SkDrawCommand.h:251:7: error: redefinition of 'Comment'
class Comment : public SkDrawCommand {
	      ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/AIFF.h:192:8: note: previous definition is here
struct Comment {


This CL renames SkDrawCommand subclasses using the following pattern: "${cmd}" -> "Sk${cmd}Command".

R=robertphillips@google.com, bungeman@google.com, djsollen@google.com

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9667 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-18 20:20:55 +00:00
commit-bot@chromium.org
3da6c56f14 Allow files, making ".skp files or directories are required." less of a lie.
BUG=
R=reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9665 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-18 18:35:58 +00:00
epoger@google.com
c7e1873c85 skimage: revert r9642
git-svn-id: http://skia.googlecode.com/svn/trunk@9647 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-18 02:53:16 +00:00
epoger@google.com
e0433f1ad3 skimage: if --readPath points at an empty dir, create an empty expectations file
TBR=scroggo

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9642 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-17 19:34:58 +00:00
epoger@google.com
74feb1593a skimage self-tests: confirm correctness of bitmap hash values
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9591 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-13 19:12:05 +00:00
reed@google.com
b8b3d90284 use ForceLinking to get codecs into lua_picture
BUG=
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9549 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-12 20:07:10 +00:00
reed@google.com
312e9a2f4c add script to count glyph -vs- char draw calls
git-svn-id: http://skia.googlecode.com/svn/trunk@9548 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-12 19:53:49 +00:00
epoger@google.com
bd4af3a9a6 rebaseline.py: keep going if we encounter an "INVALID" entry in the JSON file
Review URL: https://codereview.chromium.org/16826003

git-svn-id: http://skia.googlecode.com/svn/trunk@9543 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-12 19:07:00 +00:00
commit-bot@chromium.org
826ec81dbc Small change that eliminates Parse Errors with encoded skps.
R=reed@google.com, caryclark@google.com, scroggo@google.com

Author: sglez@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9538 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-12 18:28:36 +00:00
epoger@google.com
e78d20798d rebaseline.py: try to download images from Google Storage before skia-autogen
This will allow us to complete Step 1 of https://goto.google.com/ChecksumTransitionDetail

R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9534 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-12 17:44:14 +00:00
epoger@google.com
dad5310ab6 rebaseline.py: add --add-new option, and only add new expectations if it is set
R=senorblanco@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9527 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-12 14:25:30 +00:00
epoger@google.com
cc2e1cf13c rebaseline.py: improve readability of dry-run output
Split off of already-reviewed https://codereview.chromium.org/15789010/ ('rebaseline.py: --tests and --configs are now FILTERS within json results')

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9507 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-11 16:24:37 +00:00
epoger@google.com
bda4e91596 rebaseline.py: if rebaselining all platforms (not listing them explicitly), allow missing platforms
TBR=any-reviewer

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9506 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-11 16:16:02 +00:00
epoger@google.com
82f317815e rebaseline.py: in option names, replace underscores with hyphens
Split off of already-reviewed https://codereview.chromium.org/15789010/ ('rebaseline.py: --tests and --configs are now FILTERS within json results')

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9504 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-11 15:45:46 +00:00
mike@reedtribe.org
73d9f1c651 more paint methods to lua
git-svn-id: http://skia.googlecode.com/svn/trunk@9483 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-09 01:54:56 +00:00
skia.committer@gmail.com
6319367bdc Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9478 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-08 07:01:13 +00:00
reed@google.com
99ac02bb70 SkDocument base for pdf, xps, etc.
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9476 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-07 20:30:16 +00:00
scroggo@google.com
cf5eb6ab25 Preparations for running skimage tool on bots.
skimage_main:
Specify the full name of the expectations file to write on the command line,
rather than the folder to write 'results.json'. This is consistent with
writeJsonSummaryPath in GM, as well as the format for reading the file.
Further, it allows more flexibility to name the file.
Do not force opaque when writing bitmaps. skimage does its comparison on
the raw bitmaps. The images are written for visual comparison, and mostly
transparent bitmaps (like resources/plane.png) aren't meaningful when
forced opaque.
Provide an option to to write only mismatches to a directory. Handled
similar to the writePath.
Report a failure if there is no expectations file. This allows writing
to the mismatchPath so we can create an initial baseline.
Pass SkBitmap by const&.

skimage_self_test:
Include the name of the json file in the parameter passed to
createExpectationsPath. The name has been changed to be more specific.

.gitignore:
Ignore the new name of the file created by skimage_self_test.

run.sh:
Run skimage_self_tests.py

BUG=http://code.google.com/p/skia/issues/detail?id=1241
R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9474 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-07 12:43:15 +00:00
scroggo@google.com
e762dad67c Run skimage as part of run.sh
Test skimage to ensure that it does not break.

Split off from https://codereview.chromium.org/15813016/

BUG=http://code.google.com/p/skia/issues/detail?id=1241
R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9473 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-07 12:40:35 +00:00
epoger@google.com
19e80c16a5 rebaseline.py self-tests: split test inputs and outputs into completely separate directories
Review URL: https://codereview.chromium.org/16557002

git-svn-id: http://skia.googlecode.com/svn/trunk@9459 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-06 15:11:11 +00:00
epoger@google.com
bf65378266 add more rebaseline test resources (no behavioral changes)
(SkipBuildbotRuns)

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9446 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-05 16:26:23 +00:00
epoger@google.com
99ba65a181 rebaseline.py: if --tests is not specified, get test list from actual-results.json
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9443 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-05 15:43:37 +00:00
epoger@google.com
db29a310f7 rebaseline.py : add self-tests
R=senorblanco@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9426 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-04 14:58:47 +00:00
skia.committer@gmail.com
26da7f00ae Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9387 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-01 07:01:39 +00:00
reed@google.com
e2aad27c5f sort the glyphID arrays
add head/tail code

git-svn-id: http://skia.googlecode.com/svn/trunk@9376 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-31 19:46:02 +00:00
scroggo@google.com
7def5e1630 Separate core and images project.
SkImage calls functions on SkImageDecoder and SkImageEncoder. This
is desired behavior, and it is also desired to include SkImage as
a part of core. In order to keep core from depending on images,
update SkImageDecoder_empty.cpp to implement all of SkImageDecoder
and SkImageEncoder. This file will be built by chrome (in
https://codereview.chromium.org/15960015).

Move force_linking from SkImageDecoder.cpp to its own file. It must
be called to force linking with the image decoders if desired. Call
the function in tools that need it:
sk_image
render_pictures
render_pdfs
sk_hello
filter
bench_pictures
debugger

SkImageDecoder:
Derive from SkNoncopyable, instead of duplicating its
hiding of constructors.

skhello:
Return rather than trying to write a null SkData to the stream.

Revert "Hamfistedly removed core dependence on images"
(commit 0f05f682a90bc125323677abf3476e1027d174f5) and
"Move SkImage::encode to SkImage_Codec.cpp."
(commit 83e47a954d0bf65439f3d9c0c93213063dd70da3.)
These two commits were temporary fixes that this change
cleans up.

SkSnapshot.cpp:
Check for a NULL encoder returned by SkImageEncoder::Create.

BUG=https://code.google.com/p/skia/issues/detail?id=1275
R=djsollen@google.com, robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9364 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-31 14:00:10 +00:00
reed@google.com
e3823fd901 add script to scrape glyph usage in drawText calls
git-svn-id: http://skia.googlecode.com/svn/trunk@9353 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-30 18:55:14 +00:00
epoger@google.com
9166bf57d8 rebaseline.py: use argparse command-line flags for more flexibility
--tests is the only mandatory argument.

If you used to run this:
rebaseline.py aaclip bigmatrix

Run this instead:
rebaseline.py --tests aaclip bigmatrix

That's the only change you NEED to make.

And then, if you WANT to specify --configs, --subdirs, etc. you CAN.

R=senorblanco@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9348 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-30 15:46:19 +00:00
epoger@google.com
ec3397bb6c Refactor rebaseline.py into functions ; no behavioral changes.
R=senorblanco@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9318 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-29 17:09:43 +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
reed@google.com
3597b73bc6 expand SkLua to handle creation of its own State
add lua sample

BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9247 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-22 20:12:50 +00:00
reed@google.com
74ce6f046c add dumpops.lua as a sample scraper that just dumps the arguments
add SkLua.h for common utilities

BUG=
R=rmistry@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9242 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-22 15:13:18 +00:00