aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkPictureRecorder.cpp
Commit message (Collapse)AuthorAge
* Revert "remove approxbytes api from SkPicture"Gravatar Mike Reed2017-12-25
| | | | | | | | | | This reverts commit bfc11853a88cda6951ae97399577fadadf2adcd5. Bug: skia: Change-Id: Ied4baad0496a06a52bec6965f9c97e13ebe2ab0a Reviewed-on: https://skia-review.googlesource.com/89442 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* remove approxbytes api from SkPictureGravatar Mike Reed2017-12-24
| | | | | | | | Bug: skia: Change-Id: I292bc9ab52fe8df3ce97a2ad4b06085b0332b19d Reviewed-on: https://skia-review.googlesource.com/89440 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* move files out of private, and fix up callers to IWYUGravatar Mike Reed2017-05-16
| | | | | | | | | | Realized that a pending CL needed to add (yet another) private type to SkRecords.h, but w/o this CL I'd be forced to move that header also into private. This change frees us up to not have transitive exposure for types that need to be recorded. Bug: skia: Change-Id: Id79f1c2e44ba85e063c1360cf96c92de6397ca2b Reviewed-on: https://skia-review.googlesource.com/17031 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* calculate cull rects for SkMiniPicturesGravatar Mike Klein2017-04-20
| | | | | | | | | | | | | | | | | | | | | | | | | This is the other half of https://skia-review.googlesource.com/c/7874/, adding the cull-shrinking feature of SkBigPictures to SkMiniPictures. Like SkBigPictures, shrink only when we're asked to build an R-tree. (We don't actually build a tree for one rect, of course.) We could do unconditionally, but SkPictureImageFilter uses the cull rect as its crop. It's unclear to me what this image filter unit test I've changed here was intending... had it had two draws we would have shrunk its cull, but because it was hitting the 1-draw SkMiniPicture path it kept the larger user-supplied cull. As the test doesn't appear to have been written with cull shrinking in mind, I've removed its SkRTreeFactory to keep that feature explicitly disabled there. BUG=skia:5974 Change-Id: I4118d2e85f2a69adef2e7a7fa9b9b8c17607a94f Reviewed-on: https://skia-review.googlesource.com/12624 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* remove kReturnNullForEmpty_FinishFlag featureGravatar Mike Klein2017-04-11
| | | | | | | | | | | | It's unused, and doesn't appear to be correct, returning nullptr too early when we should return a non-empty SkMiniPicture. The mini-recorder path will return a zero-allocation SkEmptyPicture anyway. Change-Id: I1be538049e731acfc2b0f8b4f30cafee434a91dc Reviewed-on: https://skia-review.googlesource.com/12626 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Check for bad bounds in picture cullboundsGravatar Mike Reed2017-03-10
| | | | | | | | | BUG=skia: Change-Id: Icaed150fa005ba7539bcca4646710b42dfcbf94a Reviewed-on: https://skia-review.googlesource.com/9536 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* remove SkPictureUtils.hGravatar Mike Reed2017-03-08
| | | | | | | | | | BUG=skia: Change-Id: Iab6e71f347fa34baf442e38ba7773058695f3e6d Reviewed-on: https://skia-review.googlesource.com/9348 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Remove SkAutoTUnref and SkAutoTDelete from public includes.Gravatar bungeman2016-10-27
| | | | | | | | | | | | | | | This also makes the required changed to src, tests, and tools. The few public APIs modified by this change appear to be unused outside of Skia. Removing these from the public API makes it easier to ensure users are no longer using them. This also updates GrGpu::wrapBackendXXX and the ::onWrapBackendXXX methods to clarify ownership. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2448593002 Review-Url: https://codereview.chromium.org/2448593002
* Clean up unused SkPictureRecorder::optimizeFor()Gravatar mtklein2016-09-15
| | | | | | | | | | | Don't worry about the failing Shield bot... unrelated experiment. It's failing at head. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2340133002 NOTREECHECKS=true Review-Url: https://codereview.chromium.org/2340133002
* Revert of add parallel public API for recording SkLiteDL. (patchset #1 id:1 ↵Gravatar mtklein2016-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/2246893002/ ) Reason for revert: looking like we won't need this Original issue's description: > add parallel public API for recording SkLiteDL. > > The API is restricted to pretty much just what Derek calls, > but it's enough that we can switch testing over to use it. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2246893002 > > Committed: https://skia.googlesource.com/skia/+/ced26a3d6b77d3a6744a8ccb8eff23eda45fc867 TBR=djsollen@google.com,reed@google.com,mtklein@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2243393002
* add parallel public API for recording SkLiteDL.Gravatar mtklein2016-08-15
| | | | | | | | | | The API is restricted to pretty much just what Derek calls, but it's enough that we can switch testing over to use it. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2246893002 Review-Url: https://codereview.chromium.org/2246893002
* Sketch SkPictureRecorder::optimizeFor(GrContext*).Gravatar mtklein2016-08-01
| | | | | | | | | | I'm open to API suggestions. We can pass this in finishAs(), up front, whatever. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2203453002 Review-Url: https://codereview.chromium.org/2203453002
* Remove GrLayerHoisterGravatar robertphillips2016-07-13
| | | | | | | | This relies on https://codereview.chromium.org/1944013002/ (Add legacy flag to allow Skia to remove Ganesh layer hoister) landing first so as to not break the DEPS roll. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1950523002 Review-Url: https://codereview.chromium.org/1950523002
* Experiment: add flag for finish-recording to return nullGravatar reed2016-07-06
| | | | | | | BUG=skia:5495 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2106843004 Review-Url: https://codereview.chromium.org/2106843004
* Enable flattening of SkRecordedDrawableGravatar msarett2016-04-27
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1913843002 Committed: https://skia.googlesource.com/skia/+/d636950e8ecba89c0021ce4e76037c67aa6ee2cd Review-Url: https://codereview.chromium.org/1913843002
* Revert of Enable flattening of SkRecordedDrawable (patchset #8 id:140001 of ↵Gravatar mtklein2016-04-27
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1913843002/ ) Reason for revert: Release mode bots appear to be crashing while loading .skp files in nanobench. Original issue's description: > Enable flattening of SkRecordedDrawable > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1913843002 > > Committed: https://skia.googlesource.com/skia/+/d636950e8ecba89c0021ce4e76037c67aa6ee2cd TBR=djsollen@google.com,reed@google.com,msarett@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/1923393002
* Enable flattening of SkRecordedDrawableGravatar msarett2016-04-27
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1913843002 Review-Url: https://codereview.chromium.org/1913843002
* return pictures as sk_spGravatar reed2016-03-18
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1811703002 Review URL: https://codereview.chromium.org/1811703002
* detach -> releaseGravatar mtklein2016-03-16
| | | | | | | | | | | | | The C++ standard library uses the name "release" for the operation we call "detach". Rewriting each "detach(" to "release(" brings us a step closer to using standard library types directly (e.g. std::unique_ptr instead of SkAutoTDelete). This was a fairly blind transformation. There may have been unintentional conversions in here, but it's probably for the best to have everything uniformly say "release". BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1809733002 Review URL: https://codereview.chromium.org/1809733002
* SkRecord refactor: fill bounds array instead of BBH directlyGravatar mtklein2015-10-24
| | | | | | | | | This should be a strict refactor, just pulling out the bounds array. (It's the rescued nice parts of a dead-end CL targeting skia:4492.) BUG=skia: Review URL: https://codereview.chromium.org/1424553002
* Style Change: NULL->nullptrGravatar halcanary2015-08-27
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316233002 Review URL: https://codereview.chromium.org/1316233002
* Style Change: SkNEW->new; SkDELETE->deleteGravatar halcanary2015-08-26
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316123003 Review URL: https://codereview.chromium.org/1316123003
* Allow reset of the SkPictureRecorder cull rect and other parameters during ↵Gravatar schenney2015-07-07
| | | | | | | | | | | | | | | | | | | | | | endRecording. For some users of SkPictureRecorder, the cull rect is more efficiently determined while drawing is in progress, rather than when recording starts. The existing API requires the cull rect at start time, even though the information is not used for any culling purpose until the end of recording. This patch provides a means to reset the cull rect when recording ends, allowing users to update the rect based on information learned during drawing and for the new rect to be used as the culling bound. A valid bound is still required on the beginRecording call because it sizes the underlying canvas and sets the aspect ratio for any bounding box hierarchy. The bounding box factory can also be specified and parameters that control SkPicture creation. R=mtklein, reed1 BUG=skia:3919 Review URL: https://codereview.chromium.org/1178673007
* Thread through a flag to force SkPicture::playback() when recording subpictures.Gravatar mtklein2015-07-01
| | | | | | | | | | | This makes nanobench picture recording benchmarks somewhat useful again, as opposed to all taking about 5us to run no matter the content. ATTN Sheriff: this will probably trigger perf.skia.org alerts. BUG=skia: Review URL: https://codereview.chromium.org/1219873002
* Sketch splitting SkPicture into an interface and SkBigPicture.Gravatar mtklein2015-05-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Latest blink_linux_rel: http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/61248 Committed: https://skia.googlesource.com/skia/+/15877b6eae33a9282458bdb904a6d00440eca0ec http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/62015 Review URL: https://codereview.chromium.org/1112523006
* Revert of Sketch splitting SkPicture into an interface and SkBigPicture. ↵Gravatar mtklein2015-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #25 id:480001 of https://codereview.chromium.org/1112523006/) Reason for revert: win_chromium_compile_dbg_ng FAILED: ninja -t msvc -e environment.x86 -- E:\b\build\goma/gomacc "E:\b\depot_tools\win_toolchain\vs2013_files\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\third_party\skia\src\core\skia.SkBitmapHeap.obj.rsp /c ..\..\third_party\skia\src\core\SkBitmapHeap.cpp /Foobj\third_party\skia\src\core\skia.SkBitmapHeap.obj /Fdobj\skia\skia.cc.pdb e:\b\build\slave\win\build\src\third_party\skia\include\core\skpicture.h(176) : error C2487: 'CURRENT_PICTURE_VERSION' : member of dll interface class may not be declared with dll interface 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 > > Latest blink_linux_rel: > > http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/61248 > > Committed: https://skia.googlesource.com/skia/+/15877b6eae33a9282458bdb904a6d00440eca0ec TBR=reed@google.com,robertphillips@google.com,fmalita@chromium.org,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1130283004
* Sketch splitting SkPicture into an interface and SkBigPicture.Gravatar mtklein2015-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Latest blink_linux_rel: http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/61248 Review URL: https://codereview.chromium.org/1112523006
* Revert of Sketch splitting SkPicture into an interface and SkBigPicture. ↵Gravatar reed2015-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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
* Sketch splitting SkPicture into an interface and SkBigPicture.Gravatar mtklein2015-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Straighten out SkPicture::AccelData APIs.Gravatar mtklein2015-04-29
| | | | | | | | | | Must have been we needed them to be weird (mutable, const setter) before. It doesn't look like that's necessary now... we can just pass it to the constructor. BUG=skia: Review URL: https://codereview.chromium.org/1112833003
* Reduce ref counting in SkPictureRecorder.Gravatar mtklein2015-04-27
| | | | | | | | | | | | | | | | This may be a small help to slimming paint: picture_overhead_draw 1.25us -> 1.22us 0.98x picture_overhead_nodraw 318ns -> 276ns 0.87x It certainly cannot hurt performance. BUG=chromium:470553 TBR=reed@google.com No public API changes. Review URL: https://codereview.chromium.org/1098183003
* O(1) SkPictureUtils::ApproxBytesUsed()Gravatar mtklein2015-04-21
| | | | | | | | | | 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
* SkCanvas::resetForNextPicture()Gravatar mtklein2015-04-08
| | | | | | | | | | | | | | | 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
* Revert of SkCanvas::resetForNextPicture() (patchset #4 id:60001 of ↵Gravatar mtklein2015-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* SkCanvas::resetForNextPicture()Gravatar mtklein2015-04-07
| | | | | | | | | | | | | 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
* C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}Gravatar mtklein2015-03-25
| | | | | | | | | NOPRESUBMIT=true BUG=skia: DOCS_PREVIEW= https://skia.org/?cl=1037793002 Review URL: https://codereview.chromium.org/1037793002
* Update SkPicture cull rects with RTree informationGravatar schenney2015-03-06
| | | | | | | | | | | | | | | | | | When computed, the RTree for an SkPicture will have a root bounds that reflects the best bounding information available, rather than the best estimate at the time the picture recorder is created. Given that creators frequently don't know ahead of time what will be drawn, the RTree bound is often tighter. Perf testing on Chrome indicates a small raster performance advantage. For upcoming painting changes in Chrome the performance advantage is much larger. BUG= Committed: https://skia.googlesource.com/skia/+/2dd3b6647dc726f36fd8774b3d0d2e83b493aeac Review URL: https://codereview.chromium.org/971803002
* Revert of Update SkPicture cull rects with RTree information (patchset #6 ↵Gravatar joshualitt2015-03-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:140001 of https://codereview.chromium.org/971803002/) Reason for revert: Might be breaking deps roll Original issue's description: > Update SkPicture cull rects with RTree information > > When computed, the RTree for an SkPicture will have a root > bounds that reflects the best bounding information available, > rather than the best estimate at the time the picture recorder > is created. Given that creators frequently don't know ahead of > time what will be drawn, the RTree bound is often tighter. > > Perf testing on Chrome indicates a small raster performance > advantage. For upcoming painting changes in Chrome the > performance advantage is much larger. > > BUG= > > Committed: https://skia.googlesource.com/skia/+/2dd3b6647dc726f36fd8774b3d0d2e83b493aeac TBR=mtklein@google.com,schenney@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/977413003
* Update SkPicture cull rects with RTree informationGravatar schenney2015-03-05
| | | | | | | | | | | | | | | | When computed, the RTree for an SkPicture will have a root bounds that reflects the best bounding information available, rather than the best estimate at the time the picture recorder is created. Given that creators frequently don't know ahead of time what will be drawn, the RTree bound is often tighter. Perf testing on Chrome indicates a small raster performance advantage. For upcoming painting changes in Chrome the performance advantage is much larger. BUG= Review URL: https://codereview.chromium.org/971803002
* Rename SkCanvasDrawable to SkDrawable, and make publicGravatar reed2015-02-06
| | | | | | | | | | | | (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
* Revert of rename SkCanvasDrawable to SkDrawable, and make public (patchset ↵Gravatar reed2015-02-06
| | | | | | | | | | | | | | | | | | | | | | | | #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
* rename SkCanvasDrawable to SkDrawable, and make publicGravatar reed2015-02-06
| | | | | | | | BUG=skia: NOTRY=True ... winbuilder flake Review URL: https://codereview.chromium.org/903993002
* free up picturerecorder refs after returning picture or drawableGravatar reed2014-11-24
| | | | | | | | | this just accelerates what would happen on the next beginRecording() call or the destructor. chrome has unittests that break (shaders on the stack) if we hold on to the internals past endRecording(). BUG=skia: TBR= Review URL: https://codereview.chromium.org/758813002
* option to return drawable from recordingGravatar reed2014-11-24
| | | | | | | | patch from issue 747033005 at patchset 80001 (http://crrev.com/747033005#ps80001) BUG=skia: Review URL: https://codereview.chromium.org/732653004
* SkPicture::SnapshotArray doesn't really stand to benefit from refcounting.Gravatar mtklein2014-11-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/748803005
* SkData -> SkPicture::SnapshotArrayGravatar mtklein2014-11-21
| | | | | | | | | | 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
* Allow pictures to have a full boundsGravatar reed2014-11-19
| | | | | | | | This reverts commit 7c4cdd2c5b7b6c71fa0e7612594f7885f2dbf264. BUG=skia: Review URL: https://codereview.chromium.org/738083002
* Revert of allow pictures to have a full bounds (patchset #3 id:40001 of ↵Gravatar reed2014-11-19
| | | | | | | | | | | | | | | | | | | | | 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
* allow pictures to have a full boundsGravatar reed2014-11-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/736583004
* wip for drawablesGravatar reed2014-11-18
| | | | | | | | | | | | 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