History log of /external/skia/src/core/SkRecorder.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b7ed856fadae52401d3bbcac22cfc3391780ace8 08-May-2015 reed <reed@chromium.org> Revert of Sketch splitting SkPicture into an interface and SkBigPicture. (patchset #22 id:420001 of https://codereview.chromium.org/1112523006/)

Reason for revert:
speculative revert to fix failures in DEPS roll

Original issue's description:
> Sketch splitting SkPicture into an interface and SkBigPicture.
>
> Adds small pictures for drawRect(), drawTextBlob(), and drawPath().
> These cover about 89% of draw calls from Blink SKPs,
> and about 25% of draw calls from our GMs.
>
> SkPicture handles:
> - serialization and deserialization
> - unique IDs
>
> Everything else is left to the subclasses:
> - playback(), cullRect()
> - hasBitmap(), hasText(), suitableForGPU(), etc.
> - LayerInfo / AccelData if applicable.
>
> The time to record a 1-op picture improves a good chunk
> (2 mallocs to 1), and the time to record a 0-op picture
> greatly improves (2 mallocs to none):
>
> picture_overhead_draw: 450ns -> 350ns
> picture_overhead_nodraw: 300ns -> 90ns
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c92c129ff85b05a714bd1bf921c02d5e14651f8b

TBR=reed@google.com,robertphillips@google.com,mtklein@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1130333002
/external/skia/src/core/SkRecorder.h
c92c129ff85b05a714bd1bf921c02d5e14651f8b 07-May-2015 mtklein <mtklein@chromium.org> Sketch splitting SkPicture into an interface and SkBigPicture.

Adds small pictures for drawRect(), drawTextBlob(), and drawPath().
These cover about 89% of draw calls from Blink SKPs,
and about 25% of draw calls from our GMs.

SkPicture handles:
- serialization and deserialization
- unique IDs

Everything else is left to the subclasses:
- playback(), cullRect()
- hasBitmap(), hasText(), suitableForGPU(), etc.
- LayerInfo / AccelData if applicable.

The time to record a 1-op picture improves a good chunk
(2 mallocs to 1), and the time to record a 0-op picture
greatly improves (2 mallocs to none):

picture_overhead_draw: 450ns -> 350ns
picture_overhead_nodraw: 300ns -> 90ns

BUG=skia:

Review URL: https://codereview.chromium.org/1112523006
/external/skia/src/core/SkRecorder.h
98b8485a4cc911420e20af2670d21a5478a06264 22-Apr-2015 mtklein <mtklein@chromium.org> O(1) SkPictureUtils::ApproxBytesUsed()

Chrome wants to call this more often, and it's quite slow today.

Seems like this could be clearer if SkPictureUtils::ApproxBytesUsed() were SkPicture::approxBytesUsed().

BUG=chromium:471873

Review URL: https://codereview.chromium.org/1090943004
/external/skia/src/core/SkRecorder.h
feaadee1c38e1d4e1ec0069a3509ef6fbc5fbeff 08-Apr-2015 mtklein <mtklein@chromium.org> SkCanvas::resetForNextPicture()

No diffs against head for DM --config 8888 gpu 2ndpic-8888 2ndpic-gpu.

picture_overhead_draw 1.62us -> 1.6us 0.99x
picture_overhead_nodraw 792ns -> 342ns 0.43x

tiles and serialization modes will also test this a bit.

BUG=chromium:470553

Committed: https://skia.googlesource.com/skia/+/f920e468ac66a36c9653d1b11181480295044c7d

Review URL: https://codereview.chromium.org/1067893002
/external/skia/src/core/SkRecorder.h
c654e9016a15985ebeb24f94f819d113ad48a251 08-Apr-2015 mtklein <mtklein@google.com> Revert of SkCanvas::resetForNextPicture() (patchset #4 id:60001 of https://codereview.chromium.org/1067893002/)

Reason for revert:
https://uberchromegw.corp.google.com/i/client.skia/builders/Linux%20Tests/builds/1816

Original issue's description:
> SkCanvas::resetForNextPicture()
>
> No diffs against head for DM --config 8888 gpu 2ndpic-8888 2ndpic-gpu.
>
> picture_overhead_draw 1.62us -> 1.6us 0.99x
> picture_overhead_nodraw 792ns -> 342ns 0.43x
>
> tiles and serialization modes will also test this a bit.
>
> BUG=chromium:470553
>
> Committed: https://skia.googlesource.com/skia/+/f920e468ac66a36c9653d1b11181480295044c7d

TBR=mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:470553

Review URL: https://codereview.chromium.org/1062353002
/external/skia/src/core/SkRecorder.h
f920e468ac66a36c9653d1b11181480295044c7d 07-Apr-2015 mtklein <mtklein@chromium.org> SkCanvas::resetForNextPicture()

No diffs against head for DM --config 8888 gpu 2ndpic-8888 2ndpic-gpu.

picture_overhead_draw 1.62us -> 1.6us 0.99x
picture_overhead_nodraw 792ns -> 342ns 0.43x

tiles and serialization modes will also test this a bit.

BUG=chromium:470553

Review URL: https://codereview.chromium.org/1067893002
/external/skia/src/core/SkRecorder.h
36352bf5e38f45a70ee4f4fc132a38048d38206d 26-Mar-2015 mtklein <mtklein@chromium.org> C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}

NOPRESUBMIT=true

BUG=skia:
DOCS_PREVIEW= https://skia.org/?cl=1037793002

Review URL: https://codereview.chromium.org/1037793002
/external/skia/src/core/SkRecorder.h
3cb3840c9af6f70896cf5565a38d4ee03c02d767 06-Feb-2015 reed <reed@google.com> Rename SkCanvasDrawable to SkDrawable, and make public

(patchset #2 id:20001 of https://codereview.chromium.org/903993002/)"

This reverts commit c4e87724920222a218f31b22612efc5b1ec0ed6c.

BUG=skia:
TBR=
NOTREECHECKS=True

Review URL: https://codereview.chromium.org/898343004
/external/skia/src/core/SkRecorder.h
c4e87724920222a218f31b22612efc5b1ec0ed6c 06-Feb-2015 reed <reed@google.com> Revert of rename SkCanvasDrawable to SkDrawable, and make public (patchset #2 id:20001 of https://codereview.chromium.org/903993002/)

Reason for revert:
bug in gyp

Original issue's description:
> rename SkCanvasDrawable to SkDrawable, and make public
>
> BUG=skia:
> NOTRY=True
> ... winbuilder flake
>
> Committed: https://skia.googlesource.com/skia/+/4ae9eb7463cf2160723407359608f221c0d5e2a6

TBR=robertphillips@google.com,djsollen@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/882853006
/external/skia/src/core/SkRecorder.h
4ae9eb7463cf2160723407359608f221c0d5e2a6 06-Feb-2015 reed <reed@google.com> rename SkCanvasDrawable to SkDrawable, and make public

BUG=skia:
NOTRY=True
... winbuilder flake

Review URL: https://codereview.chromium.org/903993002
/external/skia/src/core/SkRecorder.h
41af966ab338e95eee81ab618ab28195075338f7 05-Jan-2015 reed <reed@google.com> Revert of Revert of move remaining virtual draw methods to onDraw (patchset #1 id:1 of https://codereview.chromium.org/835913002/)

Reason for revert:
test to see if it wasn't this CL that broke chromeos

Original issue's description:
> Revert of move remaining virtual draw methods to onDraw (patchset #5 id:80001 of https://codereview.chromium.org/817723005/)
>
> Reason for revert:
> did this cause chromeos heap corruption on skp?
>
> Original issue's description:
> > move remaining virtual draw methods to onDraw
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/2e0f7d53bba5438c9bf11ee5ccae2c301e348419
>
> TBR=robertphillips@google.com,djsollen@google.com,bsalomon@google.com,mtklein@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/e87e383351e1547b21d96d02bcd0c3cbbe0837f1

TBR=robertphillips@google.com,djsollen@google.com,bsalomon@google.com,mtklein@google.com,reed@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/831253002
/external/skia/src/core/SkRecorder.h
e87e383351e1547b21d96d02bcd0c3cbbe0837f1 05-Jan-2015 reed <reed@chromium.org> Revert of move remaining virtual draw methods to onDraw (patchset #5 id:80001 of https://codereview.chromium.org/817723005/)

Reason for revert:
did this cause chromeos heap corruption on skp?

Original issue's description:
> move remaining virtual draw methods to onDraw
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/2e0f7d53bba5438c9bf11ee5ccae2c301e348419

TBR=robertphillips@google.com,djsollen@google.com,bsalomon@google.com,mtklein@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/835913002
/external/skia/src/core/SkRecorder.h
2e0f7d53bba5438c9bf11ee5ccae2c301e348419 05-Jan-2015 reed <reed@chromium.org> move remaining virtual draw methods to onDraw

BUG=skia:

Review URL: https://codereview.chromium.org/817723005
/external/skia/src/core/SkRecorder.h
c4fda92f45b9649f233a5b8636618a6431aa59cb 02-Jan-2015 reed <reed@chromium.org> remove unused drawData

BUG=skia:

Review URL: https://codereview.chromium.org/830083002
/external/skia/src/core/SkRecorder.h
3fcc125c776c837aa858598ce385f5c6f8f01795 15-Dec-2014 junov <junov@chromium.org> Remove SkCanvas::isDrawingToLayer

BUG=3245

Review URL: https://codereview.chromium.org/803913005
/external/skia/src/core/SkRecorder.h
f0f14113431ace669f278fdd97b50950f2cf4c80 12-Dec-2014 mtklein <mtklein@chromium.org> Cull pushCull and popCull from Skia.

These calls are unused and going away. Waiting on crrev.com/796083002.

BUG=skia:

Review URL: https://codereview.chromium.org/794263002
/external/skia/src/core/SkRecorder.h
c54d8db4d169ea5f2af2a9a2349df007bd428475 10-Dec-2014 Florin Malita <fmalita@google.com> Remove SkCanvas::drawBitmapMatrix()

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

Review URL: https://codereview.chromium.org/789033002
/external/skia/src/core/SkRecorder.h
8eddfb50c0c9e4bcba6384a2ce39852b5fb5becb 04-Dec-2014 reed <reed@google.com> Change clear() to respect the clip

This reverts commit af641a1c10f176cb9617026d3cc93c117a85d13d.

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/783493002
/external/skia/src/core/SkRecorder.h
af641a1c10f176cb9617026d3cc93c117a85d13d 03-Dec-2014 reed <reed@chromium.org> Revert "Change clear() to respect the clip"

This reverts commit 3729469d6a12266037b697c2192768545e097ab0.

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/778563002
/external/skia/src/core/SkRecorder.h
3729469d6a12266037b697c2192768545e097ab0 02-Dec-2014 reed <reed@google.com> Change clear() to respect the clip

patch from issue 769703002 at patchset 1 (http://crrev.com/769703002#ps1)

BUG=skia:

Review URL: https://codereview.chromium.org/772533004
/external/skia/src/core/SkRecorder.h
1bdfd3f4f09e47364f76d3f08177b1ce844ac786 24-Nov-2014 reed <reed@google.com> option to return drawable from recording

patch from issue 747033005 at patchset 80001 (http://crrev.com/747033005#ps80001)

BUG=skia:

Review URL: https://codereview.chromium.org/732653004
/external/skia/src/core/SkRecorder.h
b7ee349f108040fbd5cb71d891d5b74a1843b0bc 21-Nov-2014 mtklein <mtklein@chromium.org> SkData -> SkPicture::SnapshotArray

Restores type safety with all the same features.

(Also note, less code: 29 insertions, 50 deletions.)

BUG=skia:

Review URL: https://codereview.chromium.org/746553002
/external/skia/src/core/SkRecorder.h
78e276889795454891cbba48ab11927968114953 19-Nov-2014 reed <reed@google.com> Allow pictures to have a full bounds

This reverts commit 7c4cdd2c5b7b6c71fa0e7612594f7885f2dbf264.

BUG=skia:

Review URL: https://codereview.chromium.org/738083002
/external/skia/src/core/SkRecorder.h
7c4cdd2c5b7b6c71fa0e7612594f7885f2dbf264 19-Nov-2014 reed <reed@google.com> Revert of allow pictures to have a full bounds (patchset #3 id:40001 of https://codereview.chromium.org/736583004/)

Reason for revert:
needed to update legacy width() helpers

Original issue's description:
> allow pictures to have a full bounds
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/7e76bff26e7c74902841ca4f607eb0b24a833a4a

TBR=fmalita@google.com,mtklein@google.com,robertphillips@google.com,fmalita@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/722043005
/external/skia/src/core/SkRecorder.h
7e76bff26e7c74902841ca4f607eb0b24a833a4a 19-Nov-2014 reed <reed@google.com> allow pictures to have a full bounds

BUG=skia:

Review URL: https://codereview.chromium.org/736583004
/external/skia/src/core/SkRecorder.h
6be2aa9a251bf6022570a03140f956655b3ef1da 18-Nov-2014 reed <reed@google.com> wip for drawables

Idea:

1. in its mutable recording state, keep a table of drawables on the side, and store an index in the record list.

2. In "immediate-mode" draw, just call the clients drawable directly (need access to our private list to turn the stored index into a proc)

3. when we "snap", we replace the list of drawables with a list of (sub) pictures, and then during playback of the snapped picture, we invoke a private drawable which just calls "drawPicture" on the index'd subpicture.

Review URL: https://codereview.chromium.org/727363003
/external/skia/src/core/SkRecorder.h
65151754b9fdb6a968d7307764c20655d1b680a0 16-Oct-2014 piotaixr <piotaixr@chromium.org> Override SkCanvas::drawImage() in SkRecorder.

BUG=skia:2947

Review URL: https://codereview.chromium.org/610003002
/external/skia/src/core/SkRecorder.h
4a8126e7f81384526629b1e21bf89b632ea13cd9 22-Sep-2014 reed <reed@google.com> Introduce Props to surface (patchset #27 id:520001 of https://codereview.chromium.org/551463004/)"

This reverts commit 29c857d0f3a1cb837f73406eeb6ba9771879b5e7.

TBR=

Author: reed@google.com

Review URL: https://codereview.chromium.org/588143004
/external/skia/src/core/SkRecorder.h
29c857d0f3a1cb837f73406eeb6ba9771879b5e7 21-Sep-2014 reed <reed@chromium.org> Revert of introduce Props to surface (patchset #27 id:520001 of https://codereview.chromium.org/551463004/)

Reason for revert:
Broke call site in WebKit

Original issue's description:
> introduce Props to surface (work in progress)
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3716fd067a5621bb94a6cb08d72afec8bf3aceda

R=robertphillips@google.com, bsalomon@google.com, jvanverth@google.com, bungeman@google.com, fmalita@google.com, vangelis@chromium.org, reed@google.com
TBR=bsalomon@google.com, bungeman@google.com, fmalita@google.com, jvanverth@google.com, reed@google.com, robertphillips@google.com, vangelis@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/583773004
/external/skia/src/core/SkRecorder.h
3716fd067a5621bb94a6cb08d72afec8bf3aceda 21-Sep-2014 reed <reed@google.com> introduce Props to surface (work in progress)

BUG=skia:
R=robertphillips@google.com, bsalomon@google.com, jvanverth@google.com, bungeman@google.com, fmalita@google.com, vangelis@chromium.org, reed@chromium.org

Author: reed@google.com

Review URL: https://codereview.chromium.org/551463004
/external/skia/src/core/SkRecorder.h
29dfaa80f5776904f42b72b387a99e75f8dc5f5f 04-Sep-2014 mtklein <mtklein@chromium.org> Implement all SkCanvas overrides that SkPictureRecord does.

Primarily this is for isDrawingToLayer(). drawData() and onNewSurface() are
for completeness.

BUG=409138
R=robertphillips@google.com, mtklein@google.com, reed@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/545613002
/external/skia/src/core/SkRecorder.h
b7425173f96e93b090787e2386ba5f022b6c2869 26-Aug-2014 fmalita <fmalita@chromium.org> SkTextBlob plumbing

Add SkTextBlob serialization + drawTextBlob() overrides.

R=mtklein@google.com, reed@google.com, robertphillips@google.com
BUG=269080

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/499413002
/external/skia/src/core/SkRecorder.h
5f0e82204ecca0805a7689cdba5f802458e103f4 22-Aug-2014 mtklein <mtklein@chromium.org> Support comment groups in SkRecord.

This should fix the failing paint-command-log-nodes.html layout test.

BUG=406425
R=tomhudson@chromium.org

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/501533003
/external/skia/src/core/SkRecorder.h
00d5c2c6523321d25b32905ff4822f083a4173ee 21-Aug-2014 fmalita <fmalita@chromium.org> SkTextBlob

Initial implementation.

R=bungeman@google.com, jbroman@chromium.org, mtklein@google.com, reed@google.com, robertphillips@google.com

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/473633002
/external/skia/src/core/SkRecorder.h
a723b576aed31a6eb2bdda6388e6bd779d04c6b0 15-Aug-2014 mtklein <mtklein@chromium.org> SkRecordDraw: incorporate clip into BBH

NOTREECHECKS=true

BUG=skia:
R=robertphillips@google.com, senorblanco@chromium.org, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/474983002
/external/skia/src/core/SkRecorder.h
6cfa73a29a26edf1d03bca224ad6860396308ffc 13-Aug-2014 mtklein <mtklein@chromium.org> Start tracking the CTM while filling the BBH in SkRecordDraw.

Depends on https://codereview.chromium.org/475473002/

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/468193003
/external/skia/src/core/SkRecorder.h
b3c9d1c33caf325aada244204215eb790c228c12 12-Aug-2014 dandov <dandov@google.com> SkCanvas::drawPatch param SkPoint[12]

drawPatch now receives as parameter const SkPoint cubics[12]

Adjusted derived classes and serialization.

Ajusted GM's and benches that take into account combinations of optional
parameters, the scale of the patch and 4 different types of patches.

Planning on adding the extra functionality of SkPatch in another CL.

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

Author: dandov@google.com

Review URL: https://codereview.chromium.org/463493002
/external/skia/src/core/SkRecorder.h
d5fa1a455aad61f3e99081fe7a9b065cb3b115c6 09-Aug-2014 reed <reed@google.com> add drawPicture variant that takes a matrix and paint

will need some staging strategy, since chrome and blink have overrides of onDrawPicture

R=robertphillips@google.com, fmalita@google.com, bsalomon@google.com, mtklein@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/448793004
/external/skia/src/core/SkRecorder.h
2347b624678fedf1d2f7ab1d79b9ad70087c3392 07-Aug-2014 reed <reed@google.com> change drawPicture in SkRecord to just ref the picture

also fix some int/unsigned/size_t warnings

BUG=skia:
R=mtklein@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/449933002
/external/skia/src/core/SkRecorder.h
963137b75c0a1fe91f35e9826742f36309f5e65d 07-Aug-2014 dandov <dandov@google.com> Stopped skipping tests in dm of SkPatch by implementing the
corresponding drawPath calls on classes that derive from SkCanvas.

BUG=skia:
R=egdaniel@google.com, bsalomon@google.com, mtklein@google.com, robertphillips@google.com

Author: dandov@google.com

Review URL: https://codereview.chromium.org/429343004
/external/skia/src/core/SkRecorder.h
5f6102d07982043542343ff0a6c67b1319ac9fc7 30-Jun-2014 Florin Malita <fmalita@chromium.org> SaveFlags be-gone

Remove the deprecated save(SaveFlags), willSave(SaveFlags) and all
traces of kMatrix_SaveFlags/kClip_SaveFlag.

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

Review URL: https://codereview.chromium.org/340403003
/external/skia/src/core/SkRecorder.h
887f3979f0c717e69a8b7d169169bc27eb46d3b5 17-Jun-2014 mtklein <mtklein@chromium.org> Add EXPERIMENTAL_beginRecording() for SkRecord-based recording.

The interesting stuff is in SkPictureRecorder.{h,cpp}. The rest is mostly moving SkRecord from its own directories into core to avoid circular dependencies in GYP.

After plumbing SkRecord all the way through in Picture, I'll delete its old entry point include/record/SkRecording.h. For now it and record.gypi need to stay where they are to keep Chrome building.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/331573004
/external/skia/src/core/SkRecorder.h