Commit Graph

7037 Commits

Author SHA1 Message Date
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
bsalomon@google.com
b0091b8382 Add coeffecients for kScreen xfermode.
Review URL: https://codereview.chromium.org/14046021

git-svn-id: http://skia.googlecode.com/svn/trunk@8680 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-15 15:16:47 +00:00
djsollen@google.com
856b984c51 Remove freetype dependency from core.gyp
Committed: https://code.google.com/p/skia/source/detail?r=8677

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8678 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-15 14:37:28 +00:00
djsollen@google.com
f41ca79112 Remove freetype dependency from core.gyp
Review URL: https://codereview.chromium.org/13975014

git-svn-id: http://skia.googlecode.com/svn/trunk@8677 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-15 14:02:32 +00:00
bsalomon@google.com
31c4e8997c Comment only change. (forgot to save comment edit before landing r8675).
git-svn-id: http://skia.googlecode.com/svn/trunk@8676 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-15 13:55:02 +00:00
bsalomon@google.com
eb85117c05 Add support for using glCopyTexSubImage2D when possible to copy surfaces.
Review URL: https://codereview.chromium.org/13915011

git-svn-id: http://skia.googlecode.com/svn/trunk@8675 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-15 13:51:00 +00:00
skia.committer@gmail.com
ab38e560e9 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8673 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-14 07:01:08 +00:00
mike@reedtribe.org
8d55101196 add special-case for chopping at exactly half for rational-quads (2-3x faster)
git-svn-id: http://skia.googlecode.com/svn/trunk@8672 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-14 02:40:50 +00:00
mike@reedtribe.org
4af6280aa3 compute new weight in standard-form
git-svn-id: http://skia.googlecode.com/svn/trunk@8671 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-13 10:51:51 +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
scroggo@google.com
ab02627ae7 GM::height() now returns the height, not the width.
Fortunately, the only current caller has a width and height that
match, so this should not change any existing GMs.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8669 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 22:14:03 +00:00
reed@google.com
0d099557fe incomplete impl for chopping rational quads (need to "normalize" so I can get
the new middle weight).



git-svn-id: http://skia.googlecode.com/svn/trunk@8668 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 21:55:26 +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
rmistry@google.com
547012dc05 If the tree is closed then print information about contacting the sheriff.
The motivation for this CL is because it is not very obvious on how to submit when tree is closed in git.

Also added a section 'How to submit when tree is closed' in https://sites.google.com/site/skiadocs/developer-documentation/tree-sheriff

(SkipBuildbotRuns)
Review URL: https://codereview.chromium.org/13932026

git-svn-id: http://skia.googlecode.com/svn/trunk@8666 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 19:45:46 +00:00
reed@google.com
c518710d9a experimental start to arcs
git-svn-id: http://skia.googlecode.com/svn/trunk@8665 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 19:11:10 +00:00