platform/upstream/libSkiaSharp.git
12 years agoRefactoring how SkDeferredCanvas manages mutable bitmaps
junov@chromium.org [Wed, 25 Jul 2012 17:27:13 +0000 (17:27 +0000)]
Refactoring how SkDeferredCanvas manages mutable bitmaps

This CL makes the SkGPipe flavor of SkDeferredCanvas properly
decide whether to flush or record mutable bitmaps.  The flushing
is now managed by conditionally switching the canvas to non-deferred
mode, which avoids an unnecessary transient copy of the bitmap.

BUG=http://code.google.com/p/chromium/issues/detail?id=137884
TEST=DeferredCanvas unit test, sub test TestDeferredCanvasMemoryLimit
Review URL: https://codereview.appspot.com/6421060

git-svn-id: http://skia.googlecode.com/svn/trunk@4756 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoUse asNewCustomStage instead of asABitmap in SkGpuDevice, also removed now-unecessary...
rileya@google.com [Wed, 25 Jul 2012 17:18:31 +0000 (17:18 +0000)]
Use asNewCustomStage instead of asABitmap in SkGpuDevice, also removed now-unecessary twoPointRadialParams parameter from asABitmap.

In SkGpuDevice we still fall back on using asABitmap for effects that don't have asNewCustomStage implemented, but it still simplifies things a fair amount.
Review URL: https://codereview.appspot.com/6430060

git-svn-id: http://skia.googlecode.com/svn/trunk@4755 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoAdd SkScalarPow.
bungeman@google.com [Wed, 25 Jul 2012 17:00:47 +0000 (17:00 +0000)]
Add SkScalarPow.

git-svn-id: http://skia.googlecode.com/svn/trunk@4754 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoPrevent MipMaps from crashing.
bungeman@google.com [Wed, 25 Jul 2012 16:09:10 +0000 (16:09 +0000)]
Prevent MipMaps from crashing.

git-svn-id: http://skia.googlecode.com/svn/trunk@4753 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoFix Android build for new toolchain
borenet@google.com [Wed, 25 Jul 2012 15:17:03 +0000 (15:17 +0000)]
Fix Android build for new toolchain

The new toolchain (r8b) does not automatically include
the necessary directories
(http://code.google.com/p/android/issues/detail?id=35279).
Add them manually until this is fixed.
Review URL: https://codereview.appspot.com/6419076

git-svn-id: http://skia.googlecode.com/svn/trunk@4749 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoexperimental only
reed@google.com [Wed, 25 Jul 2012 14:42:15 +0000 (14:42 +0000)]
experimental only

git-svn-id: http://skia.googlecode.com/svn/trunk@4748 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoshape ops work in progress
caryclark@google.com [Wed, 25 Jul 2012 12:05:18 +0000 (12:05 +0000)]
shape ops work in progress

git-svn-id: http://skia.googlecode.com/svn/trunk@4746 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoAdded isIntersectionOfRects to SkClipStack
robertphillips@google.com [Tue, 24 Jul 2012 22:07:50 +0000 (22:07 +0000)]
Added isIntersectionOfRects to SkClipStack

http://codereview.appspot.com/6434050/

git-svn-id: http://skia.googlecode.com/svn/trunk@4745 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoUse GrMemoryPool to manage GrCustomStage allocations.
tomhudson@google.com [Tue, 24 Jul 2012 21:36:16 +0000 (21:36 +0000)]
Use GrMemoryPool to manage GrCustomStage allocations.
Improve memory reclamation of GrMemoryPool for new/delete/new/delete pattern.

http://codereview.appspot.com/6438046/

git-svn-id: http://skia.googlecode.com/svn/trunk@4744 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoFix Android build broken due to changes in r4741.
bungeman@google.com [Tue, 24 Jul 2012 21:18:54 +0000 (21:18 +0000)]
Fix Android build broken due to changes in r4741.

git-svn-id: http://skia.googlecode.com/svn/trunk@4743 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoAvoid a loop in writeString and writePad by zeroing padding first.
scroggo@google.com [Tue, 24 Jul 2012 20:47:55 +0000 (20:47 +0000)]
Avoid a loop in writeString and writePad by zeroing padding first.

Also add a benchmark to time the new improved writeString. Before
my change the bench took ~1.23ms and afterwards it takes ~.95ms.

Add some testing to ensure that writePad works properly.

TEST=Writer32Test, WriterBench

Review URL: https://codereview.appspot.com/6438045

git-svn-id: http://skia.googlecode.com/svn/trunk@4742 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoSplit SkGlyph into its own header.
bungeman@google.com [Tue, 24 Jul 2012 20:33:21 +0000 (20:33 +0000)]
Split SkGlyph into its own header.
https://codereview.appspot.com/6434049/

git-svn-id: http://skia.googlecode.com/svn/trunk@4741 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoRevert r4671
borenet@google.com [Tue, 24 Jul 2012 18:32:14 +0000 (18:32 +0000)]
Revert r4671

Add deleted giantbitmap images after fix of 718.
Review URL: https://codereview.appspot.com/6425065

git-svn-id: http://skia.googlecode.com/svn/trunk@4740 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoRevert r5667
borenet@google.com [Tue, 24 Jul 2012 18:28:23 +0000 (18:28 +0000)]
Revert r5667

Add deleted giantbitmap images back after fix of #718
Review URL: https://codereview.appspot.com/6431065

git-svn-id: http://skia.googlecode.com/svn/trunk@4739 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoAdded requires_AA method to GrClipMaskManager.cpp to replace GrClip capability
robertphillips@google.com [Tue, 24 Jul 2012 18:20:10 +0000 (18:20 +0000)]
Added requires_AA method to GrClipMaskManager.cpp to replace GrClip capability

http://codereview.appspot.com/6422062/

git-svn-id: http://skia.googlecode.com/svn/trunk@4738 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoshape ops work in progress
caryclark@google.com [Tue, 24 Jul 2012 18:11:03 +0000 (18:11 +0000)]
shape ops work in progress

git-svn-id: http://skia.googlecode.com/svn/trunk@4737 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoFix npot bitmap tiling
bsalomon@google.com [Tue, 24 Jul 2012 17:59:01 +0000 (17:59 +0000)]
Fix npot bitmap tiling

Review URL: http://codereview.appspot.com/6419073/

git-svn-id: http://skia.googlecode.com/svn/trunk@4736 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoRemove SkSfntUtils, as it is not longer used.
bungeman@google.com [Tue, 24 Jul 2012 17:50:25 +0000 (17:50 +0000)]
Remove SkSfntUtils, as it is not longer used.

git-svn-id: http://skia.googlecode.com/svn/trunk@4735 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoSkSfntUtils should use public types.
bungeman@google.com [Tue, 24 Jul 2012 17:34:41 +0000 (17:34 +0000)]
SkSfntUtils should use public types.

git-svn-id: http://skia.googlecode.com/svn/trunk@4734 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoFix TableColorFilter memory leak.
tomhudson@google.com [Tue, 24 Jul 2012 17:24:21 +0000 (17:24 +0000)]
Fix TableColorFilter memory leak.

http://codereview.appspot.com/6437045/

git-svn-id: http://skia.googlecode.com/svn/trunk@4733 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoRebaselining to address r4730 (using SkClipStack's bound)
robertphillips@google.com [Tue, 24 Jul 2012 16:29:52 +0000 (16:29 +0000)]
Rebaselining to address r4730 (using SkClipStack's bound)

http://codereview.appspot.com/6431064/

git-svn-id: http://skia.googlecode.com/svn/trunk@4732 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoSkTextBox to use public interfaces for line layout.
bungeman@google.com [Tue, 24 Jul 2012 16:08:45 +0000 (16:08 +0000)]
SkTextBox to use public interfaces for line layout.
https://codereview.appspot.com/6438044/

git-svn-id: http://skia.googlecode.com/svn/trunk@4731 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoAdded bound computation to SkClipStack
robertphillips@google.com [Tue, 24 Jul 2012 13:54:00 +0000 (13:54 +0000)]
Added bound computation to SkClipStack

http://codereview.appspot.com/6419048/

This will require re-baselining of complexclip* and filltypespersp

git-svn-id: http://skia.googlecode.com/svn/trunk@4730 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoland http://codereview.appspot.com/6353063/ by Lei
reed@google.com [Tue, 24 Jul 2012 13:53:23 +0000 (13:53 +0000)]
land http://codereview.appspot.com/6353063/ by Lei
optimizations for D16 using SSE2

skia_bench -config 565 -match bitmap_8888_scale_filter -forceFilter 1 -repeat
30

The result I got on Android platform was below:

w/o this optimization routine:
D/skia    ( 1868): running bench [640 480]     bitmap_8888_scale_filter
D/skia    ( 1868):    565: cmsecs = 286.50

w/ with optimization:
D/skia    ( 1463): running bench [640 480]     bitmap_8888_scale_filter
D/skia    ( 1463):    565: cmsecs = 186.80

The net gain is 34.80%.

git-svn-id: http://skia.googlecode.com/svn/trunk@4729 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoReplace new with SkNEW in more effects classes.
tomhudson@google.com [Tue, 24 Jul 2012 12:22:40 +0000 (12:22 +0000)]
Replace new with SkNEW in more effects classes.

http://codereview.appspot.com/6431052/

git-svn-id: http://skia.googlecode.com/svn/trunk@4727 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoshape ops work in progress
caryclark@google.com [Mon, 23 Jul 2012 21:26:31 +0000 (21:26 +0000)]
shape ops work in progress

git-svn-id: http://skia.googlecode.com/svn/trunk@4726 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agowhitespace change to trigger Skia buildbots after master update/restart
epoger@google.com [Mon, 23 Jul 2012 18:48:36 +0000 (18:48 +0000)]
whitespace change to trigger Skia buildbots after master update/restart

git-svn-id: http://skia.googlecode.com/svn/trunk@4725 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoGave GrClip an SkClipStack-style iterator
robertphillips@google.com [Mon, 23 Jul 2012 17:39:44 +0000 (17:39 +0000)]
Gave GrClip an SkClipStack-style iterator

http://codereview.appspot.com/6434046/

git-svn-id: http://skia.googlecode.com/svn/trunk@4723 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoRemove Bitmaps Raw Pixel Support.
djsollen@google.com [Mon, 23 Jul 2012 16:54:30 +0000 (16:54 +0000)]
Remove Bitmaps Raw Pixel Support.

bitmap.setPixels(...) now creates a mutable pixelRef instead
of just setting fPixels.
Review URL: https://codereview.appspot.com/6419044

git-svn-id: http://skia.googlecode.com/svn/trunk@4722 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoupdate images after gpu changes
reed@google.com [Mon, 23 Jul 2012 15:14:18 +0000 (15:14 +0000)]
update images after gpu changes

git-svn-id: http://skia.googlecode.com/svn/trunk@4721 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agouse SkTRefArray to share readonly data between pictures
reed@google.com [Mon, 23 Jul 2012 15:04:45 +0000 (15:04 +0000)]
use SkTRefArray to share readonly data between pictures
Review URL: https://codereview.appspot.com/6351121

git-svn-id: http://skia.googlecode.com/svn/trunk@4720 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoadd protected method for internal_dispose overrides to jam fRefCnt before
reed@google.com [Mon, 23 Jul 2012 14:50:38 +0000 (14:50 +0000)]
add protected method for internal_dispose overrides to jam fRefCnt before
calling destructor.

move SkTRefArray to actually inherit from SkRefCnt
Review URL: https://codereview.appspot.com/6422057

git-svn-id: http://skia.googlecode.com/svn/trunk@4719 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoResponse to post-commit review comments on r4714
junov@chromium.org [Mon, 23 Jul 2012 14:17:45 +0000 (14:17 +0000)]
Response to post-commit review comments on r4714
Correcting formatting and adding const in SkDeferredCanvas.h
Unreviewed

git-svn-id: http://skia.googlecode.com/svn/trunk@4718 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoupdate images after gpu change
reed@google.com [Mon, 23 Jul 2012 14:07:34 +0000 (14:07 +0000)]
update images after gpu change

git-svn-id: http://skia.googlecode.com/svn/trunk@4717 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoremoving incorrect image
reed@google.com [Mon, 23 Jul 2012 14:07:08 +0000 (14:07 +0000)]
removing incorrect image

git-svn-id: http://skia.googlecode.com/svn/trunk@4716 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoIn SkWriter32::writeString, initialize all memory reserved.
scroggo@google.com [Mon, 23 Jul 2012 13:44:10 +0000 (13:44 +0000)]
In SkWriter32::writeString, initialize all memory reserved.

SkFlatData compares data which is sometimes created by writeString.
Initialize all the memory in writeString so it does not compare
uninitialized memory.

See http://code.google.com/p/skia/issues/detail?id=721&thanks=721

Review URL: https://codereview.appspot.com/6428054

git-svn-id: http://skia.googlecode.com/svn/trunk@4715 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoFix unbound memory consumption problem with run away deferred canvases.
junov@chromium.org [Mon, 23 Jul 2012 13:35:14 +0000 (13:35 +0000)]
Fix unbound memory consumption problem with run away deferred canvases.

With this CL, deferred canvases will trigger a flush when then the
memory allocated for recording commands (including flattened objects)
exceeds 64MB.

TEST=DeferredCanvas skia unit test, test step TestDeferredCanvasMemoryLimit
BUG=http://code.google.com/p/chromium/issues/detail?id=137884
Review URL: https://codereview.appspot.com/6425053

git-svn-id: http://skia.googlecode.com/svn/trunk@4714 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoshape ops work in progress
caryclark@google.com [Mon, 23 Jul 2012 12:14:49 +0000 (12:14 +0000)]
shape ops work in progress

git-svn-id: http://skia.googlecode.com/svn/trunk@4713 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agocheck for memory leaks in debug-build
reed@google.com [Sun, 22 Jul 2012 22:33:05 +0000 (22:33 +0000)]
check for memory leaks in debug-build

git-svn-id: http://skia.googlecode.com/svn/trunk@4712 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agouse SkData to share between record and playback
reed@google.com [Sat, 21 Jul 2012 20:31:09 +0000 (20:31 +0000)]
use SkData to share between record and playback
use SkReader32 on the stack, as a step towards thread-reentrant playback

git-svn-id: http://skia.googlecode.com/svn/trunk@4711 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoinclude <new> since we use placement-new
reed@google.com [Sat, 21 Jul 2012 19:39:24 +0000 (19:39 +0000)]
include <new> since we use placement-new

git-svn-id: http://skia.googlecode.com/svn/trunk@4710 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoadd SkTRefArray, in hopes that it will enable more sharing between pictureplaybacks
reed@google.com [Sat, 21 Jul 2012 17:31:40 +0000 (17:31 +0000)]
add SkTRefArray, in hopes that it will enable more sharing between pictureplaybacks
in different threads.

git-svn-id: http://skia.googlecode.com/svn/trunk@4709 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoAdded picture recording benchmark options to bench.
keyar@chromium.org [Fri, 20 Jul 2012 23:03:42 +0000 (23:03 +0000)]
Added picture recording benchmark options to bench.

-forceRecording benchmarks how long it takes C++ code to be recorded into a picture.

-forcePictureRecording benchmarks how long it takes a picture to be recorded into a picture.

Preliminary investigation shows that the second benchmarks can often be much faster than the first. Will rerun these benchmarks and upload the results somewhere when/if this code is committed.

Review URL: https://codereview.appspot.com/6404055

git-svn-id: http://skia.googlecode.com/svn/trunk@4708 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agorender_pictures can now do tiling based rendering.
keyar@chromium.org [Fri, 20 Jul 2012 22:34:27 +0000 (22:34 +0000)]
render_pictures can now do tiling based rendering.

Review URL: https://codereview.appspot.com/6401057

git-svn-id: http://skia.googlecode.com/svn/trunk@4707 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoAdd a ton of GPU baseline images.
bsalomon@google.com [Fri, 20 Jul 2012 21:35:28 +0000 (21:35 +0000)]
Add a ton of GPU baseline images.

Review URL: http://codereview.appspot.com/6428065/

git-svn-id: http://skia.googlecode.com/svn/trunk@4706 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agowhitespace change to trigger Skia buildbots after master update/restart
epoger@google.com [Fri, 20 Jul 2012 21:00:33 +0000 (21:00 +0000)]
whitespace change to trigger Skia buildbots after master update/restart

git-svn-id: http://skia.googlecode.com/svn/trunk@4704 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoAdded asNewCustomStage to SkShader and implemented it for all the gradient shaders.
rileya@google.com [Fri, 20 Jul 2012 20:02:43 +0000 (20:02 +0000)]
Added asNewCustomStage to SkShader and implemented it for all the gradient shaders.

Not actually hooked up yet, but it should be ready to replace asABitmap for a future CL.
Review URL: https://codereview.appspot.com/6351113

git-svn-id: http://skia.googlecode.com/svn/trunk@4702 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoFix build break in r4694: move reset() call before setting custom stage on sampler.
tomhudson@google.com [Fri, 20 Jul 2012 19:15:06 +0000 (19:15 +0000)]
Fix build break in r4694: move reset() call before setting custom stage on sampler.
Over-the-shoulder review by bsalomon@.

http://codereview.appspot.com/6419061/

git-svn-id: http://skia.googlecode.com/svn/trunk@4700 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoRebaseline Nexus S gradient GMs for bilinear filtering change (r4680).
rileya@google.com [Fri, 20 Jul 2012 19:10:31 +0000 (19:10 +0000)]
Rebaseline Nexus S gradient GMs for bilinear filtering change (r4680).

git-svn-id: http://skia.googlecode.com/svn/trunk@4699 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoAdd flag to skip pipe on select GMs
borenet@google.com [Fri, 20 Jul 2012 18:45:10 +0000 (18:45 +0000)]
Add flag to skip pipe on select GMs

Confirmed with scroggo@ that these should not be run
with pipe.
Review URL: https://codereview.appspot.com/6405068

git-svn-id: http://skia.googlecode.com/svn/trunk@4698 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoReverting r4695
junov@chromium.org [Fri, 20 Jul 2012 18:32:39 +0000 (18:32 +0000)]
Reverting r4695

git-svn-id: http://skia.googlecode.com/svn/trunk@4697 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoDisable bitmapcopy gm on Android
borenet@google.com [Fri, 20 Jul 2012 18:19:06 +0000 (18:19 +0000)]
Disable bitmapcopy gm on Android

This has been failing on Nexus S.  Disable so that we
don't miss further regressions.

Bug @ http://code.google.com/p/skia/issues/detail?id=705
Review URL: https://codereview.appspot.com/6427053

git-svn-id: http://skia.googlecode.com/svn/trunk@4696 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoTry turning on the SkGPipe path in SkDeferredCanvas
junov@chromium.org [Fri, 20 Jul 2012 18:00:59 +0000 (18:00 +0000)]
Try turning on the SkGPipe path in SkDeferredCanvas
Unreviewed

git-svn-id: http://skia.googlecode.com/svn/trunk@4695 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoRemove easily-removable uses of setTexture(), instead creating a GrSingleTextureEffect -
tomhudson@google.com [Fri, 20 Jul 2012 16:25:18 +0000 (16:25 +0000)]
Remove easily-removable uses of setTexture(), instead creating a GrSingleTextureEffect -
where feasible, through convenience function on GrDrawState.

http://codereview.appspot.com/6425055/

git-svn-id: http://skia.googlecode.com/svn/trunk@4694 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoRemove assertion when texture matrix is unused
bsalomon@google.com [Fri, 20 Jul 2012 16:17:03 +0000 (16:17 +0000)]
Remove assertion when texture matrix is unused

Review URL: http://codereview.appspot.com/6420054/

git-svn-id: http://skia.googlecode.com/svn/trunk@4693 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoMade clarifying renamings to SkClipStack's iterators (and added to unit test)
robertphillips@google.com [Fri, 20 Jul 2012 15:33:18 +0000 (15:33 +0000)]
Made clarifying renamings to SkClipStack's iterators (and added to unit test)

http://codereview.appspot.com/6423051/

git-svn-id: http://skia.googlecode.com/svn/trunk@4692 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoFix color filter LUT (install custom stage after reset of sampler). Over the shoulder...
bsalomon@google.com [Fri, 20 Jul 2012 15:09:31 +0000 (15:09 +0000)]
Fix color filter LUT (install custom stage after reset of sampler). Over the shoulder review by TomH.

git-svn-id: http://skia.googlecode.com/svn/trunk@4691 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoWork around unused matrix uniform assertion for color filter LUT.
bsalomon@google.com [Fri, 20 Jul 2012 14:23:09 +0000 (14:23 +0000)]
Work around unused matrix uniform assertion for color filter LUT.

Review URL: http://codereview.appspot.com/6420054/

git-svn-id: http://skia.googlecode.com/svn/trunk@4690 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoSkNEW instead of new for lighting effects.
tomhudson@google.com [Fri, 20 Jul 2012 14:15:22 +0000 (14:15 +0000)]
SkNEW instead of new for lighting effects.

http://codereview.appspot.com/6351112/

git-svn-id: http://skia.googlecode.com/svn/trunk@4689 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoRemove stage masks
bsalomon@google.com [Fri, 20 Jul 2012 13:37:06 +0000 (13:37 +0000)]
Remove stage masks

Review URL: http://codereview.appspot.com/6422047/

git-svn-id: http://skia.googlecode.com/svn/trunk@4688 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoAdding new steps to Canvas unit test to validate that the deferred
junov@chromium.org [Fri, 20 Jul 2012 13:21:58 +0000 (13:21 +0000)]
Adding new steps to Canvas unit test to validate that the deferred
canvas state coherence test case passes with sequences of draw commands
that trigger flushes and purges of deferred draw commands.

This CL confirms that using SkGPipe fixes the deferred canvas issues that are
the root problem of crbug.com/133432

BUG=https://code.google.com/p/chromium/issues/detail?id=133432
Review URL: https://codereview.appspot.com/6416049

git-svn-id: http://skia.googlecode.com/svn/trunk@4687 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoremoving trailing ',' on last entry in enum, to fix warning
reed@google.com [Fri, 20 Jul 2012 11:35:40 +0000 (11:35 +0000)]
removing trailing ',' on last entry in enum, to fix warning

git-svn-id: http://skia.googlecode.com/svn/trunk@4686 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years ago#include "SkTemplates.h"
reed@google.com [Fri, 20 Jul 2012 11:34:36 +0000 (11:34 +0000)]
#include "SkTemplates.h"

git-svn-id: http://skia.googlecode.com/svn/trunk@4685 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoadd SkPaint::getPosTextPath(), with gm to test it
reed@google.com [Fri, 20 Jul 2012 11:20:32 +0000 (11:20 +0000)]
add SkPaint::getPosTextPath(), with gm to test it
Review URL: https://codereview.appspot.com/6427055

git-svn-id: http://skia.googlecode.com/svn/trunk@4684 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoAddition of new-lines at end of files to correct Chromium builds.
twiz@google.com [Thu, 19 Jul 2012 22:09:19 +0000 (22:09 +0000)]
Addition of new-lines at end of files to correct Chromium builds.
Review URL: https://codereview.appspot.com/6423061

git-svn-id: http://skia.googlecode.com/svn/trunk@4683 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoFixing heap corruption issue in deferred canvas when using SkGPipe.
junov@chromium.org [Thu, 19 Jul 2012 21:00:07 +0000 (21:00 +0000)]
Fixing heap corruption issue in deferred canvas when using SkGPipe.
Swapping the declaration order of fPipeController and fPipeWriter to
make sure that the writer is destroyed first before the controller.
Review URL: https://codereview.appspot.com/6427054

git-svn-id: http://skia.googlecode.com/svn/trunk@4682 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoRebaseline after enabling bilinear filtering for gpu linear gradients.
rileya@google.com [Thu, 19 Jul 2012 20:51:32 +0000 (20:51 +0000)]
Rebaseline after enabling bilinear filtering for gpu linear gradients.

git-svn-id: http://skia.googlecode.com/svn/trunk@4681 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoMake GPU linear gradients do bilinear filtering.
rileya@google.com [Thu, 19 Jul 2012 19:42:10 +0000 (19:42 +0000)]
Make GPU linear gradients do bilinear filtering.

This will require GM (and webkit) rebaselines.
Review URL: https://codereview.appspot.com/6431048

git-svn-id: http://skia.googlecode.com/svn/trunk@4680 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoCreate GL implementation for GrSingleTextureEffect, use it instead of GrPaint::setTex...
tomhudson@google.com [Thu, 19 Jul 2012 18:01:07 +0000 (18:01 +0000)]
Create GL implementation for GrSingleTextureEffect, use it instead of GrPaint::setTexture()
or GrDrawState::setTexture() in GrContext.cpp

http://codereview.appspot.com/6399053/

git-svn-id: http://skia.googlecode.com/svn/trunk@4677 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoskdiff output: indicate which result types would cause failure
epoger@google.com [Thu, 19 Jul 2012 17:35:04 +0000 (17:35 +0000)]
skdiff output: indicate which result types would cause failure
Review URL: https://codereview.appspot.com/6419053

git-svn-id: http://skia.googlecode.com/svn/trunk@4676 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoRebaseline for slight changes in linear gradient behavior.
rileya@google.com [Thu, 19 Jul 2012 17:31:34 +0000 (17:31 +0000)]
Rebaseline for slight changes in linear gradient behavior.

git-svn-id: http://skia.googlecode.com/svn/trunk@4675 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoNew subclasses for both Gr and GrGL gradient effect classes.
rileya@google.com [Thu, 19 Jul 2012 15:16:19 +0000 (15:16 +0000)]
New subclasses for both Gr and GrGL gradient effect classes.

This replaces GrSingleTextureEffect as the base for gradient effects (so we'll be able to do gradient effects without textures), and adds a base class to the GL gradient custom stage implementations (which will soon handle generating the appropriate code to pass colors in and lerp instead of using a cached texture for simpler gradient cases).

Also added a custom stage for linear gradients.
Review URL: https://codereview.appspot.com/6426049

git-svn-id: http://skia.googlecode.com/svn/trunk@4674 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoRebaseline Xoom
borenet@google.com [Thu, 19 Jul 2012 14:57:19 +0000 (14:57 +0000)]
Rebaseline Xoom
Review URL: https://codereview.appspot.com/6416048

git-svn-id: http://skia.googlecode.com/svn/trunk@4672 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoTemporarily remove giantbitmap gpu GM baselines on Xoom
borenet@google.com [Thu, 19 Jul 2012 14:12:24 +0000 (14:12 +0000)]
Temporarily remove giantbitmap gpu GM baselines on Xoom

These are drawing black boxes.
Review URL: https://codereview.appspot.com/6423055

git-svn-id: http://skia.googlecode.com/svn/trunk@4671 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoRebaseline Nexus S images
borenet@google.com [Thu, 19 Jul 2012 14:10:17 +0000 (14:10 +0000)]
Rebaseline Nexus S images

These haven't been updated in a long time.
Review URL: https://codereview.appspot.com/6428051

git-svn-id: http://skia.googlecode.com/svn/trunk@4670 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoFixed glaring typo in SkDebuggerGUI.cpp, unreviewed.
chudy@google.com [Thu, 19 Jul 2012 13:48:14 +0000 (13:48 +0000)]
Fixed glaring typo in SkDebuggerGUI.cpp, unreviewed.

BUG=
TEST=

Review URL: https://codereview.appspot.com/6423052

git-svn-id: http://skia.googlecode.com/svn/trunk@4669 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoQuick bug fix that was rendering debugger unusable.
chudy@google.com [Thu, 19 Jul 2012 13:41:27 +0000 (13:41 +0000)]
Quick bug fix that was rendering debugger unusable.

Review URL: https://codereview.appspot.com/6422050

git-svn-id: http://skia.googlecode.com/svn/trunk@4668 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoTemporarily remove giantbitmap gpu GMs on Nexus S
borenet@google.com [Thu, 19 Jul 2012 13:25:27 +0000 (13:25 +0000)]
Temporarily remove giantbitmap gpu GMs on Nexus S

These are just drawing a black box.
Review URL: https://codereview.appspot.com/6419051

git-svn-id: http://skia.googlecode.com/svn/trunk@4667 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoTemporarily remove GMs failing on Nexus S
borenet@google.com [Thu, 19 Jul 2012 13:08:33 +0000 (13:08 +0000)]
Temporarily remove GMs failing on Nexus S

These are failing as of r4663
Review URL: https://codereview.appspot.com/6428049

git-svn-id: http://skia.googlecode.com/svn/trunk@4666 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoImproving CanvasTest to verify that the destination canvas of an SkDeferredCanvas...
junov@chromium.org [Wed, 18 Jul 2012 21:50:26 +0000 (21:50 +0000)]
Improving CanvasTest to verify that the destination canvas of an SkDeferredCanvas has the same state as a plain SkCanvas that received the same draw commands.
This new test code shows that the SkGPipe port of SkDeferredCanvas solves problems we were having with SkPicture.
Review URL: https://codereview.appspot.com/6425048

git-svn-id: http://skia.googlecode.com/svn/trunk@4665 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoMove texture lock/unlock functions from SkGpuDevice into SkGr as global functions...
rileya@google.com [Wed, 18 Jul 2012 21:47:40 +0000 (21:47 +0000)]
Move texture lock/unlock functions from SkGpuDevice into SkGr as global functions, also removed inconsistent "SkGr" class.
Review URL: https://codereview.appspot.com/6420048

git-svn-id: http://skia.googlecode.com/svn/trunk@4664 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoThis CL implements the Ganesh path for the SkTable_ColorFilter color transformation.
twiz@google.com [Wed, 18 Jul 2012 21:41:50 +0000 (21:41 +0000)]
This CL implements the Ganesh path for the SkTable_ColorFilter color transformation.

A new texture stage dedicated to color transforms has been added, along with the new custom stage implementing the LUT.
Review URL: https://codereview.appspot.com/6351081

git-svn-id: http://skia.googlecode.com/svn/trunk@4663 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoUpdate download_baselines.py
borenet@google.com [Wed, 18 Jul 2012 21:23:40 +0000 (21:23 +0000)]
Update download_baselines.py

No longer using *-fixed
Added Android
Review URL: https://codereview.appspot.com/6428047

git-svn-id: http://skia.googlecode.com/svn/trunk@4662 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoAdding virtual overload of isDrawingToLayer() to SkGPipe
junov@chromium.org [Wed, 18 Jul 2012 20:22:52 +0000 (20:22 +0000)]
Adding virtual overload of isDrawingToLayer() to SkGPipe
This change is to make The SkGPipe port of SkDeferredCanvas pass the CanvasTest unit test
Review URL: https://codereview.appspot.com/6426046

git-svn-id: http://skia.googlecode.com/svn/trunk@4661 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoClean up the use of AutoScratchTexture in the gaussian blur and morphology
senorblanco@chromium.org [Wed, 18 Jul 2012 19:52:53 +0000 (19:52 +0000)]
Clean up the use of AutoScratchTexture in the gaussian blur and morphology
filters.  Instead of passing in AutoScratchTextures for temporaries, we allocate
them inside the function and detach() after rendering.  Since the functions now
return a ref()'ed texture, we no longer ref() the result in filter_texture().

Also, the imageblur gm was passing a paint with an image filter both to
saveLayer()/restore(), and to every text draw call.  Back when only restore()
was applying filters, this was fine, but since we're now applying filters on all
draw calls, this means we're double-blurring in this GM.

I've reverted the Mac baselines for the imageblur GM to their previous versions;
hopefully this will be correct.

git-svn-id: http://skia.googlecode.com/svn/trunk@4659 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoAdd SK_API for SkData. Needed for https://bugs.webkit.org/show_bug.cgi?id=91171
vandebo@chromium.org [Wed, 18 Jul 2012 18:53:28 +0000 (18:53 +0000)]
Add SK_API for SkData.  Needed for https://bugs.webkit.org/show_bug.cgi?id=91171

Review URL: https://codereview.appspot.com/6420047

git-svn-id: http://skia.googlecode.com/svn/trunk@4658 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoFix grdrawstate == test when left side has disabled stage and right side does not
bsalomon@google.com [Wed, 18 Jul 2012 18:25:07 +0000 (18:25 +0000)]
Fix grdrawstate == test when left side has disabled stage and right side does not

Review URL: http://codereview.appspot.com/6427044/

git-svn-id: http://skia.googlecode.com/svn/trunk@4657 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoRefactoring SkDeferredCanvas to use SkGPipe.
junov@chromium.org [Wed, 18 Jul 2012 17:54:45 +0000 (17:54 +0000)]
Refactoring SkDeferredCanvas to use SkGPipe.
Keeping the refactor hidden behind a config macro for now.

TEST=covered by existing skia gm tests
BUG=https://code.google.com/p/chromium/issues/detail?id=133432
Review URL: https://codereview.appspot.com/6405054

git-svn-id: http://skia.googlecode.com/svn/trunk@4656 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agowhitespace change to trigger Skia buildbots after master update/restart
epoger@google.com [Wed, 18 Jul 2012 15:13:30 +0000 (15:13 +0000)]
whitespace change to trigger Skia buildbots after master update/restart

git-svn-id: http://skia.googlecode.com/svn/trunk@4654 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoEnable Compile Option to Build Android Executables
borenet@google.com [Wed, 18 Jul 2012 14:59:54 +0000 (14:59 +0000)]
Enable Compile Option to Build Android Executables

Since we can't debug APKs on 4.1, we sometimes need to
build Skia the old way for Android.  This CL enables
a switch to do so.
Review URL: https://codereview.appspot.com/6408053

git-svn-id: http://skia.googlecode.com/svn/trunk@4653 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoNeed to apply matrix to advance in generateAdvance (as we already were in generateMet...
reed@google.com [Wed, 18 Jul 2012 13:45:58 +0000 (13:45 +0000)]
Need to apply matrix to advance in generateAdvance (as we already were in generateMetrics)
Fixes b/6833339
Expand existing unittest to detect this (we needed to set both scale and skew on the paint)

git-svn-id: http://skia.googlecode.com/svn/trunk@4647 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoFactory method for creating GrGLProgram
bsalomon@google.com [Wed, 18 Jul 2012 13:20:29 +0000 (13:20 +0000)]
Factory method for creating GrGLProgram

Review URL: http://codereview.appspot.com/6407049/

git-svn-id: http://skia.googlecode.com/svn/trunk@4646 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoAdd skipToLast method to SkClipStack
robertphillips@google.com [Wed, 18 Jul 2012 12:06:15 +0000 (12:06 +0000)]
Add skipToLast method to SkClipStack

http://codereview.appspot.com/6411043/

git-svn-id: http://skia.googlecode.com/svn/trunk@4644 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoExported SkFILEWStream class so that it can be used in Chrome.
alokp@chromium.org [Tue, 17 Jul 2012 19:10:36 +0000 (19:10 +0000)]
Exported SkFILEWStream class so that it can be used in Chrome.
Review URL: https://codereview.appspot.com/6409052

git-svn-id: http://skia.googlecode.com/svn/trunk@4643 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoFix build breakage in r4641.
tomhudson@google.com [Tue, 17 Jul 2012 19:07:35 +0000 (19:07 +0000)]
Fix build breakage in r4641.
Unreviewed.

git-svn-id: http://skia.googlecode.com/svn/trunk@4642 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoMove texture domains onto a GrCustomStage, off of GrSamplerState.
tomhudson@google.com [Tue, 17 Jul 2012 18:43:21 +0000 (18:43 +0000)]
Move texture domains onto a GrCustomStage, off of GrSamplerState.

This will require gyp changes to roll into Chrome.

http://codereview.appspot.com/6405050/

git-svn-id: http://skia.googlecode.com/svn/trunk@4641 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoUpdate docs and trunk dirs if they exist overriding any local merge conflicts.
rmistry@google.com [Tue, 17 Jul 2012 18:27:03 +0000 (18:27 +0000)]
Update docs and trunk dirs if they exist overriding any local merge conflicts.

Created to fix bug http://code.google.com/p/skia/issues/detail?id=710 :
housekeeping buildbot: conflict in UpdateDoxygen step.

git-svn-id: http://skia.googlecode.com/svn/trunk@4640 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoUse SkFlatDictionary in SkGPipe to take advantage of its new features.
scroggo@google.com [Tue, 17 Jul 2012 16:49:40 +0000 (16:49 +0000)]
Use SkFlatDictionary in SkGPipe to take advantage of its new features.

Add a controller class to perform the allocation/unallocation for the dictionary and to provide an entry to be replaced, if replacements are allowed.

TODO:
Use LRU caching in my custom controller so replacements will be done less often.
More refactoring on SkFlatDictionary so picture recording's use of the dictionary does not require going through the path to replace.

Review URL: https://codereview.appspot.com/6345102

git-svn-id: http://skia.googlecode.com/svn/trunk@4639 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoPurge bitmaps from SkGPipe's shared heap.
scroggo@google.com [Tue, 17 Jul 2012 16:10:34 +0000 (16:10 +0000)]
Purge bitmaps from SkGPipe's shared heap.

BitmapInfo:
Now in SkGPipePriv so it can be accessed by SkGPipeRead.

Add the ability to essentially ref count BitmapInfos so that they can
be purged to make room in the shared heap for a new one.

SkGPipeWrite:
Purge the least recently used bitmap if it has already been drawn by
all readers.

SkGPipeRead:
Read the BitmapInfo (instead of the SkBitmap) and decrement its count
after drawing.

SkGPipeController:
Added a method to tell how many readers will be used, so that when
purging bitmaps each reader can be accounted for.

Review URL: https://codereview.appspot.com/6374065

git-svn-id: http://skia.googlecode.com/svn/trunk@4638 2bbb7eff-a529-9590-31e7-b0007b416f81

12 years agoAdded more features to deletes and breakpoints
chudy@google.com [Tue, 17 Jul 2012 15:40:51 +0000 (15:40 +0000)]
Added more features to deletes and breakpoints

Review URL: https://codereview.appspot.com/6406050

git-svn-id: http://skia.googlecode.com/svn/trunk@4637 2bbb7eff-a529-9590-31e7-b0007b416f81