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
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
robertphillips@google.com
235ef3d0e2
Remove GR_STATIC_RECT_VB
...
https://codereview.chromium.org/14367030/
git-svn-id: http://skia.googlecode.com/svn/trunk@8786 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-20 12:10:26 +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
027fd204ad
use SkDataTable to return familyNames for fontmgr
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8781 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 20:45:30 +00:00
reed@google.com
3cceb9f400
add SkDataTable::NewEmpty()
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8780 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 20:22:39 +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
bsalomon@google.com
018f179efb
Expand modulate, add, subtract, extract component glsl helpers.
...
Review URL: https://codereview.chromium.org/13895006
git-svn-id: http://skia.googlecode.com/svn/trunk@8755 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 19:36:09 +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
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
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
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
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
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
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
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
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
reed@google.com
dd96eb4f5c
explicitly initialize all entries in array of SkBaseMatrix, since we can't say
...
that implicitly in C (given that our initializer value may not be all zeros).
crbug.com/174644
Review URL: https://codereview.chromium.org/13990003
git-svn-id: http://skia.googlecode.com/svn/trunk@8660 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 15:34:53 +00:00
robertphillips@google.com
ad7d481ea9
Add testing of optimizations to GM
...
https://codereview.chromium.org/12843028/
git-svn-id: http://skia.googlecode.com/svn/trunk@8658 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 15:13:35 +00:00
robertphillips@google.com
07a8ea0002
Reverting r8654
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8655 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 14:59:02 +00:00
robertphillips@google.com
c10531b502
Add testing of optimizations to GM
...
https://codereview.chromium.org/12843028/
git-svn-id: http://skia.googlecode.com/svn/trunk@8654 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 14:53:29 +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
commit-bot@chromium.org
98168bb394
Add glCopyTexSubImage2D to GrGLInterface
...
Author: bsalomon@google.com
Reviewed By: robertphillips@google.com
Review URL: https://chromiumcodereview.appspot.com/13941006
git-svn-id: http://skia.googlecode.com/svn/trunk@8634 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 22:00:34 +00:00
reed@google.com
0b9832653e
forward declare SkTypeface
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8623 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 18:27:26 +00:00
junov@chromium.org
45c3db827d
Fixed bug in SkSurface_Gpu to make the surface receive the new copy when copy
...
on write happens.
Review URL: https://codereview.chromium.org/13195002
git-svn-id: http://skia.googlecode.com/svn/trunk@8622 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 17:52:05 +00:00
reed@google.com
aae71baa73
add SK_API to public classes for sharedlib build
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8588 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 13:10:40 +00:00
robertphillips@google.com
21db1dbbce
Temporary patch to get Chrome Windows compiling
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8583 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 23:56:51 +00:00
reed@google.com
54c69147f9
extend FontConfigInterface to start to match new fontmgr design
...
Review URL: https://codereview.chromium.org/13297004
git-svn-id: http://skia.googlecode.com/svn/trunk@8575 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 15:54:52 +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
robertphillips@google.com
df3695e5c7
First pass at Rect Effect
...
https://codereview.chromium.org/13521006/
git-svn-id: http://skia.googlecode.com/svn/trunk@8571 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 14:01:44 +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
75e3ca127c
Error checking / reporting API
...
Review URL: https://codereview.chromium.org/13699004
git-svn-id: http://skia.googlecode.com/svn/trunk@8566 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 21:44:11 +00:00
senorblanco@chromium.org
d043ccee37
Allow single-pass filters (which use asNewEffect()) to participate in the image filter DAG. This was done by introducing the SkSinglePassImageFilter abstract base class, which implements canFilterImageGPU() and filterImageGPU() on behalf of the derived class. The derived class still only needs to asNewEffect(). This allows us to recurse on the filter input in SkSinglePassImageFilter::onFilterImageGPU(). It also allows us to remove any knowledge of single-pass image filters from SkGpuDevice and from the SkImageFilter base class as well.
...
BUG=
Review URL: https://codereview.chromium.org/13602013
git-svn-id: http://skia.googlecode.com/svn/trunk@8563 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 19:43:22 +00:00
caryclark@google.com
07393cab57
Add base types for path ops
...
Paths contain lines, quads, and cubics, which are
collectively curves.
To work with path intersections, intermediary curves
are constructed. For now, those intermediates use
doubles to guarantee sufficient precision.
The DVector, DPoint, DLine, DQuad, and DCubic
structs encapsulate these intermediate curves.
The DRect and DTriangle structs are created to
describe intersectable areas of interest.
The Bounds struct inherits from SkRect to create
a SkScalar-based rectangle that intersects shared
edges.
This also includes common math equalities and
debugging that the remainder of path ops builds on,
as well as a temporary top-level interface in
include/pathops/SkPathOps.h.
Review URL: https://codereview.chromium.org/12827020
git-svn-id: http://skia.googlecode.com/svn/trunk@8551 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 11:47:37 +00:00
tfarina@chromium.org
7731eada5b
Fix more clang errors.
...
Fixed -Wunused-private-field errors.
R=reed@google.com ,bsalomon@google.com
Review URL: https://codereview.chromium.org/13474012
git-svn-id: http://skia.googlecode.com/svn/trunk@8547 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-05 21:13:14 +00:00
sugoi@google.com
e3b4c5097a
New SVG turbulence in Skia
...
This cl contains the code for CPU generation of noise.
TEST:Added 'perlinnoise' gm
Review URL: https://codereview.chromium.org/13094003
git-svn-id: http://skia.googlecode.com/svn/trunk@8541 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-05 13:47:09 +00:00
bsalomon@google.com
e06f8ef5ba
Revert 8525,8526 pending investigation of bench_pictures crashes.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8527 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-03 21:06:42 +00:00
bsalomon@google.com
d02e8803e9
Remove GrTexture::releaseRenderTarget() and add GrSurface::isSameAs().
...
Review URL: https://codereview.chromium.org/13414006
git-svn-id: http://skia.googlecode.com/svn/trunk@8525 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-03 19:49:13 +00:00
tomhudson@google.com
a9e1824e00
SkDraw.h #include cleanup
...
Removal of SkAutoKern header was already done in r8495; this just
lands the replacement of #includes with forward declarations for
incremental compile speed.
https://codereview.appspot.com/8109043/
git-svn-id: http://skia.googlecode.com/svn/trunk@8504 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-03 10:18:17 +00:00
commit-bot@chromium.org
5d01bec07a
Fix for effect cache key.
...
Adds the additional shift needed to incorporate the attribKeyBits. Also simplifies the creation of the static globals for the edge effects.
Author: jvanverth@google.com
Reviewed By: bsalomon@google.com
Review URL: https://chromiumcodereview.appspot.com/13465019
git-svn-id: http://skia.googlecode.com/svn/trunk@8498 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-02 20:48:38 +00:00
commit-bot@chromium.org
00aae979fa
Remove unused header declaration.
...
BUG=1179
Author: djsollen@google.com
Reviewed By: reed@google.com ,tomhudson@chromium.org
Review URL: https://chromiumcodereview.appspot.com/13097005
git-svn-id: http://skia.googlecode.com/svn/trunk@8495 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-02 18:41:32 +00:00