History log of /external/skia/src/utils/SkDeferredCanvas.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f252f64f17efddf7235682a96d155d7c86c898e3 14-Jun-2014 reed <reed@chromium.org> hide virtuals on device for width/height/isopaque

R=bsalomon@google.com
NOTREECHECKS=True

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/334993002
/external/skia/src/utils/SkDeferredCanvas.cpp
4585144956e6d383115704181470d8436fc9829d 11-Jun-2014 reed <reed@google.com> remove SK_SUPPORT_LEGACY_DEVICE_CONFIG code

BUG=skia:
R=djsollen@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/327263002
/external/skia/src/utils/SkDeferredCanvas.cpp
9b14f26d0f3a974f3dd626c8354e1db1cfcd322f 04-Jun-2014 robertphillips <robertphillips@google.com> Alter SkCanvas::drawPicture (devirtualize, take const SkPicture, take pointer)

R=reed@google.com, bsalomon@google.com, mtklein@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/313613004
/external/skia/src/utils/SkDeferredCanvas.cpp
868074b50b0fc3e460d2aa97c1096827fe0a1935 03-Jun-2014 reed <reed@google.com> remove SkBounder -- unused and unloved

BUG=skia:
R=scroggo@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/312553006
/external/skia/src/utils/SkDeferredCanvas.cpp
a6a8f00a3977e71dbce9da50a32c5e9a51c49285 02-Jun-2014 reed <reed@chromium.org> hide SkDevice::config()

TBR=robertphilips

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/302253002
/external/skia/src/utils/SkDeferredCanvas.cpp
e0d9ce890e67d02727ac2811bb456ddb64f827d4 23-Apr-2014 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Make drawText calls non-virtual, to ease SkFont and TextBlob (https://codereview.chromium.org/243853006/)"

associated chrome change (to be committed with DEPS roll)
https://codereview.chromium.org/248693002/

This reverts commit bfaceb53f58c9625b5471fcff35b5ca9ca3ae29c.

TBR=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14321 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
945ec3a2bec668ca845071a65df8ec55e8f43819 22-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of make drawText calls non-virtual, to ease SkFont and TextBlob (https://codereview.chromium.org/243853006/)

Reason for revert:
need to test more the code-path where we don't opt into the new virtuals

Original issue's description:
> make drawText calls non-virtual, to ease SkFont and TextBlob
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14307

R=robertphillips@google.com
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14314 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
4325d114a5679e46f25ae75b0e43547fd7694998 22-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> make drawText calls non-virtual, to ease SkFont and TextBlob

BUG=skia:
R=robertphillips@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14307 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
dad009be4ae15cae7b1ae9cecdf816a21bb7c5f9 27-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Making SkDeferredCanvas::silentFlush trigger a skippedPendingDrawCommands callback

The bug was preventing Canvas2DLayerBridge from properly tracking changes
in memory consumption that were triggered by calls to silentFlush.

BUG=344666
TEST=DeferredCanvas unit test
R=senorblanco@google.com, senorblanco@chromium.org

Author: junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13965 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
f20fc24a7def23093a1abd2fc8de4a1302aeb9f8 26-Mar-2014 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove all references to legacy Config8888

BUG=skia:
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13952 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
d9ea09e1f29b303e6fa36079e99729d2951925b9 25-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Consolidate SkCanvas matrix virtuals.

Remove didTranslate, didScale, didRotate & didSkew, and rely on
didConcat instead. Subclasses can sniff the matrix type if they want to
differentiate.

(work in progress)

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

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13940 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
a713f9c6f6a06d216d53e268b9c691941053dabf 17-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> add new readPixels with direct memory parameters

BUG=skia:
R=scroggo@google.com, bsalomon@google.com, robertphillips@google.com, fmalita@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13840 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
4ef54f8d72420a521d4aae04ff5cd438810eca7f 17-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> remove SK_SUPPORT_LEGACY_WRITEPIXELSCONFIG -- dead code

BUG=skia:
R=halcanary@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13834 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
4cb543d6057b692e1099e9f115155f0bf323a0c8 14-Mar-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Implement support for a Context parameter in image filters

Some upcoming work (support for expanding crop rects) requires
the clip bounds to be available during filter traversal. This change
replaces the SkMatrix parameter in the onFilterImage() traversals
with a Context parameter. It contains the CTM, as well as the clip
bounds.

BUG=skia:
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13803 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
44c48d062f7996b5b46917e1b312a32ad101f326 13-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> De-virtualize SkCanvas matrix ops.

This moves the matrix management logic into non-virtual SkCanvas
methods, and turns the virtuals into protected notifiers.

R=reed@google.com, robertphillips@google.com, bsalomon@google.com
BUG=skia:2297

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13799 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
3da3b621c34810514a6d415a1dc782bd21648c3c 13-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> getDeviceCapabilities is no longer need, so remove it

BUG=skia:
R=bungeman@google.com, vandebo@chromium.org

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13797 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
e54a23fcfa42b2fc9d320650de72bcb2d9566b2d 12-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> De-virtualize SkCanvas save/restore.

This moves the state management logic into non-virtual SkCanvas methods,
and turns the virtuals into protected notifiers.

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

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13776 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
9c135db83d198e7d8200027c7d2cf60f38517ee3 12-Mar-2014 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> support direct writing to top layer, and hide getTopLayer()

this should remove many of the chrome callers that today call
accessBitmap on the toplayer, so they can read/write those pixels.

The ultimate fix will be to support custom allocation of raster layers
(via GDI/cairo/mac) so we can remove PlatformDevice subclassing in
skia/ext

BUG=skia:
R=bsalomon@google.com, scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13774 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
069a55a7fe2c3ae6f5049843b3fc1a167b51215c 12-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Revert of Revert "De-virtualize SkCanvas save/restore." (https://codereview.chromium.org/196323003/)

Reason for revert:
Pulling out to rename the virtuals.

Original issue's description:
> Revert of Revert "De-virtualize SkCanvas save/restore." (https://codereview.chromium.org/194923008/)
>
> Reason for revert:
> Re-landing after roll fix.
>
> Original issue's description:
> > Revert "De-virtualize SkCanvas save/restore."
> >
> > (To allow a roll fix into the tree).
> >
> > This reverts commit edf702204be42c945254191f9f9cd6585b3d189b.
> >
> > R=halcanary@google.com
> >
> > Committed: https://code.google.com/p/skia/source/detail?r=13748
>
> TBR=halcanary@google.com,fmalita@chromium.org
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: http://code.google.com/p/skia/source/detail?r=13754

R=halcanary@google.com, fmalita@chromium.org
TBR=fmalita@chromium.org, halcanary@google.com
NOTREECHECKS=true
NOTRY=true

Author: fmalita@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13765 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
4fcd92d0bf09dc9c28643e83b95b6cbf9f1ff2b2 12-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Revert "De-virtualize SkCanvas save/restore." (https://codereview.chromium.org/194923008/)

Reason for revert:
Re-landing after roll fix.

Original issue's description:
> Revert "De-virtualize SkCanvas save/restore."
>
> (To allow a roll fix into the tree).
>
> This reverts commit edf702204be42c945254191f9f9cd6585b3d189b.
>
> R=halcanary@google.com
>
> Committed: https://code.google.com/p/skia/source/detail?r=13748

R=halcanary@google.com, fmalita@chromium.org
TBR=fmalita@chromium.org, halcanary@google.com
NOTREECHECKS=true
NOTRY=true

Author: fmalita@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13754 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
f1292bc01fa3a2e398454b0cf03d36b23b6912f7 11-Mar-2014 fmalita@google.com <fmalita@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "De-virtualize SkCanvas save/restore."

(To allow a roll fix into the tree).

This reverts commit edf702204be42c945254191f9f9cd6585b3d189b.

R=halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13748 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
80b10518a27a47b25a7dbf3591b425a741ebf406 11-Mar-2014 fmalita@google.com <fmalita@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> De-virtualize SkCanvas save/restore.

This moves the state management logic into non-virtual SkCanvas methods,
and turns the virtuals into protected notifiers.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13747 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
e62513fb9274b65bcd9fecf61acc418dd3949df5 08-Mar-2014 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@13714 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
4cd9e2169e35cd67ee7358acea6541245e1d1744 07-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Add SkCanvas::writePixels that takes info+pixels directly

add corresponding methods to device (w/ diff name to avoid colliding with exising virtuals)

BUG=skia:
R=bsalomon@google.com, robertphillips@google.com, junov@google.com, junov@chromium.org

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13697 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
8f90a892c5130d4d26b5588e1ff151d01a40688a 28-Feb-2014 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add new onClip* methods to SkCanvas

https://codereview.chromium.org/183453002/



git-svn-id: http://skia.googlecode.com/svn/trunk@13627 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
03fc3b4f67a115e4a7945d173856a6c80b09311e 28-Feb-2014 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of r13620 (add new onClip* methods to SkCanvas - https://codereview.chromium.org/183453002/) due to broken Chrome Canary and failing tests.




git-svn-id: http://skia.googlecode.com/svn/trunk@13622 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
392c9be344549e809d0468abafdbeb6e32135bcd 28-Feb-2014 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add new onClip* methods to SkCanvas

https://codereview.chromium.org/183453002/



git-svn-id: http://skia.googlecode.com/svn/trunk@13620 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
ab5827354e2c23624acc3fc1fe4a83788bc99e96 21-Feb-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> override new virtual onDrawDRRect in util canvas subclasses

BUG=skia:
R=robertphillips@google.com, reed@google.com

Author: reed@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13529 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
15a140599942f70e47380e3f700a825c7cece3b4 16-Feb-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Change device factories to take SkImageInfo instead of SkBitmap::Config

patch from issue 167033002

BUG=skia:
R=reed@google.com

Author: reed@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13463 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
284a84d21044d8b45df3047f261fbc922dca175c 14-Feb-2014 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "Revert of have DeferredDevice inherit from SkBaseDevice (https://codereview.chromium.org/165393006/)"

removed assert from lockPixels(), since that is called during setDevice()

This reverts commit 20bfc5337fa17cff52fb96b13af674c181e2c5a9.

BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13454 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
97561975ff7cb310a1ae21c5bd815f7fac962acb 14-Feb-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of have DeferredDevice inherit from SkBaseDevice (https://codereview.chromium.org/165393006/)

Reason for revert:
broke tests

Original issue's description:
> have DeferredDevice inherit from SkBaseDevice
>
> mirror of 165813003
>
> BUG=skia:
>
> Committed: https://code.google.com/p/skia/source/detail?r=13452

TBR=
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13453 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
bd246e2393ab51401e0de50e47c7a93e2da5c449 14-Feb-2014 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> have DeferredDevice inherit from SkBaseDevice

mirror of 165813003

BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13452 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
76f10a3bd936af7dbe2b5873d5a7eedd73cdc5da 05-Feb-2014 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove SkCanvas::createCompatibleDevice, and add SkCanvas::newSurface

BUG=skia:
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13319 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
28183b4043a969df12592e8dd47cf95b80755284 04-Feb-2014 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove (unused by chrome) SkDeferredCanvas(device) factory signature

BUG=skia:
R=junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13302 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
5308c83a366f965c308862bed1b6acf594af3df9 13-Nov-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> drawPosTextOnPath is now deprecated, removing all overrides and impls

BUG=
R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12270 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
cac8d01eabd05d11365f56b6af3f30bccb173487 12-Nov-2013 scroggo@google.com <scroggo@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Override drawRRect in fake SkBitmapDevices.

Recent changes to SkBitmapDevice modified ::drawRRect() to take
an optimized drawing case. Some subclasses of SkBitmapDevice were
depending on the old behavior of calling ::drawPath(). Since they
do not draw, attempting to take the drawing path can cause problems.
For these subclasses, call drawPath() in the subclass.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12247 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
7ce564cccb246ec56427085872b2e1458fe74bd1 22-Oct-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get better performance."

This reverts commit r11904

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11909 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
ad254fee73ad70a45acba69dccb9b65f88c3a92a 22-Oct-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get better performance.

Committed: http://code.google.com/p/skia/source/detail?r=11842

R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11904 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
c2cc1dbe818c8a5a699fbe18c4fc79b9d93daa94 17-Oct-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert r11842 (call drawRect to try GrAARectRenderer if the path is a rect - https://codereview.chromium.org/23484007) due to changes to the following GM images:

inverse_paths
pathopsinverse




git-svn-id: http://skia.googlecode.com/svn/trunk@11845 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
521a46750d87d3d206617d05d917ad6aad242ca4 17-Oct-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get better performance.

R=bsalomon@google.com, robertphillips@google.com, reed@google.com

Author: yunchao.he@intel.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11842 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
adacc7067ad617cdc7bbef39192ca80f4b4d27f9 14-Oct-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Start cleaning up 64bit Win warnings

https://codereview.chromium.org/27192003/



git-svn-id: http://skia.googlecode.com/svn/trunk@11764 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
1f2f338e23789f3eef168dcbd8171a28820ba6c1 29-Aug-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Split SkDevice into SkBaseDevice and SkBitmapDevice

https://codereview.chromium.org/22978012/



git-svn-id: http://skia.googlecode.com/svn/trunk@10995 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
9b051a375ba6d6b61cea98f35834cd032aaa5347 20-Aug-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert r10830 (Split SkDevice out of SkRasterDevice) until we can get Chromium ready.



git-svn-id: http://skia.googlecode.com/svn/trunk@10835 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
3055b700189afdd02486ed8f2279cea1d8897243 20-Aug-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Split SkDevice out of SkBitmapDevice

https://codereview.chromium.org/22978012/



git-svn-id: http://skia.googlecode.com/svn/trunk@10830 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
eed779d866e1e239bfb9ebc6a225b7345a41adf9 16-Aug-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> This CL plumbs in the drawBitmapRectToRect "bleed" flag and makes it live on the simplest GPU path.

R=bsalomon@google.com, reed@google.com, edisonn@google.com, scroggo@google.com, jvanverth@google.com, mtklein@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10765 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
cb6222499625e78190a58e5a7df3ef8cc8e40f7a 09-Aug-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Removing deprecated constructors and setDevice from SkDeferredCanvas

R=senorblanco@google.com, senorblanco@chromium.org
BUR=crbug.com/270143

Author: junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10657 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
ea4b7970b9513d5ac3786ceab33a855b0b1b8577 06-Aug-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@10554 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
44324fae1c231bf262af24fc7f8a0f489ae5a490 02-Aug-2013 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fixing SkDeferredCanvas::writePixels to trigger appropriate change notifications to SkSurface

BUG=crbug.com/256269
TEST=DeferredCanvas unit test, TestDeferredCanvasWritePixelsToSurface
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10513 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
9bf380ce7f848dfb5886dd52b82746521454b739 25-Jul-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> drawBitmap* cleanup

https://codereview.chromium.org/19977003/



git-svn-id: http://skia.googlecode.com/svn/trunk@10342 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
3e2ea2565d12e572a977fa04b4b1996c8eb3fefc 23-Jul-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> I don't want these changes as part of the "allow bleeding" CL.

R=bsalomon@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10256 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
b8d00db075b5ea09e353508a26ef5ced50722a6c 26-Jun-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Change undefined SkGpuRenderTarget and SkGpuTexture forward declares to GrRenderTarget and GrTexture.

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

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9775 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
435401d38606e9b5b747890da23fd46d7c464ccd 28-May-2013 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Build fix

TBR=reed

git-svn-id: http://skia.googlecode.com/svn/trunk@9299 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
66070a527c480d1cef5f7f7136f68d4f17b68f06 28-May-2013 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Changing SkDeferredCanvas to use factories for creation

The objective of this change is to remove all calls to
SkCanvas::setDevice. The factory API is hidden behind
a build flag in order to ease the roll into chromium.

A side-effect of the factory pattern is that it will
no longer be possible to allocate a SkDeferredCanvas on
the stack. This changes nothing for chrome, but it
impacts skia test programs.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9298 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
7070f76b90b098b4713bc0d13dc129adea64d7ef 24-May-2013 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Adding setSurface public API method to SkDeferredCanvas

The purpose of this change is to provide an API that Blink 2D canvas layers can use
to install a new render target when recovering from a lost graphics context.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9276 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
b1c725a108f57ac186542b43de80fa651a4dddba 21-May-2013 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fixing deferred canvases so that they do not return deferred devices on createCompatibleDevice

TEST= DeferredCanvas unit test.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9224 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
c4c9870953037be94da00ac9db887d171f6e479c 22-Apr-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/utils/SkDeferredCanvas.cpp
9becf0090f9c1c14f42d161b9a1fb3af142f9420 15-Apr-2013 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/utils/SkDeferredCanvas.cpp
5ee449af7448c202cfc6e9a359d8f996392885b2 12-Apr-2013 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fixing viral copy/paste typo Shapshot -> Snapshot

Unreviewed

git-svn-id: http://skia.googlecode.com/svn/trunk@8667 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
67d74228448cab0f1eca77fff444ddbe8c2eaef3 12-Apr-2013 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/utils/SkDeferredCanvas.cpp
baa0220dfddda3cd44f0ffb5f95a4a60443eb8c3 24-Jan-2013 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Move code in isPaintOpaque from SkDeferredCanvas.cpp to SkPaintPriv

The purpose of this code move is to make it re-usable in order to implement
occlusion culling optimizations in SkPicture similar to what we have now
in SkDeferredCanvas.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@7361 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
532470f34dbe9fc0b8b71e3917eca8894feaf336 22-Jan-2013 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Expose geometry and gamma on device.
https://codereview.appspot.com/6499101/


git-svn-id: http://skia.googlecode.com/svn/trunk@7317 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
140d7286c5a40058932696eaa28818c313bd2ddf 07-Jan-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> fix warnings
Review URL: https://codereview.appspot.com/7073044

git-svn-id: http://skia.googlecode.com/svn/trunk@7064 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
8f0ca06ef44f7b94da549fbb0c5fab27092c5116 13-Dec-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fixing clip region test in deferred canvas, used to determine whether a draw operation occludes the entire canvas.

BUG=http://code.google.com/p/chromium/issues/detail?id=164580
TEST=unit test DeferredCanvas/TestDeferredCanvasFreshFrame
Review URL: https://codereview.appspot.com/6934045

git-svn-id: http://skia.googlecode.com/svn/trunk@6780 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
306ab9d5de38f2a547fd1d69aedbe69b5c6617cc 13-Dec-2012 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@6774 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
4ed0fb768409bf97b79899c3990d8c15f5e9d784 12-Dec-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> revert 6766, thereby re-landing 6762-6763 now that the bots are ready



git-svn-id: http://skia.googlecode.com/svn/trunk@6770 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
25c1408c3da9ca90509b84f21a1161ef40052bd1 12-Dec-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> revert 6762-6763, since those require new skps to be generated, and we can't
do that immediately right now... will re-submit when we can.



git-svn-id: http://skia.googlecode.com/svn/trunk@6766 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
68d61ed83ec7b6e98e9623c2f5c9e7b1a32d25bb 12-Dec-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> make RRect and Oval first-class drawing primitives in SkCanvas.
add RRect as a first-class clip primitive.
Review URL: https://codereview.appspot.com/6923058

git-svn-id: http://skia.googlecode.com/svn/trunk@6762 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
5347de16116e7b8aaa7d06696fbaa37ffc08899c 21-Nov-2012 sugoi@google.com <sugoi@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Simple change to remove unnecessary #define statement.

BUG=http://code.google.com/p/chromium/issues/detail?id=137924
TEST=TestDeferredCanvasBitmapSizeThreshold unit test
Review URL: https://codereview.appspot.com/6845071

git-svn-id: http://skia.googlecode.com/svn/trunk@6531 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
7775fd5779e632d6f5724e0e5d39ed347cf965b0 21-Nov-2012 sugoi@google.com <sugoi@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Deferred canvas can now be flushed if an image is beyond a certain size to avoid a costly image copy.

BUG=http://code.google.com/p/chromium/issues/detail?id=137924
TEST=TestDeferredCanvasBitmapSizeThreshold unit test
Review URL: https://codereview.appspot.com/6852071

git-svn-id: http://skia.googlecode.com/svn/trunk@6527 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
d4501a0aba2541489c32c89426bbfc59ed945da2 30-Oct-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Eliminating implicit conversion from enum to bool. Fixes compiler warning
Review URL: https://codereview.appspot.com/6819053

git-svn-id: http://skia.googlecode.com/svn/trunk@6206 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
8cef67aada2e8776a6741dce6211dc77fc9272df 11-Oct-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fixing SkDeferredCanvas to not consider paint as opaque when xfermode source coeff depends
on destination pixel value

TEST=DeferredCanvas unit test
BUG=http://code.google.com/p/chromium/issues/detail?id=154748



git-svn-id: http://skia.googlecode.com/svn/trunk@5907 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
a6926b1f0352916c31cda66f2239a25d52f09315 10-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Reland r5861 but leave setMatrixClip virtual on SkDevice (IOW this is a partial revert of r5871 which reverted r5861).

Unreviewed
Review URL: https://codereview.appspot.com/6631062

git-svn-id: http://skia.googlecode.com/svn/trunk@5881 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
3fffb2ee9fa01ae61efb2395973eb7575eda4c96 10-Oct-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Reverting r5861 (remove gainfocus and setMatixClip) due to Chrome compilation issues



git-svn-id: http://skia.googlecode.com/svn/trunk@5871 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
a1c3d78f224874833920c8017f4287a3ec538779 09-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove gainFocus() and setMatrixClip() virtuals from SkDevice.

R=reed@google.com,robertphillips@google.com
Review URL: https://codereview.appspot.com/6636050

git-svn-id: http://skia.googlecode.com/svn/trunk@5861 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
52a00cac514dfd9cedb85a9c3e92fdb3e32a03f7 01-Oct-2012 junov@google.com <junov@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Adding virtual method to SkDeferredCanvas::NotificationClient for signaling when commands are skipped due to the skip on clear optimization.

TEST=DeferredCanvas unit test
BUG=http://code.google.com/p/chromium/issues/detail?id=116840
Review URL: https://codereview.appspot.com/6590050

git-svn-id: http://skia.googlecode.com/svn/trunk@5747 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
a38dfb6981379770221b16b5ec036b08f3005973 21-Sep-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Adding hasPendingCommands API method to SkDeferredCanvas

BUG=http://code.google.com/p/chromium/issues/detail?id=146178
Review URL: https://codereview.appspot.com/6550050

git-svn-id: http://skia.googlecode.com/svn/trunk@5632 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
eeaf47f638dbab2cbe3306e099d93dc6244b25a5 20-Sep-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fixing how deferred canvas purges itself when a clear is recoreded.

This fixes performance because the old code was not reconstructing the clip
state correctly. This was causing a major performance degradation in the
Galactic IE testdrive demo. This fix also enbles the purge
on clear optimization when there is saved state on the matrix/clip stack.
The approach taken to solve the problem consists in purging by running the
playback silently. The previous approach was tearing down and
restarting the gpipe, which required reconstructing state, which is fragile
and hard to do correctly, and has the side effect of clearing the bitmap heap
and the flattened dictionary.

Note: This CL is expected to slightly degrade performance of the
deferred_canvas_record bench, which uses the skip on clear optimization.
This is because a silent playback takes more time that just destroying
the SkGPipe. Correctness trumps performance.

BUG=http://code.google.com/p/chromium/issues/detail?id=146178
Review URL: https://codereview.appspot.com/6531048

git-svn-id: http://skia.googlecode.com/svn/trunk@5627 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
fb10389403cf1cc771e103016207fde84c5f4825 20-Sep-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Adding a silent playback option to SkGPipeRead
Testing state consistency after silent playback in CanvasTest indirectly
through SkDeferredCanvas.

BUG=http://code.google.com/p/chromium/issues/detail?id=146178
TEST=CanvasTest unit test, and bench with --mode deferredSilent
Review URL: https://codereview.appspot.com/6542047

git-svn-id: http://skia.googlecode.com/svn/trunk@5619 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
0a67f964b3ed6046303655ced757be7c0f2c060c 20-Sep-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Renaming a couple methods in SkDeferredCanvas.cpp to improve readability
Review URL: https://codereview.appspot.com/6536060

git-svn-id: http://skia.googlecode.com/svn/trunk@5599 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
7112173c3c4cd1b1e7da8cdf971d71f01dd91299 18-Sep-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> re-re-land 5578

will follow w/ new .skp files to keep the waterfall green (I hope)



git-svn-id: http://skia.googlecode.com/svn/trunk@5584 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
10f9f4a844c8d5260c0a02df94b940b6abf66b0d 18-Sep-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> revert 5580



git-svn-id: http://skia.googlecode.com/svn/trunk@5581 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
eab16dea1ce249dc8e4dc635cd76b6b1b7d0cc98 18-Sep-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> re-land 5578 w/ pipe fix



git-svn-id: http://skia.googlecode.com/svn/trunk@5580 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
c75c36a14b5dcc0dd5a82651d41792278cb27326 18-Sep-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> revert 5578 -- broke pipe



git-svn-id: http://skia.googlecode.com/svn/trunk@5579 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
f1ab723033a186dc53434104a636c2dfac5fc863 18-Sep-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Change drawBitmapRect to take a float-src-rect instead of integer-src-rect. This
allows the client more control over the scaling. Because of virtual overrides
and wanting to keep the old call-sites up and running, this CL renames the
virtual entry-point to drawBitmapRectToRect, and downgrades drawBitmapRect to
a non-virtual helper function.

The implementation is to use the float-rect for computing the matrix, but still
cons-up an integer rect for the purposes of subsetting the original bitmap. We
do this by calling float_src->roundOut(&int_src) so that we include all
(partially) covered src pixels.

No change needed on SkDevice, since that signature is explicitly passed the
computed matrix.
Review URL: https://codereview.appspot.com/6501140

git-svn-id: http://skia.googlecode.com/svn/trunk@5578 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
100abf49e10544bc4f436bf1f38e6929779621f4 05-Sep-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Shut up some Mac (xcode 3) warnings

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



git-svn-id: http://skia.googlecode.com/svn/trunk@5402 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
d6176b0dcacb124539e0cfd051e6d93a9782f020 23-Aug-2012 rmistry@google.com <rmistry@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/)

This CL is part II of IV (I broke down the 1280 files into 4 CLs).
Review URL: https://codereview.appspot.com/6474054

git-svn-id: http://skia.googlecode.com/svn/trunk@5263 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
52805485581cff7e13134aa1465a2950f7bed007 20-Aug-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Stop refcounting SkDeferredCanvas::NotificationClient

User code (i.e. WebKit) is now responsible for the lifetime scope of the notification client.
With http://trac.webkit.org/changeset/125804 skia-side ref counting has become unnecessary and undesirable.
Review URL: https://codereview.appspot.com/6443146

git-svn-id: http://skia.googlecode.com/svn/trunk@5169 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
d433c4eb6765c1f4654f761e3aad14b9922f44cd 17-Aug-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Cleaning up deprecated API in SkDeferredCanvas
Review URL: https://codereview.appspot.com/6461077

git-svn-id: http://skia.googlecode.com/svn/trunk@5152 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
a8db8fe39a640bda4b85b9342c3b6b2525142afa 15-Aug-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fixing a deferred canvas optimization that purges pending draws when the canvas is cleared

It appears that the recording canvas returns a save count of 1 when the save stack is empty.
In order to pass Canvas unit tests when a clear occurs, changes to SkGPipe were necessary
to allow SkDeferredCanvas to set the device bounds on the SkGPipeCanvas. A positive
side effect of this change is that graphics primitives that fall outside of the device
bounds will now always be culled at the recording stage (as opposed playback).

BUG=http://code.google.com/p/skia/issues/detail?id=782
TEST=deferred_canvas_record bench test
Review URL: https://codereview.appspot.com/6454157

git-svn-id: http://skia.googlecode.com/svn/trunk@5117 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
9ed02b9da25a76ee4c73c1ab19c18b899a223a17 14-Aug-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Augmenting SkDeferredCanvas notification interface to signal flushes and memory allocations
Renamed SkDeferredCanvas::DeviceContext to SkDeferredCanvas::NotificationClient

BUG=http://code.google.com/p/chromium/issues/detail?id=136828
TEST=Added coverage for new API to DeferredCanvas unit test. Added DeferredCanvas bench test to track deferred canvas overhead cost.
Review URL: https://codereview.appspot.com/6442108

git-svn-id: http://skia.googlecode.com/svn/trunk@5078 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
88e29146c1efc5ff8eec06076c9dce12684f2c11 07-Aug-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Moving DeferredDevice and DeferredGPipeController classes out of the deferred canvas API header
Review URL: https://codereview.appspot.com/6449104

git-svn-id: http://skia.googlecode.com/svn/trunk@4989 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
9060c9bae9dc895ffe73adefccbc896d2973882d 07-Aug-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Style correction: sprinkling "this->" in SkDeferredCanvas.cpp

Unreviewed.

git-svn-id: http://skia.googlecode.com/svn/trunk@4976 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
3de7acc180e37c7c513f2b3425bd4616ea47fa57 07-Aug-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Removing the SkPicture backend from SkDeferredCanvas code
Review URL: https://codereview.appspot.com/6446095

git-svn-id: http://skia.googlecode.com/svn/trunk@4974 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
2e14ba8ceb41c68042ff133fecf0561a2c22efca 07-Aug-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Adding API to SkGPipe and SkDeferredCanvas for controlling memory usage externally

BUG=http://code.google.com/p/chromium/issues/detail?id=136828
Review URL: https://codereview.appspot.com/6454102

git-svn-id: http://skia.googlecode.com/svn/trunk@4971 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
10f7f97d4213a251d63fcfcfd6e55b7b528d949a 31-Jul-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Prevent deferred canvases from recording draw operations that use an SkPaint object that indirectly references a GPU resource.
The specific case targeted by this patch is SkBitmapProcShaders that use an SkBitmap object that references a GPU texture.

BUG=http://code.google.com/p/chromium/issues/detail?id=139204
Review URL: https://codereview.appspot.com/6447068

git-svn-id: http://skia.googlecode.com/svn/trunk@4871 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
7dade42e6f2e35dd27b4090fd7894322d755d4db 27-Jul-2012 djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Always store pixels of mutable bitmaps when recording a SkPicture.

Prior to this CL mutable bitmaps only saved a copy of their pixels
if a flag was set at recording time. That flag has been removed
and the default behavior when recording a mutable bitmap is to
make a copy of it's pixels. This is the only way to ensure that
the pixels are not manipulated before we playback their contents.

However, enabling this behavior breaks the recording of extracted
bitmaps in SkPicture. This is because we currently cache bitmaps
within a picture based only on their pixelRef. This results in
false positive cache hit when drawing an extracted bitmap as it
shares a pixelRef with its orginating bitmap. Therefore we must
update the index of the bitmap cache to be both the pixelRef AND
the size and offset of the bitmap using those pixels.

BUG=
TEST=extractbitmap.cpp

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4809 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
15011ee5e4068ab6523e432e435473a822ee7d80 26-Jul-2012 scroggo@google.com <scroggo@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Make SkDeferredCanvas query SkGPipeWriter for space allocated for bitmaps.

SkGPipe now has a method to report how much memory is used for its shared heap.

BUG=http://code.google.com/p/skia/issues/detail?id=738
TEST=DeferredCanvasTest

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4791 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
09640d6bac2fc42e012b3ed6cdce5962f4e186fe 25-Jul-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fixing canvas writePixels malfunctioning with SkDeferredCanvas with SkGPipe backend and GPU rendering

BUG=http://code.google.com/p/chromium/issues/detail?id=138935
Review URL: https://codereview.appspot.com/6450045

git-svn-id: http://skia.googlecode.com/svn/trunk@4769 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
b10a6bd0a7df0ceeea0d53585c049450ec58b4b9 25-Jul-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/utils/SkDeferredCanvas.cpp
bfeddae9da240693441556b2f278827e213f75e8 23-Jul-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/utils/SkDeferredCanvas.cpp
77eec248cbd5a0c2f5f8595e62e3bff5ea363f17 18-Jul-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/utils/SkDeferredCanvas.cpp
d7dbd423f2188eeecb6b18e9253c0335ca068e17 03-Jul-2012 scroggo@google.com <scroggo@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Ensure that SkDeferredCanvas::onCreateCompatibleDevice unrefs its temp device.

Also update my GM to use createCompatibleDevice.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4450 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
563a3b410269a987b70204d0aa44a0de3a1f0f61 26-Jun-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> more SkInstCnt plumbing
fix some typeface leaks



git-svn-id: http://skia.googlecode.com/svn/trunk@4348 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
4866cc0afb7571309d9fdecb221d919f663054c0 01-Jun-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Adding option to serialize mutable bitmaps in SkPicture

BUG=http://code.google.com/p/chromium/issues/detail?id=115654
REVIEW=http://codereview.appspot.com/6221066/



git-svn-id: http://skia.googlecode.com/svn/trunk@4130 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
5e5a095a94281167056da707b03930f135748d71 28-Feb-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> reverting r3268 because of test failures



git-svn-id: http://skia.googlecode.com/svn/trunk@3270 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
1c70074ffa81dd62a47954ed90f3a91aab71c895 28-Feb-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> build fix



git-svn-id: http://skia.googlecode.com/svn/trunk@3269 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
feba6899179a2fe27edc90a383b1d7dfc261c1e9 28-Feb-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> SkDeferredCanvas, performance: small refactor to remove unnecessary conditional branches on all canvas API calls

REVIEW=http://codereview.appspot.com/5700086/



git-svn-id: http://skia.googlecode.com/svn/trunk@3268 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
c16ca92fd1ca609eb2902d14727bec78848ba767 24-Feb-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Coding style corrections in SkDeferredCanvas.cpp: brace placement, 80col, etc.

unreviewed.



git-svn-id: http://skia.googlecode.com/svn/trunk@3262 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
a907ac3e3e3458fbb5d673c3feafb31fd7647b38 24-Feb-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Modify SkDeferredCanvas so that it uses its inherited SkCanvas to track matrix and clipping state
Removed 'virtual' from a few canvas methods that no longer need it thanks to this change.

BUG=http://code.google.com/p/skia/issues/detail?id=506
TEST=Canvas unit test
REVIEW=http://codereview.appspot.com/5697052/



git-svn-id: http://skia.googlecode.com/svn/trunk@3261 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
0b5b0ce39cea3e0eb83c70278b40fa52b3c5870d 24-Feb-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> reverting r3257 because of gm failure.



git-svn-id: http://skia.googlecode.com/svn/trunk@3258 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
421bcc375af0616c37a59b0508957ab54d8f6d12 24-Feb-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Modify SkDeferredCanvas so that it uses its inherited SkCanvas to track matrix and clipping state
Removed 'virtual' from a few canvas methods that no longer need it thanks to this change.

BUG=http://code.google.com/p/skia/issues/detail?id=506
TEST=Canvas unit test
REVIEW=http://codereview.appspot.com/5697052/



git-svn-id: http://skia.googlecode.com/svn/trunk@3256 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
87f982c80833eeebf541becec8e27b96c8c889f7 23-Feb-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix for crash in SkDeferredCanvas when optional SkPaint argument is NULL

BUG=http://code.google.com/p/skia/issues/detail?id=505
TEST=Canvas unit test
REVIEW=http://codereview.appspot.com/5699054/



git-svn-id: http://skia.googlecode.com/svn/trunk@3246 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
b1e218e782261304440199642f1b98e7ba96b525 13-Feb-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Adding missing SkIntToScalar to resolve DeferredCanvas unit test failures with fixed-point build

TBR=reed
TEST=DeferredCanvas unit test



git-svn-id: http://skia.googlecode.com/svn/trunk@3182 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
8f9ecbd3466d4330886b4c23b06e75b468c795ad 13-Feb-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Adding API and unit testing for deferred canvas clearing/purging

REVIEW=http://codereview.appspot.com/5646057/
TEST=DeferredCanvas unit test



git-svn-id: http://skia.googlecode.com/svn/trunk@3181 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
1f9767c03bad1ef85e5388d84e23e4b5dff4bc1a 07-Feb-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fixing backing store access in SkDeferredCanvas.
Chromium CL required for rolling skia DEPS past this change is posted here: https://chromiumcodereview.appspot.com/9341003/

BUG=http://code.google.com/p/skia/issues/detail?id=475
REVIEW=http://codereview.appspot.com/5626047/
TEST=DeferredCanvas unit test



git-svn-id: http://skia.googlecode.com/svn/trunk@3147 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
2c23708e4478a83dcded2e9d5672bc57ee016919 03-Feb-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Removing some dead code in SkDeferredCanvas

REVIEW=http://codereview.appspot.com/5620062/



git-svn-id: http://skia.googlecode.com/svn/trunk@3140 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
bf6c1e4aff4d233f6502157fb73459cf69d0ab37 30-Jan-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Adding a flush method to SkCanvas

BUG=http://code.google.com/p/skia/issues/detail?id=467
REVIEW=http://codereview.appspot.com/5600044/
TEST=gm uses the new code path on all its test cases



git-svn-id: http://skia.googlecode.com/svn/trunk@3102 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp
4370aedf7f55af74e9ebb4ad1c2e010c08236dfa 18-Jan-2012 junov@google.com <junov@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Adding class SkDeferredCanvas for deferred rendering.

TEST=added a new pass to gm, so all gm tests are run through SkDeferredCanvas
REVIEW=http://codereview.appspot.com/5430058/



git-svn-id: http://skia.googlecode.com/svn/trunk@3059 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/utils/SkDeferredCanvas.cpp