Commit Graph

799 Commits

Author SHA1 Message Date
commit-bot@chromium.org
e1c5429027 Unbreak -z. The LocalReporter shim layer was forcing the pathops options back to defaults.
BUG=
R=caryclark@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8804 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-22 17:35:55 +00:00
commit-bot@chromium.org
0506b9d7d5 Make it clearer what's going on at the end of tests.
BUG=
R=reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8803 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-22 16:43:07 +00:00
commit-bot@chromium.org
44c661ff15 Add thread-per-core setting to SkThreadPool.
BUG=
R=scroggo@google.com, caryclark@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8802 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-22 15:23:14 +00:00
caryclark@google.com
7dfbb0720a path ops : add support for inverse fill
add inverse fill, reverse diff, and gm tests
cleaned up some interfaces
Review URL: https://codereview.chromium.org/14371011

git-svn-id: http://skia.googlecode.com/svn/trunk@8798 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-22 14:37:05 +00:00
commit-bot@chromium.org
c4c9870953 Adding optimization to avoid image copy in SkSurface copy on write when content is discardable
This patch also adds code to SkDeferredCanvas to trigger the optimization.

TEST=DeferredSurfaceCopy bench, Surface unit test
R=reed@google.com

Author: junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8797 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-22 14:28:01 +00:00
rmistry@google.com
c9f3b38f67 Sanitizing source files in Skia_Periodic_House_Keeping (SkipBuildbotRuns)
git-svn-id: http://skia.googlecode.com/svn/trunk@8795 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-22 12:45:30 +00:00
mike@reedtribe.org
1b0b71df38 remove printf
git-svn-id: http://skia.googlecode.com/svn/trunk@8792 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-21 01:44:04 +00:00
mike@reedtribe.org
9ca81a76a9 pass 0 instead of NULL for size_t parameter
git-svn-id: http://skia.googlecode.com/svn/trunk@8791 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-21 01:43:09 +00:00
mike@reedtribe.org
cac3ae3752 specialize SkDataTable for arrays where all elements are the same size.
optimize impl to not require another level of indirection (SkData) for storage.
add unittests for flattening.
optimize builder to not make a deepcopy of its chunkalloc heap.



git-svn-id: http://skia.googlecode.com/svn/trunk@8790 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-21 01:37:46 +00:00
skia.committer@gmail.com
64b682ca42 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8785 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-20 07:01:07 +00:00
reed@google.com
8c5c7a905b add SkDataTable, to efficiently store an immutable array. Includes a builder
helper class.
Review URL: https://codereview.chromium.org/14188049

git-svn-id: http://skia.googlecode.com/svn/trunk@8779 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 20:16:01 +00:00
bsalomon@google.com
8da9bc751e Add all remaining separable xfer modes to GPU backend.
Review URL: https://codereview.chromium.org/14189024

git-svn-id: http://skia.googlecode.com/svn/trunk@8768 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 15:03:21 +00:00
reed@google.com
c1ccda3af8 return empty fontstyleset instead of null
git-svn-id: http://skia.googlecode.com/svn/trunk@8767 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 14:28:54 +00:00
bsalomon@google.com
72993ab542 silence && || parens clang warning.
git-svn-id: http://skia.googlecode.com/svn/trunk@8764 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 13:25:28 +00:00
commit-bot@chromium.org
197845ae15 Add --threads to tests binary, to run non-GPU tests on multiple cores.
On my quad-core laptop I can get about a 3x speedup:
  Debug,   --threads 0  40.99s
  Debug,   --threads 8  14.39s
  Release, --threads 0   8.24s
  Release, --threads 8   2.80s

I also removed some unused Test.{h,cpp} APIs and refactored a little to make
things thread-safer.

BUG=
R=borenet@google.com, djsollen@google.com, scroggo@google.com, reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8763 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 13:24:28 +00:00
bsalomon@google.com
5920ac2768 Perform coverage blend with the dst in the shader when using a dst-reading xfermode.
Review URL: https://codereview.chromium.org/14233006

git-svn-id: http://skia.googlecode.com/svn/trunk@8762 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 13:14:45 +00:00
reed@google.com
87f99cb543 ensure that negative zeros are still ignored when computing isIdentity()
crbug.com/162747



git-svn-id: http://skia.googlecode.com/svn/trunk@8761 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 12:25:00 +00:00
caryclark@google.com
9515f09b6c path ops : remove countdown overkill
Review URL: https://codereview.chromium.org/13958005

git-svn-id: http://skia.googlecode.com/svn/trunk@8756 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 19:50:01 +00:00
caryclark@google.com
16cfe40276 allow tests to optionally use multiple threads
modify threaded path ops tests to check

Background: this CL came out of a conversation with Eric where I learned that 10s of machines host 100s of bots. Since the bot hosting tests may be shared with many other tasks, it seems unwise for path ops to launch multiple test threads.

The change here is to make launching multiple threads "opt-in" and by default, bots can run path ops in a single thread.
Review URL: https://codereview.chromium.org/14002007

git-svn-id: http://skia.googlecode.com/svn/trunk@8750 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 18:47:37 +00:00
reed@google.com
9d1cff124c use SkAutoTDelete instead of SkTScopedPtr
Review URL: https://codereview.chromium.org/13831011

git-svn-id: http://skia.googlecode.com/svn/trunk@8749 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 18:43:26 +00:00
caryclark@google.com
0361032c0b path ops work in progress
fix bugs in tests on 32 bit release

Most changes revolve around pinning computed t values
very close to zero and one.

git-svn-id: http://skia.googlecode.com/svn/trunk@8745 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 15:58:21 +00:00
caryclark@google.com
b3f0921fba shape ops work in progress
Try to fix the 32 bit build by making some math
decisions more robust.

Rewrite the cubic intersection special case that 
detects if only end points are shared.

Rewrite the angle sort setup that computes whether
a cubic bends to the left or right.

git-svn-id: http://skia.googlecode.com/svn/trunk@8726 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 15:49:16 +00:00
skia.committer@gmail.com
45fb8b6013 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8714 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 07:00:56 +00:00
junov@chromium.org
acea3ef448 Cleanup: Removing unnecessary args/complexity in SkSurface_Base and friends
Review URL: https://codereview.chromium.org/14263017

git-svn-id: http://skia.googlecode.com/svn/trunk@8708 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-16 19:41:09 +00:00
skia.committer@gmail.com
7841c63136 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8693 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-16 07:01:17 +00:00
tfarina@chromium.org
06910786a1 Use ILLEGAL_MODE macro to silence clang error.
This fixes the following clang error:

../../tests/XfermodeTest.cpp:43:44: error: comparison of constant -1 with expression of type 'SkXfermode::Mode' is always false [-Werror,-Wtautological-constant-out-of-range-compare]
    REPORTER_ASSERT(reporter, reportedMode == -1);
                                  ~~~~~~~~~~~~ ^  ~~

R=vandebo@chromium.org,reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8692 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-15 22:12:43 +00:00
caryclark@google.com
ad65a3e5fb path ops work in progress
standardize tests
use SK_ARRAY_COUNT everywhere
debug why x87 differs from SIMD 64
various platform specific fixes

git-svn-id: http://skia.googlecode.com/svn/trunk@8689 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-15 19:13:59 +00:00
junov@chromium.org
9becf0090f Fix crash with SkDeferredCanvas+SkSurface integration with in order draw buffer.
The fImmediateDevice member of DeferredDevice (SkDeferredCanvas.cpp) was becoming invalid after a fork of the backingstore in SkSurface_Gpu cause the device to be substituted.

New unit test code was to exercise SkSurface copy on write with draws that are deferred in GrInOrderDrawBuffer.  The bad pointer was causing the test to crash.

TEST=skia unit test DeferredCanvas, subtest TestDeferredCanvasSurface
Review URL: https://codereview.chromium.org/14263015

git-svn-id: http://skia.googlecode.com/svn/trunk@8686 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-15 18:15:23 +00:00
skia.committer@gmail.com
4bb50b22fc Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8670 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-13 07:01:15 +00:00
junov@chromium.org
5ee449af74 Fixing viral copy/paste typo Shapshot -> Snapshot
Unreviewed

git-svn-id: http://skia.googlecode.com/svn/trunk@8667 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 20:20:50 +00:00
junov@chromium.org
3c5ec8df2c Adding 'static' to eleminate compile warning on mac
Unreviewed.

git-svn-id: http://skia.googlecode.com/svn/trunk@8649 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 13:34:47 +00:00
junov@chromium.org
67d7422844 Adding SkSurface support to SkDeferredCanvas
Review URL: https://codereview.chromium.org/14178002

git-svn-id: http://skia.googlecode.com/svn/trunk@8648 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 13:33:01 +00:00
caryclark@google.com
7abfa49390 turn on pathops unit test
This temporarily disables SK_ENABLE_INST_COUNT 
( skbug.com/1219 )

This fixes a linktime error on VS2012 in
PathTest.cpp; -SK_ScalarInfinity should be
SK_ScalarNegativeInfinity instead.

This adds pathops and pathops unit tests to the
main unit tests.

Should this change destabilize anything, it should
be sufficient to comment out the pathops gypi
includes. at test.gyp:18,21.
Review URL: https://codereview.chromium.org/14137010

git-svn-id: http://skia.googlecode.com/svn/trunk@8644 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 11:59:41 +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
scroggo@google.com
5a6324e314 Better fix for the patched build.
skia_test is also built on Android in pathops_unittest, which needed
to also depend on the flags project.

Remove the hack in skia_test of providing the full path.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8632 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 20:11:40 +00:00
reed@google.com
66c9f9995e short names should be ... short, in commandlineflags
git-svn-id: http://skia.googlecode.com/svn/trunk@8629 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 19:04:34 +00:00
reed@google.com
83165a5f71 add fontmgr tests, and optional --verboseFontMgr flag (or -vfm) for more output
git-svn-id: http://skia.googlecode.com/svn/trunk@8626 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 18:31:25 +00:00
reed@google.com
9aff14831b restore option to --match (instead of --matchStr)
git-svn-id: http://skia.googlecode.com/svn/trunk@8624 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 18:27:52 +00:00
scroggo@google.com
746cd0fc9a Fix build. Unreviewed.
I don't understand why this change is necessary. On Android,
SkCommandLineFlags.h is not found, but only in this project.
Other projects depend on flags and include the file without
using the full path. Likewise, this works on other platforms.
Removing for now until I figure out the correct fix.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8621 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 17:27:58 +00:00
commit-bot@chromium.org
ba59d64b05 use commandlineflags for tests/
Author: reed@google.com

Reviewed By: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8616 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 16:54:09 +00:00
caryclark@google.com
db60de7cbe shape ops test fixes
- fix rand for Android
- build unit test on linux
- use atomic inc in test count
- add casting for Android

git-svn-id: http://skia.googlecode.com/svn/trunk@8610 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 12:33:23 +00:00
skia.committer@gmail.com
391ca66276 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8608 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 07:01:45 +00:00
caryclark@google.com
e942bc329a fix a few pathops test bugs exposed on Mac and Linux
git-svn-id: http://skia.googlecode.com/svn/trunk@8601 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 18:53:01 +00:00
reed@google.com
7a90daf258 fix bug introduced with SK_IGNORE_CUBIC_STROKE_FIX where we no longer respected
subDivide limit. This caused problems with degenate paths (too much recursion).

The fix was two parts:
1. decrement the subDivide limit as we recurse
2. up the limit for cubics to 7, to match our current quality

added unittest that replicated the too-much-recursion bug.
Review URL: https://codereview.chromium.org/14086002

git-svn-id: http://skia.googlecode.com/svn/trunk@8599 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 18:44:00 +00:00
caryclark@google.com
d54e1e9751 add extended option to Test
The command line option
--extended runs extended tests
--verbose reports number of tests run (if recorded)

Added simple help as well.
Review URL: https://codereview.chromium.org/14063005

git-svn-id: http://skia.googlecode.com/svn/trunk@8595 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 15:57:31 +00:00
caryclark@google.com
66089e4ec4 Make parallel unit testing work on windows
Review URL: https://codereview.chromium.org/14072002

git-svn-id: http://skia.googlecode.com/svn/trunk@8594 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 15:55:37 +00:00
junov@chromium.org
ef5b811426 Fixing SkTileGrid to clamp rather than clip content and querries that are outside the bounds of the grid
This fix prevents border padding and offsets on the tile grid structure from resulting in bad clipping. The job of clipping contents is left to the playback canvas.

BUG=https://code.google.com/p/skia/issues/detail?id=1209
TEST=TileGrid unit test, 
Review URL: https://codereview.chromium.org/13493016

git-svn-id: http://skia.googlecode.com/svn/trunk@8576 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 16:13:09 +00:00
bsalomon@google.com
686bcb871b Reland of 8525 with fix for case when GrRT outlives GrTexture.
Review URL: https://codereview.chromium.org/13814015

git-svn-id: http://skia.googlecode.com/svn/trunk@8573 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 15:04:12 +00:00
skia.committer@gmail.com
3284017a60 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8568 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 07:01:27 +00:00
humper@google.com
8e029e6e59 silence android warning
git-svn-id: http://skia.googlecode.com/svn/trunk@8567 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 21:54:58 +00:00