Commit Graph

7051 Commits

Author SHA1 Message Date
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
9584b9ebd8 Fix compile warning
Review URL: https://codereview.chromium.org/14227005

git-svn-id: http://skia.googlecode.com/svn/trunk@8748 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 17:44:57 +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
reed@google.com
f707adc4f8 augmenting fix in 8700 and 8701, be careful NOT to "sort" the result of mapRect
when we only want to proceed if the matrix is nearly identity. Hence we manually
apply the matrix to the two "points" of the rect.



git-svn-id: http://skia.googlecode.com/svn/trunk@8743 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 15:37:14 +00:00
reed@google.com
ee056a82ae revert 8731, restoring 8700 and 8701... further investigation concluded that the
original changes were correct. The failures in DRT will be rebaselined.



git-svn-id: http://skia.googlecode.com/svn/trunk@8742 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 15:33:27 +00:00
jvanverth@google.com
cabd0ed14f Reset shader in ovals GM
Not resetting the shader for the paints produces interesting 
results on the following configs...

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


git-svn-id: http://skia.googlecode.com/svn/trunk@8740 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 14:48:35 +00:00
sugoi@google.com
f738cf0689 Adding a bit of rebustness to SkRectShaderImageFilter
Since SkRectShaderImageFilter is an image filter, I added logic so that it can actually use the size of an input image as the rect if an empty rect is provided as an argument. I also added logic to prevent creating an empty device.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8739 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 14:13:10 +00:00
sugoi@google.com
423ac13f35 Disabling GPU noise on Windows since Angle can't do a proper translation of this shader to HLSL.
git-svn-id: http://skia.googlecode.com/svn/trunk@8738 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 14:04:57 +00:00
jvanverth@google.com
8e2962fbb5 Add a GM to test ovals with a variety of paint settings, matrices and sizes.
Review URL: https://codereview.chromium.org/14329008/


git-svn-id: http://skia.googlecode.com/svn/trunk@8737 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 13:59:04 +00:00
junov@chromium.org
96447bef11 Adding SK_API to export SkImage and SkSurface API classes
Review URL: https://codereview.chromium.org/14328002

git-svn-id: http://skia.googlecode.com/svn/trunk@8736 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 13:28:19 +00:00
robertphillips@google.com
4314f1b843 Rebaseline Nexus7 cuteoverload performance trigger
git-svn-id: http://skia.googlecode.com/svn/trunk@8735 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 12:32:28 +00:00
skia.committer@gmail.com
cbbdab5513 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8732 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 07:01:48 +00:00
robertphillips@google.com
717d0cbf66 Revert r8701 and r8700 due to layout test discrepancies
git-svn-id: http://skia.googlecode.com/svn/trunk@8731 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 21:32:03 +00:00
scroggo@google.com
4c6adf9a08 Updates to images project.
Use the SkImageEncoder_Factory on all platforms. On Windows and Mac,
register the platform's image encoder as an option for
SkImageEncoder::Create. Also add more types that can be decoded.

Update comments for SkImageDecoder to be more accurate.

Add more types to SkImageEncoder::Type, and return the correct type of
encoder, if it exists.

Use a custom version of SkImageDecoder::Factory on Windows and Mac to
check the stream for registered decoders before defaulting to the platform's
version. Share code with the existing SkImageDecoder::Factory method.

Preparation for testing decoders and encoders:
BUG=https://code.google.com/p/skia/issues/detail?id=1241

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8730 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 21:07:55 +00:00
scroggo@google.com
b7decc5398 Only use JDCT_IFAST if it's supported.
When encoding to JPEG, do not switch to JDCT_IFAST unless
DCT_IFAST_SUPPORTED is defined.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8728 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 17:37:56 +00:00
caryclark@google.com
7ec5e394e7 path ops in progress
fix numeric check for cubic-to-quad conversion
to be 80-bit safe

git-svn-id: http://skia.googlecode.com/svn/trunk@8727 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 16:19:02 +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
sugoi@google.com
319baf9963 Reducing the complexity of the noise test for Angle
git-svn-id: http://skia.googlecode.com/svn/trunk@8725 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 15:34:09 +00:00
sugoi@google.com
0a1db4a489 Fixing debug bench assert on Android
git-svn-id: http://skia.googlecode.com/svn/trunk@8724 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 14:50:38 +00:00
bsalomon@google.com
a2719855ba Skip copytexsubimage2D code path when src is multisampled.
Review URL: https://codereview.chromium.org/14048015

git-svn-id: http://skia.googlecode.com/svn/trunk@8722 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 14:25:27 +00:00
bsalomon@google.com
8c463b02d9 Add xfermodes2 GM. Tests all xfer modes with two gradient bitmaps
Review URL: https://codereview.chromium.org/13912017

git-svn-id: http://skia.googlecode.com/svn/trunk@8721 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 14:19:44 +00:00
junov@chromium.org
a213899d1f Build fix
TBR=reed

git-svn-id: http://skia.googlecode.com/svn/trunk@8720 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 13:55:45 +00:00
sugoi@google.com
4775cba7b3 Perlin noise adjustments
1 ) Added GPU simplex noise as a comparison to GPU Perlin noise. It can be enabled simply by using a #define (SK_USE_SIMPLEX_NOISE)
2 ) Enabled GPU Perlin noise tests
3 ) Added a small benchmark for noise
4 ) Disabled GPU Perlin noise on Android based on benchmarks

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8719 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 13:46:56 +00:00
junov@chromium.org
d61ba6e5cf Benchmark to measure SkSurface copy on write performance
Review URL: https://codereview.chromium.org/14297008

git-svn-id: http://skia.googlecode.com/svn/trunk@8718 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 13:43:04 +00:00
tfarina@chromium.org
770ab362a9 Remove deprecated/obsolete Makefiles.
$ git ls-files | grep .mk

or

$ find . -name *.mk

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8717 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 13:36:15 +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
mike@reedtribe.org
5c082a14ac add compute-bounds for conics
git-svn-id: http://skia.googlecode.com/svn/trunk@8713 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 02:25:33 +00:00
mike@reedtribe.org
0c5c3867bd add extrema for conics
git-svn-id: http://skia.googlecode.com/svn/trunk@8712 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 01:21:01 +00:00
reed@google.com
17a2c919d0 add comments for computing derivatives
git-svn-id: http://skia.googlecode.com/svn/trunk@8711 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-16 21:07:27 +00:00
junov@chromium.org
63cd3c6406 Build fix: moving more inline functions into header
TBR=reed

git-svn-id: http://skia.googlecode.com/svn/trunk@8710 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-16 19:56:45 +00:00
junov@chromium.org
6a9bb804fe Build fix: moving some inline function definitions into header.
TBR=reed

git-svn-id: http://skia.googlecode.com/svn/trunk@8709 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-16 19:50:30 +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
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
reed@google.com
8f6f67efb6 change shortName to match filename
git-svn-id: http://skia.googlecode.com/svn/trunk@8705 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-16 17:58:38 +00:00
reed@google.com
9bfc438e1d add () around | cluster, to avoid warning.
git-svn-id: http://skia.googlecode.com/svn/trunk@8701 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-16 17:18:57 +00:00
reed@google.com
19c4e6eb5e use forward matrix to determine if we can ignore scale part of a matrix
Review URL: https://codereview.chromium.org/14018020

git-svn-id: http://skia.googlecode.com/svn/trunk@8700 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-16 17:14:45 +00:00
reed@google.com
0a6465949e fix new gm to actually trigger the bug
git-svn-id: http://skia.googlecode.com/svn/trunk@8699 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-16 17:04:43 +00:00
reed@google.com
d638233cbe add gm to test edge case in drawBitmapRectToRect
git-svn-id: http://skia.googlecode.com/svn/trunk@8698 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-16 16:55:38 +00:00
bungeman@google.com
6f4cf2a195 Remove 'friend SkRefCnt' from SkData.
https://codereview.chromium.org/13925021/

If a non-POD class does not provide a default destructor, one is
provided by teh compiler. GCC will do so, but only at the point where the
vtable is output; since BlockRef has no implementation its destructor is
never output, so there is no complaint. VC++, however, provides the
destructor implementation as soon as it sees the type. If the destructor
of BlockRef is ever defined an error will be reported (since the
destructor of SkData is private).

Declaring (but does not defining) a destructor for BlockRef fixes two
issues. First, it prevents a default destructor from being provided,
removing the VC++ error. Second, BlockRef now blocks access to the
destructor through '->'.


git-svn-id: http://skia.googlecode.com/svn/trunk@8697 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-16 15:24:31 +00:00
jvanverth@google.com
c4f2ecaa47 Disable GPU acceleration for narrow ovals.
GPU anti-aliasing is currently not correct for ellipses where the ratio of long
axis length to short axis length is greater than 2 (see 
https://code.google.com/p/skia/issues/detail?id=1249). This disables the GPU 
path for those cases.

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


git-svn-id: http://skia.googlecode.com/svn/trunk@8694 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-16 12:30:35 +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
scroggo@google.com
aaec851ad1 Link webp in skimage and debugger.
Review URL: https://codereview.chromium.org/14103020

git-svn-id: http://skia.googlecode.com/svn/trunk@8691 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-15 22:05:03 +00:00
robertphillips@google.com
6b96d368f0 Enable caching of texture domain extents
https://codereview.chromium.org/14261009/



git-svn-id: http://skia.googlecode.com/svn/trunk@8690 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-15 21:51:52 +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
borenet@google.com
d2ef088ea3 Move resource dir from gm to trunk
git-svn-id: http://skia.googlecode.com/svn/trunk@8684 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-15 17:36:08 +00:00
reed@google.com
aebfa7e1b1 fix release warning (unused debug variable)
git-svn-id: http://skia.googlecode.com/svn/trunk@8682 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-15 15:23:38 +00:00
mike@reedtribe.org
3df87cb36e add experimental chop-into-quads for conics
git-svn-id: http://skia.googlecode.com/svn/trunk@8681 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-15 15:20:52 +00:00