aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkPictureRecord.cpp
Commit message (Collapse)AuthorAge
...
* Strip old backend recording down to essentialsGravatar mtklein2014-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | Feature-wise, this removes: 1) BBH support; 2) peephole optimizations; 3) record-time text op specializations; 4) the guarantee that SkPaints are flattened. This deletes the optimizations GM, which only exists to test the peepholes of the old backend. SkRecord optimizations are unit tested, and if that ever fails we can think about adding another GM like this, but they're different enough we'd want to start from scratch anyway. We need to keep the code that plays back the specialized text ops around for a while for compatibility with existing .SKPs that have those ops recorded. BUG=skia: CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot R=robertphillips@google.com, reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/617953002
* Introduce Props to surface (patchset #27 id:520001 of ↵Gravatar reed2014-09-22
| | | | | | | | | | | | https://codereview.chromium.org/551463004/)" This reverts commit 29c857d0f3a1cb837f73406eeb6ba9771879b5e7. TBR= Author: reed@google.com Review URL: https://codereview.chromium.org/588143004
* Revert of introduce Props to surface (patchset #27 id:520001 of ↵Gravatar reed2014-09-21
| | | | | | | | | | | | | | | | | | | | | | | | 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
* introduce Props to surface (work in progress)Gravatar reed2014-09-21
| | | | | | | | | 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
* Revert of Revert of allow canvas to force conservative clips (for speed) ↵Gravatar reed2014-09-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/554033003/) Reason for revert: May just rebaseline, plus want to see the results of the chrome tests, so re-trying this CL. Original issue's description: > Revert of allow canvas to force conservative clips (for speed) (patchset #7 id:120001 of https://codereview.chromium.org/541593005/) > > Reason for revert: > multipicturedraw failed on nvprmsaa -- don't know why yet > > Original issue's description: > > Allow SkCanvas to be initialized to force conservative rasterclips. This has the following effects: > > > > 1. Queries to the current clip will be conservatively large. This can mean the quickReject may return false more often. > > > > 2. The conservative clips mean less work is done. > > > > 3. Enabled by default for Gpu, Record, and NoSaveLayer canvases. > > > > 4. API is private for now. > > > > Committed: https://skia.googlesource.com/skia/+/27a5e656c3d6ef22f9cb34de18e1b960da3aa241 > > TBR=robertphillips@google.com,bsalomon@google.com,mtklein@google.com,junov@google.com > NOTREECHECKS=true > NOTRY=true > > Committed: https://skia.googlesource.com/skia/+/6f09709519b79a1159f3826645f1c5fbc101ee11 R=robertphillips@google.com, bsalomon@google.com, mtklein@google.com, junov@google.com, reed@google.com TBR=bsalomon@google.com, junov@google.com, mtklein@google.com, reed@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: reed@chromium.org Review URL: https://codereview.chromium.org/560713002
* Revert of allow canvas to force conservative clips (for speed) (patchset #7 ↵Gravatar reed2014-09-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:120001 of https://codereview.chromium.org/541593005/) Reason for revert: multipicturedraw failed on nvprmsaa -- don't know why yet Original issue's description: > Allow SkCanvas to be initialized to force conservative rasterclips. This has the following effects: > > 1. Queries to the current clip will be conservatively large. This can mean the quickReject may return false more often. > > 2. The conservative clips mean less work is done. > > 3. Enabled by default for Gpu, Record, and NoSaveLayer canvases. > > 4. API is private for now. > > Committed: https://skia.googlesource.com/skia/+/27a5e656c3d6ef22f9cb34de18e1b960da3aa241 R=robertphillips@google.com, bsalomon@google.com, mtklein@google.com, junov@google.com TBR=bsalomon@google.com, junov@google.com, mtklein@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: reed@google.com Review URL: https://codereview.chromium.org/554033003
* Allow SkCanvas to be initialized to force conservative rasterclips. This has ↵Gravatar reed2014-09-09
| | | | | | | | | | | | | | | | | | the following effects: 1. Queries to the current clip will be conservatively large. This can mean the quickReject may return false more often. 2. The conservative clips mean less work is done. 3. Enabled by default for Gpu, Record, and NoSaveLayer canvases. 4. API is private for now. R=robertphillips@google.com, bsalomon@google.com, mtklein@google.com, junov@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/541593005
* Remove a linear search in SkPictureRecord::addTextBlob.Gravatar jbroman2014-09-08
| | | | | | | | | | | | | It doesn't seem that harmful to have repeated text blobs in the array if they occur within the same picture recording. And that does not seem to be a common occurrence right now anyhow. BUG=skia:2919 R=fmalita@chromium.org, reed@google.com, mtklein@google.com Author: jbroman@chromium.org Review URL: https://codereview.chromium.org/550043003
* "NULL !=" = NULLGravatar bsalomon2014-09-05
| | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/544233002
* SkTextBlob plumbingGravatar fmalita2014-08-26
| | | | | | | | | | | 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
* Quickfix for incorrect PICTURE_MATRIX_PAINT & PATCH optimization.Gravatar fmalita2014-08-19
| | | | | | | | | | DRAW_PICTURE_MATRIX_PAINT & DRAW_PATCH are drawing ops. R=reed@google.com, robertphillips@google.com, mtklein@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/480463004
* Add missing DRAW_PICTURE_MATRIX_PAINT paint offset.Gravatar fmalita2014-08-12
| | | | | | | | | | | Also remove explicit gPaintOffsets sizing to make the existing compile time size check effective. R=reed@google.com, robertphillips@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/467683003
* SkCanvas::drawPatch param SkPoint[12]Gravatar dandov2014-08-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
* Add layer counting to SkPictureRecordGravatar robertphillips2014-08-12
| | | | | | | | | | | | This will be used for a SkPicture::suitableForOptimization entry point. Committed: https://skia.googlesource.com/skia/+/4a2b2e8ed2e35171bf98bad68a69daaced11ec7c R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/464433002
* Revert of Add layer counting to SkPictureRecord ↵Gravatar mtklein2014-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/464433002/) Reason for revert: DM's all segfaulty http://108.170.220.120:10117/builders/Test-Mac10.7-MacMini4.1-GeForce320M-x86_64-Debug/builds/3866/steps/RunDM/logs/stdio Original issue's description: > Add layer counting to SkPictureRecord > > This will be used for a SkPicture::suitableForOptimization entry point. > > Committed: https://skia.googlesource.com/skia/+/4a2b2e8ed2e35171bf98bad68a69daaced11ec7c R=bsalomon@google.com, robertphillips@google.com TBR=bsalomon@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: mtklein@google.com Review URL: https://codereview.chromium.org/452673003
* Add layer counting to SkPictureRecordGravatar robertphillips2014-08-11
| | | | | | | | | | This will be used for a SkPicture::suitableForOptimization entry point. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/464433002
* Cleaning up SkPicture-related classesGravatar robertphillips2014-08-11
| | | | | | | | R=mtklein@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/459043002
* Remove Matrix/Clip State collapse codeGravatar robertphillips2014-08-11
| | | | | | | | | | Given recent & upcoming changes (e.g., removal of save flags & SkRecord picture backend) this will have to be reimplemented. R=fmalita@google.com, fmalita@chromium.org Author: robertphillips@google.com Review URL: https://codereview.chromium.org/453133003
* add drawPicture variant that takes a matrix and paintGravatar reed2014-08-09
| | | | | | | | | | 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
* Moved SkPictureContentInfo into its own file. It now tracks the number of skiaGravatar hendrikw2014-08-08
| | | | | | | | | | | | | | | | | operations (maybe, I'm not 100% sure I'm doing this right yet) and the number of text draws. I also moved some of the gpu logic out of SkPictureRecord and into SkPictureContentInfo, http://code.google.com/p/chromium/issues/detail?id=396908 http://code.google.com/p/chromium/issues/detail?id=397198 http://code.google.com/p/chromium/issues/detail?id=399728 BUG=396908 R=nduca@chromium.org, mtklein@chromium.org, robertphillips@google.com, mtklein@google.com Author: hendrikw@chromium.org Review URL: https://codereview.chromium.org/435093003
* Stopped skipping tests in dm of SkPatch by implementing theGravatar dandov2014-08-07
| | | | | | | | | | | 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
* Fix end-of-pattern matching for Skia recording optimization.Gravatar dneto2014-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The recorder optimizer's pattern matcher was accepting command sequences when it shouldn't have. In the submitted case, and the pattern matcher was looking for: saveLayer, drawBitmap, restore and in the rendering for the submitted case, the sequence of commands were: saveLayer, drawBitmap, drawBitmap, restore This sequence was improperly accepted by the matcher, and the optimizer reduced the sequence to: drawBitmap, drawBitmap where the opacity from the saveLayer paint argument was applied to the first drawBitmap only. The user-visible effect in Chrome was a flashing effect on an image caused by incorrect (too-high) opacity. The patch adds a Skia test to check for pixel colour values in a similarly structured recording. All other Skia tests pass. Blink layout tests also pass with this change. BUG=chromium:344987 R=robertphillips@google.com, reed@google.com, mtklein@google.com Author: dneto@chromium.org Review URL: https://codereview.chromium.org/430503004
* SaveFlags be-goneGravatar Florin Malita2014-06-30
| | | | | | | | | | 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
* Remove dashing from gpu vetoGravatar egdaniel2014-06-18
| | | | | | | | | | | | | | | | | | | | | | | | With new veto our new veto test results look like the following: TP: true positive (picked to use gpu and gpu was faster) I: inderminate, the raster time is withing 5% of gpu time TP FP TN FN I old 21 9 15 12 3 new 29 12 11 6 3 There are three skps that tend to move from TN -> FP, however the absolute difference in their run times are not huge between them. The largest being desk_booking which is about 7.1 raster and 8.8 gpu. The other two skps are desk_yahooanswers and desk_linkedin BUG=skia: R=bsalomon@google.com, robertphillips@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/334053005
* Remove picture pre-allocation from SkPictureRecorderGravatar robertphillips2014-06-11
| | | | | | | | | | | | This CL improves the separation of the SkPicture and SkPictureRecord classes. It delays creation of the SkPicture (in SkPictureRecorder) until recording is actually completed. To accomplish this the SkRecord-derived classes now get SkPathHeap and SkPictureContentInfo members that are absorbed by the SkPicture when it is constructed. As an ancillary change, this CL also moves the SkPictureContentInfo object from SkPicture to SkPicturePlayback. This is intended to centralize all the data in the SkPicturePlayback object. R=mtklein@google.com, reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/324293004
* Remove SkPicture::kUsePathBoundsForClip_RecordingFlagGravatar robertphillips2014-06-09
| | | | | | | | | | The real question is whether we ever want to record a picture without using the path bounds for a conservative (but faster) clip answer? R=reed@google.com, mtklein@google.com, djsollen@google.com, scroggo@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/316143003
* Alter SkCanvas::drawPicture (devirtualize, take const SkPicture, take pointer)Gravatar robertphillips2014-06-04
| | | | | | | | R=reed@google.com, bsalomon@google.com, mtklein@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/313613004
* Effects on the paint also prevent layer merge optimization.Gravatar commit-bot@chromium.org2014-05-14
| | | | | | | | | | | BUG=skia: R=robertphillips@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/287953002 git-svn-id: http://skia.googlecode.com/svn/trunk@14743 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix for empty saveLayer() with a filter which affects transparent black.Gravatar senorblanco@chromium.org2014-05-06
| | | | | | | | | | | | | | | | | | | | | If an saveLayer()/restore() is recorded, tilegrid/rtree will cull them out and not draw anything. This is correct for most cases, but if the paint in the saveLayer() is one that affects transparent black (e.g., it contains a color filter or image filter which affects transparent black), this is incorrect: the filter should be applied. Fixed by adding a no-op between the saveLayer() and restore(), and adding a bbox node pointing at that node with the saveLayer()'s bounds. This exposed a bug in SkPictureRecord.cpp's match(), where it would assert if the NOOP was the last op seen. Fixed with an early-out before calling peek_op_and_size(). BUG=skia:2254 Review URL: https://codereview.chromium.org/262363007 git-svn-id: http://skia.googlecode.com/svn/trunk@14604 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add literal picture recording mode, triggered by a compile time switch.Gravatar commit-bot@chromium.org2014-05-02
| | | | | | | | | | | | | | | | | | This is helpful to record SKPs from Chrome as a fair bootstrapping source for SkRecord. Without this sort of switch, a good bit of SkPicture's cleverness is baked into the SKP, and thus SkRecord looks unfairly good. Tested by defining SK_RECORD_LITERAL_PICTURES and running dm --match ~optimizations. By design that GM will never pass in literal mode. BUG=skia:2378 R=robertphillips@google.com, reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/246393008 git-svn-id: http://skia.googlecode.com/svn/trunk@14547 2bbb7eff-a529-9590-31e7-b0007b416f81
* First pass at GPU vetoGravatar commit-bot@chromium.org2014-04-24
| | | | | | | | | | | | | As a short term solution this CL collects information during the recording process for use in suitableForGpuRasterization. BUG=366495 R=bsalomon@google.com, reed@google.com, alokp@chromium.org Author: robertphillips@google.com Review URL: https://codereview.chromium.org/251533004 git-svn-id: http://skia.googlecode.com/svn/trunk@14368 2bbb7eff-a529-9590-31e7-b0007b416f81
* First step in pulling SkPicturePlayback & SkPictureRecord out of SkPictureGravatar commit-bot@chromium.org2014-04-23
| | | | | | | | | | | | | | | | | | | | | | | | | This CL begins the process of making SkPicturePlayback & SkPictureRecord independent of SkPicture. It just moves the PathHeap into SkPicture to get a feel for where all this is going to lead. Some items of note: SkTimedPicture (debugger/QT) should wind up being just an SkPicturePlayback-derived object. All the flattening & unflattening should migrate out of SkPicturePlayback and into SkPicture. SkPicture::initForPlayback should eventually become something just SkPictureRecorder::endRecording calls. SkPicture is passed into SkPicturePlayback's & SkPictureRecord's constructors. SkPicturePlayback only holds onto a "const SkPicture*". The SkPicturePlayback:: CreateFromStream & CreateFromBuffer methods pass a non-const SkPicture* down the call stack. BUG=skia:2315 R=reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/249453002 git-svn-id: http://skia.googlecode.com/svn/trunk@14341 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make drawText calls non-virtual, to ease SkFont and TextBlob ↵Gravatar reed@google.com2014-04-23
| | | | | | | | | | | | | | | (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
* Revert of make drawText calls non-virtual, to ease SkFont and TextBlob ↵Gravatar commit-bot@chromium.org2014-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | (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
* make drawText calls non-virtual, to ease SkFont and TextBlobGravatar commit-bot@chromium.org2014-04-22
| | | | | | | | | | | 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
* fix size_t/int warnings in picturesGravatar commit-bot@chromium.org2014-04-22
| | | | | | | | | | | BUG=skia: R=robertphillips@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/244273002 git-svn-id: http://skia.googlecode.com/svn/trunk@14302 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reduce internal explicit SaveFlags usage.Gravatar commit-bot@chromium.org2014-04-18
| | | | | | | | | | | | | Most of these are either redundant/defaults or (hopefully) unnecessarily specific. R=reed@google.com, robertphillips@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/241453003 git-svn-id: http://skia.googlecode.com/svn/trunk@14253 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove currently unused codeGravatar commit-bot@chromium.org2014-04-14
| | | | | | | | | | | | | | This code is currently unused and is contrary to the way in which we seem to be moving towards accomplishing this (i.e., device-specific optimization passes). This is a partial revert of r13704 (First version of bitmap use tracking in SkPictureRecord - https://codereview.chromium.org/187833003/) R=reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/237013002 git-svn-id: http://skia.googlecode.com/svn/trunk@14179 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove picture-backed surfacesGravatar commit-bot@chromium.org2014-04-11
| | | | | | | | | | | BUG=skia: R=robertphillips@google.com, mtklein@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/233943002 git-svn-id: http://skia.googlecode.com/svn/trunk@14159 2bbb7eff-a529-9590-31e7-b0007b416f81
* Consolidate SkCanvas matrix virtuals.Gravatar commit-bot@chromium.org2014-03-25
| | | | | | | | | | | | | | | | 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
* Fix cull nesting assertion.Gravatar commit-bot@chromium.org2014-03-20
| | | | | | | | | | | | | | | | | | | | Cull rects are in local coordinates and cannot be compared directly. No wonder it was so hard enforcing this in Blink :o This moves the validation logic into SkCanvas, using a device-space cull stack (debug build only). There are still some Blink bugs causing violations, so for now I'd like to keep this as an error message only. R=reed@google.com, robertphillips@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/200923008 git-svn-id: http://skia.googlecode.com/svn/trunk@13885 2bbb7eff-a529-9590-31e7-b0007b416f81
* De-virtualize SkCanvas matrix ops.Gravatar commit-bot@chromium.org2014-03-13
| | | | | | | | | | | | | | 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
* De-virtualize SkCanvas save/restore.Gravatar commit-bot@chromium.org2014-03-12
| | | | | | | | | | | | | 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
* Revert of Revert of Revert "De-virtualize SkCanvas save/restore." ↵Gravatar commit-bot@chromium.org2014-03-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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
* Revert of Revert "De-virtualize SkCanvas save/restore." ↵Gravatar commit-bot@chromium.org2014-03-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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
* Revert "De-virtualize SkCanvas save/restore."Gravatar fmalita@google.com2014-03-11
| | | | | | | | | | | | (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
* De-virtualize SkCanvas save/restore.Gravatar fmalita@google.com2014-03-11
| | | | | | | | | | | 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
* Once Chromium starts holding on to paths and we can actually reuse cached ↵Gravatar commit-bot@chromium.org2014-03-07
| | | | | | | | | | | | | | | path data (e.g., masks & geometry) we will need a way to preserve that reuse in the skps. This CL begins adding that capability. More analysis & profiling needs to be done before it is always enabled. When enabled it does make the disabled path de-duping test in the Canvas unit test pass. BUG=skia:507 R=bsalomon@google.com, mtklein@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/190923002 git-svn-id: http://skia.googlecode.com/svn/trunk@13709 2bbb7eff-a529-9590-31e7-b0007b416f81
* This is just the first version and shows how I intend to orchestrate this. ↵Gravatar commit-bot@chromium.org2014-03-07
| | | | | | | | | | | | | | | | Future enhancements will: track the portion of the bitmap required track any resizing that might be required actually preload something R=bsalomon@google.com, mtklein@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/187833003 git-svn-id: http://skia.googlecode.com/svn/trunk@13704 2bbb7eff-a529-9590-31e7-b0007b416f81
* The motivation for this CL is to de-clutter SkPicture's beginRecording method.Gravatar commit-bot@chromium.org2014-03-04
| | | | | | | | | | R=reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/186813003 git-svn-id: http://skia.googlecode.com/svn/trunk@13658 2bbb7eff-a529-9590-31e7-b0007b416f81