aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
Commit message (Collapse)AuthorAge
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-01-29
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13228 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add standalone drawText for GrTextContext.Gravatar commit-bot@chromium.org2014-01-28
| | | | | | | | | | | | | | | This unifies the interface between GrBitmapTextContext and GrDistanceFieldTextContext so that they don't need special case code. The future GrNVPRTextContext will also use this interface. BUG=skia:2018 R=bsalomon@google.com, reed@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/141863005 git-svn-id: http://skia.googlecode.com/svn/trunk@13227 2bbb7eff-a529-9590-31e7-b0007b416f81
* change setAlphaType to not modify the pixelref's genIDGravatar reed@google.com2014-01-28
| | | | | | | | | BUG=skia: R=bsalomon@google.com, halcanary@google.com Review URL: https://codereview.chromium.org/137263009 git-svn-id: http://skia.googlecode.com/svn/trunk@13219 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of Fast blurred rectangles on GPU ↵Gravatar commit-bot@chromium.org2014-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/119343003/) Reason for revert: Two problems: 1. broke compile on Build-Mac10.6-* bots 2. broke GM expectations on many bots We'll need to examine the GM impact before re-landing. I can work with you to do this on Tuesday if you like; just IM or email me. Original issue's description: > Perform the same analytic blur calculation on the GPU that we do on the CPU. Results in significant performance gains when using Ganesh to render drop shadows in Chrome. > > BUG= > > Committed: http://code.google.com/p/skia/source/detail?r=13210 R=bsalomon@google.com, reed@google.com, humper@google.com, rmistry@google.com TBR=bsalomon@google.com, humper@google.com, reed@google.com NOTREECHECKS=true NOTRY=true BUG= Author: epoger@google.com Review URL: https://codereview.chromium.org/140853008 git-svn-id: http://skia.googlecode.com/svn/trunk@13213 2bbb7eff-a529-9590-31e7-b0007b416f81
* Perform the same analytic blur calculation on the GPU that we do on the CPU. ↵Gravatar commit-bot@chromium.org2014-01-27
| | | | | | | | | | | | | Results in significant performance gains when using Ganesh to render drop shadows in Chrome. BUG= R=bsalomon@google.com, reed@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/119343003 git-svn-id: http://skia.googlecode.com/svn/trunk@13210 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement a computeFastBounds() traversal for SkImageFilter.Gravatar senorblanco@chromium.org2014-01-27
| | | | | | | | | | | This allows for correct culling of primitives which have image filters applied. R=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/137423005 git-svn-id: http://skia.googlecode.com/svn/trunk@13207 2bbb7eff-a529-9590-31e7-b0007b416f81
* move getAdvancedTypefaceMetrics into private, as only skia internals call itGravatar reed@google.com2014-01-27
| | | | | | | | | BUG=skia: R=bungeman@google.com, vandebo@chromium.org Review URL: https://codereview.chromium.org/148583002 git-svn-id: http://skia.googlecode.com/svn/trunk@13206 2bbb7eff-a529-9590-31e7-b0007b416f81
* Ensure SSE2/3 is always enabled on Android.Gravatar commit-bot@chromium.org2014-01-27
| | | | | | | | | | R=mtklein@google.com, reed@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/132883008 git-svn-id: http://skia.googlecode.com/svn/trunk@13204 2bbb7eff-a529-9590-31e7-b0007b416f81
* add optional SkAlphaType parameter to notifyPixelsChangedGravatar commit-bot@chromium.org2014-01-27
| | | | | | | | | | R=scroggo@google.com, halcanary@google.com, robertphillips@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/147213002 git-svn-id: http://skia.googlecode.com/svn/trunk@13192 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix more 64bit warningsGravatar reed@google.com2014-01-27
| | | | | | | | BUG=skia: Review URL: https://codereview.chromium.org/147683003 git-svn-id: http://skia.googlecode.com/svn/trunk@13190 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove SkScalarMul from public headersGravatar reed@google.com2014-01-27
| | | | | | | | BUG=skia: Review URL: https://codereview.chromium.org/132453008 git-svn-id: http://skia.googlecode.com/svn/trunk@13189 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove unused methods from SkWindow.Gravatar tfarina@chromium.org2014-01-25
| | | | | | | | | | | | | I came to this while grepping for deprecated SkBitmap's eraseRGB() method. BUG=None TEST=SampleApp still links R=reed@google.com, robertphillips@google.com Review URL: https://codereview.chromium.org/147433002 git-svn-id: http://skia.googlecode.com/svn/trunk@13184 2bbb7eff-a529-9590-31e7-b0007b416f81
* add alternative to isRect named asRectGravatar commit-bot@chromium.org2014-01-25
| | | | | | | | | | | | | | This defines yunchao's proposed interface in terms of an existing implementation. BUG=skia: R=reed@google.com, yunchao.he@intel.com Author: caryclark@google.com Review URL: https://codereview.chromium.org/140953003 git-svn-id: http://skia.googlecode.com/svn/trunk@13183 2bbb7eff-a529-9590-31e7-b0007b416f81
* add legacy/helper allocN32Pixels, and convert gm to use itGravatar reed@google.com2014-01-25
| | | | | | | | | | | | This is an intermediate api, but might help us quickly get to a point where no one is creating bitmaps in a 2-step process (setConfig + alloc). BUG=skia: R=halcanary@google.com Review URL: https://codereview.chromium.org/140593005 git-svn-id: http://skia.googlecode.com/svn/trunk@13182 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-01-25
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13181 2bbb7eff-a529-9590-31e7-b0007b416f81
* SkOnce: add option to call another cleanup function once at exit.Gravatar commit-bot@chromium.org2014-01-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use this to clean up empty SkData and SkPathRef. Current leaks: Leaked SkRefCntBase: 40 Leaked SkFlattenable: 32 Leaked SkPixelRef: 32 Leaked SkMallocPixelRef: 32 Leaked SkFontConfigInterface: 1 Leaked SkWeakRefCnt: 1 Leaked SkTypeface: 1 Leaked SkFontMgr: 1 Leaked SkDataTable: 3 Leaked SkImage: 1 Leaked ???: 1 Leaked ???: 1 BUG=skia: R=halcanary@google.com, reed@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/132803005 git-svn-id: http://skia.googlecode.com/svn/trunk@13180 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix (some) 64bit warnings -- size_t -> intGravatar commit-bot@chromium.org2014-01-24
| | | | | | | | | | | BUG=skia: R=mtklein@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/147053003 git-svn-id: http://skia.googlecode.com/svn/trunk@13178 2bbb7eff-a529-9590-31e7-b0007b416f81
* Turn NVPR on by default (but off in tools).Gravatar commit-bot@chromium.org2014-01-24
| | | | | | | | | | | | | | BUG=skia:2042 Committed: http://code.google.com/p/skia/source/detail?r=13164 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/144003006 git-svn-id: http://skia.googlecode.com/svn/trunk@13176 2bbb7eff-a529-9590-31e7-b0007b416f81
* add installPixelsGravatar reed@google.com2014-01-24
| | | | | | | | | BUG=skia: R=halcanary@google.com Review URL: https://codereview.chromium.org/143073008 git-svn-id: http://skia.googlecode.com/svn/trunk@13174 2bbb7eff-a529-9590-31e7-b0007b416f81
* Resolve a few memory leaks in tests.Gravatar commit-bot@chromium.org2014-01-24
| | | | | | | | | | | | | | | | | Purge the global scaled image cache after use in tests. The cache was right to hold on to the pixels indefinitely, but this change makes it easier to run down actual memory leaks. Add SK_DECLARE_INST_COUNT to several classes. BUG=skia: R=reed@google.com Author: halcanary@google.com Review URL: https://codereview.chromium.org/145443004 git-svn-id: http://skia.googlecode.com/svn/trunk@13171 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Turn NVPR on by default (but off in tools)."Gravatar halcanary@google.com2014-01-24
| | | | | | | | | | | | | | | | This reverts commit 83d81c96de34950bdd84dc575997a250b685a3d6. Broke Windows build. Autorevert didn't work. TBR=bsalomon@google.com,robertphillips@google.com NOTREECHECKS=true NOTRY=true NOPRESUBMIT=true BUG=skia:2042 Review URL: https://codereview.chromium.org/146863003 git-svn-id: http://skia.googlecode.com/svn/trunk@13169 2bbb7eff-a529-9590-31e7-b0007b416f81
* [Reland of r13154, since the Housekeeping bot seems to have reverted it in ↵Gravatar senorblanco@chromium.org2014-01-24
| | | | | | | | | | | | | | | | | | r13155. Next time I'll put the "do not disturb" sign on my commit.] Refactor SkMorphologyImageFilter, CPU and GPU paths. This required making opts/ dependent on effects/, so that we could use the SkMorphologyProc type in SkMorphologyImageFilter.h. Correctness and performance covered by existing tests; no change in functionality. R=bsalomon@google.com, djsollen@google.com, reed@google.com Committed: https://code.google.com/p/skia/source/detail?r=13154 BUG=skia: Review URL: https://codereview.chromium.org/135013004 git-svn-id: http://skia.googlecode.com/svn/trunk@13168 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add factory class for generating various flavors of GrTextContext.Gravatar commit-bot@chromium.org2014-01-24
| | | | | | | | | | | | | | | | | | | This is the first pass of making Gr*TextContext more generic and easily subclassed. The next stage will be making GrBitmapTextContext and GrDistanceFieldTextContext more similar by moving the SkDraw loop into each subclass. BUG=skia:2018 Committed: http://code.google.com/p/skia/source/detail?r=13142 R=bsalomon@google.com, reed@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/144283002 git-svn-id: http://skia.googlecode.com/svn/trunk@13165 2bbb7eff-a529-9590-31e7-b0007b416f81
* Turn NVPR on by default (but off in tools).Gravatar commit-bot@chromium.org2014-01-24
| | | | | | | | | | | BUG=skia:2042 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/144003006 git-svn-id: http://skia.googlecode.com/svn/trunk@13164 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-01-23
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13155 2bbb7eff-a529-9590-31e7-b0007b416f81
* Refactor SkMorphologyImageFilter, CPU and GPU paths. This required making ↵Gravatar senorblanco@chromium.org2014-01-23
| | | | | | | | | | | | opts/ dependent on effects/, so that we could use the SkMorphologyProc type in SkMorphologyImageFilter.h. Correctness and performance covered by existing tests; no change in functionality. R=bsalomon@google.com, djsollen@google.com, reed@google.com Review URL: https://codereview.chromium.org/135013004 git-svn-id: http://skia.googlecode.com/svn/trunk@13154 2bbb7eff-a529-9590-31e7-b0007b416f81
* No deduping dictionaries for matrices and regions.Gravatar commit-bot@chromium.org2014-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | There's little benefit to deduping matrices and regions: they're infrequently used, and doubly infrequently reused. Their use-weighted byte cost is tiny. There is some downside to deduping matrices and regions. Even when they're not used, we prepare dictionaries for deduping them for every picture. Each of these dictionaries costs 160 bytes, so two unused dictionaries make a big chunk of the ~1100 bytes it takes to allocate an SkPictureRecord. (~330 come from parent class SkCanvas, 768 from SkPictureRecord itself, here reduced to 448). One side benefit of not deduping these guys is that the change weighs -140 lines of code. It may go without saying, but this breaks the picture format. Testing: out/Debug/tests && out/Debug/dm (which runs all picture modes by default) BUG=skia:1850 R=reed@google.com, bensong@google.com, robertphillips@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/143883006 git-svn-id: http://skia.googlecode.com/svn/trunk@13149 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove SkScalarMul macroGravatar mike@reedtribe.org2014-01-23
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13145 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of Add factory class for generating various flavors of GrTextContext. ↵Gravatar commit-bot@chromium.org2014-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/144283002/) Reason for revert: Breaks Chrome. Need to fix template issue. Original issue's description: > Add factory class for generating various flavors of GrTextContext. > > This is the first pass of making Gr*TextContext more generic and easily > subclassed. The next stage will be making GrBitmapTextContext and > GrDistanceFieldTextContext more similar by moving the SkDraw loop into > each subclass. > > BUG=skia:2018 > > Committed: http://code.google.com/p/skia/source/detail?r=13142 R=bsalomon@google.com, reed@google.com TBR=bsalomon@google.com, reed@google.com NOTREECHECKS=true NOTRY=true BUG=skia:2018 Author: jvanverth@google.com Review URL: https://codereview.chromium.org/145023006 git-svn-id: http://skia.googlecode.com/svn/trunk@13143 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add factory class for generating various flavors of GrTextContext.Gravatar commit-bot@chromium.org2014-01-22
| | | | | | | | | | | | | | | | This is the first pass of making Gr*TextContext more generic and easily subclassed. The next stage will be making GrBitmapTextContext and GrDistanceFieldTextContext more similar by moving the SkDraw loop into each subclass. BUG=skia:2018 R=bsalomon@google.com, reed@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/144283002 git-svn-id: http://skia.googlecode.com/svn/trunk@13142 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move GrGLInterface function pointers into a nested structGravatar commit-bot@chromium.org2014-01-21
| | | | | | | | | | | BUG=skia:2042 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/133073009 git-svn-id: http://skia.googlecode.com/svn/trunk@13130 2bbb7eff-a529-9590-31e7-b0007b416f81
* Scope our ANNOTATE_BENIGN_RACE.Gravatar commit-bot@chromium.org2014-01-21
| | | | | | | | | | | | | | | This should unstick the DEPS roll. When building with TSAN, Chromium's pulling in the canonical one from dynamic_annotations.h, and we're trying to redefine it. R=robertphillips@google.com, reed@google.com, bsalomon@google.com TBR=reed@google.com BUG= Author: mtklein@google.com Review URL: https://codereview.chromium.org/144063002 git-svn-id: http://skia.googlecode.com/svn/trunk@13129 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make leak counters thread-safe and turn them on by default for DebugGravatar commit-bot@chromium.org2014-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make leak counters implemented with SK_DECLARE_INST_COUNT thread-safe. Enable the leak counting for Debug builds when Skia is built as a static library. Having SK_DECLARE_INST_COUNT without SK_DEFINE_INST_COUNT relies on static variables in member functions declared in the header files. These might be duplicated in the clients of the library when Skia is built as a dynamic library, producing incorrect operation. Protect the instance counter initialization step (initStep) by using SkOnce. Makes SkOnce.h part of the public API, since SkInstCnt is public. Protect the per-class child list shared variable with a per-class mutex. Changes the behavior in the way that if the child list has been "cleaned up", it will still try to create subsequent child lists. BUG=skia:1219 R=robertphillips@google.com, mtklein@google.com, bsalomon@google.com, bungeman@google.com, djsollen@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/99483003 git-svn-id: http://skia.googlecode.com/svn/trunk@13120 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding SK_API to SkGLContextHelper and SkNullGLContext for use in blink unit ↵Gravatar commit-bot@chromium.org2014-01-17
| | | | | | | | | | | | | test component build BUG=skia: R=bsalomon@chromium.org Author: junov@chromium.org Review URL: https://codereview.chromium.org/141813002 git-svn-id: http://skia.googlecode.com/svn/trunk@13119 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move GrGLExtensions from GrGLContextInfo to GrGLInterfaceGravatar commit-bot@chromium.org2014-01-17
| | | | | | | | | | | BUG=skia:2042 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/140823003 git-svn-id: http://skia.googlecode.com/svn/trunk@13118 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove GR_GL_IGNORE_ES3_MSAA.sGravatar commit-bot@chromium.org2014-01-16
| | | | | | | | | | R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/140933005 git-svn-id: http://skia.googlecode.com/svn/trunk@13115 2bbb7eff-a529-9590-31e7-b0007b416f81
* Allow GrGLInterface factories in Chromium to continue to compile.Gravatar commit-bot@chromium.org2014-01-16
| | | | | | | | | | | BUG=skia:2042 TBR=jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/136573003 git-svn-id: http://skia.googlecode.com/svn/trunk@13112 2bbb7eff-a529-9590-31e7-b0007b416f81
* Rename GrGLBinding->GrGLStandard, no longer a bitfieldGravatar commit-bot@chromium.org2014-01-16
| | | | | | | | | | | BUG=skia:2042 R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/133413003 git-svn-id: http://skia.googlecode.com/svn/trunk@13108 2bbb7eff-a529-9590-31e7-b0007b416f81
* SK_API SkMallocPixelRefGravatar commit-bot@chromium.org2014-01-16
| | | | | | | | | | | | Motivation: make https://codereview.chromium.org/138393002/ work. R=reed@google.com, djsollen@google.com, bsalomon@google.com Author: halcanary@google.com Review URL: https://codereview.chromium.org/135853019 git-svn-id: http://skia.googlecode.com/svn/trunk@13106 2bbb7eff-a529-9590-31e7-b0007b416f81
* Factor out UnPreMultiplyPreservingByteOrderGravatar commit-bot@chromium.org2014-01-15
| | | | | | | | | | | BUG= R=reed@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/130303005 git-svn-id: http://skia.googlecode.com/svn/trunk@13103 2bbb7eff-a529-9590-31e7-b0007b416f81
* no need to refcnt colortables, since pixelrefs own themGravatar reed@google.com2014-01-15
| | | | | | | | | BUG=skia: R=halcanary@google.com, scroggo@google.com Review URL: https://codereview.chromium.org/139463007 git-svn-id: http://skia.googlecode.com/svn/trunk@13098 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make GrGLInterface be context-specific on all platformsGravatar commit-bot@chromium.org2014-01-15
| | | | | | | | | | | BUG=skia:2042 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/137753005 git-svn-id: http://skia.googlecode.com/svn/trunk@13097 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-01-15
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13083 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement a resize image filter. This is needed for the "filterRes" feature ↵Gravatar senorblanco@chromium.org2014-01-15
| | | | | | | | | | | | | | | | | in SVG filter effects, which specifies the required size for intermediate processing buffers. In order to make this work, we need to render the primitive at the given resolution (doable at the callsite in Blink), and then to resize the result to the actual on-screen size. The latter is where this filter comes in. It simply applies a scaling factor (and the current CTM) to its input, and draws its input bitmap at that size. R=reed@google.com Committed: https://code.google.com/p/skia/source/detail?r=13077 Reverted: https://code.google.com/p/skia/source/detail?r=13078 BUG= Review URL: https://codereview.chromium.org/136863006 git-svn-id: http://skia.googlecode.com/svn/trunk@13082 2bbb7eff-a529-9590-31e7-b0007b416f81
* use some helper Make functions to initialize SkImageInfoGravatar commit-bot@chromium.org2014-01-15
| | | | | | | | | | | BUG= R=halcanary@google.com, scroggo@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/137993012 git-svn-id: http://skia.googlecode.com/svn/trunk@13081 2bbb7eff-a529-9590-31e7-b0007b416f81
* Deprecate two more functions using SK_ATTR_DEPRECATED macro.Gravatar tfarina@chromium.org2014-01-15
| | | | | | | | | | BUG=None TEST=None R=reed@google.com, scroggo@google.com Review URL: https://codereview.chromium.org/136973007 git-svn-id: http://skia.googlecode.com/svn/trunk@13079 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Implement a resize image filter."Gravatar senorblanco@chromium.org2014-01-14
| | | | | | | | | | This reverts commit 3f996e31c7043929fc1553b9b5ecd6a82b5fe125 (r13077). TBR=reed Review URL: https://codereview.chromium.org/136793012 git-svn-id: http://skia.googlecode.com/svn/trunk@13078 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement a resize image filter. This is needed for the "filterRes" feature ↵Gravatar senorblanco@chromium.org2014-01-14
| | | | | | | | | | | | in SVG filter effects, which specifies the required size for intermediate processing buffers. In order to make this work, we need to render the primitive at the given resolution (doable at the callsite in Blink), and then to resize the result to the actual on-screen size. The latter is where this filter comes in. It simply applies a scaling factor (and the current CTM) to its input, and draws its input bitmap at that size. R=reed@google.com Review URL: https://codereview.chromium.org/136863006 git-svn-id: http://skia.googlecode.com/svn/trunk@13077 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Make leak counters thread-safe and turn them on by default for Debug"Gravatar djsollen@google.com2014-01-14
| | | | | | | | | | iThis CL is breaking the Android debug test bots by firing an assert. BUG=skia:1219 Review URL: https://codereview.chromium.org/138683006 git-svn-id: http://skia.googlecode.com/svn/trunk@13076 2bbb7eff-a529-9590-31e7-b0007b416f81
* Convert SkWriter32 to use an SkTDArray for its internal storage.Gravatar commit-bot@chromium.org2014-01-14
| | | | | | | | | | | | | | | | | | | | | | | | This reduces the allocation overhead of a null picture (create, beginRecording(), endRecording) from about 18K to about 1.9K. (There's still lots more to prune.) SkPictureFlat can exploit the fact that Writer32 is contiguous simplify its memory management. The Writer32 itself becomes the scratch buffer. Remove lots and lots of arbitrary magic numbers that were size guesses and minimum allocation sizes. Keep your eyes open for the big obvious DUH why we save 16K per picture! (Spoiler alert. It's because that first save we issue in beginRecording() forces the old SkWriter32 to allocate 16K.) Tests passing, DM passing. bench --match writer: ~20% faster null bench_record: ~30% faster bench_record on buildbot .skps: ~3-6% slower, ranging 25% faster to 20% slower bench_pictures on buildbot .skps: ~1-2% faster, ranging 13% faster to 28% slower BUG=skia:1850 R=reed@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/137433003 git-svn-id: http://skia.googlecode.com/svn/trunk@13073 2bbb7eff-a529-9590-31e7-b0007b416f81