skia2/include/core
fmalita e50215e598 Revert of Souped-up SkTextBlob. (patchset #3 id:40001 of https://codereview.chromium.org/581173003/)
Reason for revert:
Broke the new blobshader gm.

Original issue's description:
> Souped-up SkTextBlob.
>
> Refactored text blob backend for improved performance: instead of using
> separate buffers for runs/positions/glyphs, everything is now packed in
> a consolidated slab (including the SkTextBlob object itself!).
>
> Benefits:
>
>  * number of allocations per blob construction reduced from ~4 to 1
>    (also minimizes internal fragmentation)
>  * run record size reduced by 8 bytes
>
> This takes the blob construction overhead down to negligible levels
> (for the current Blink uncached textblob implementation).
>
> Unfortunately, the code is much more finicky (run merging in
> particular) -- hence the assert spree.
>
> Multi-run blobs are vulnerable to realloc storms but this is not a
> problem at the moment because Blink is using one-run blobs 99% of the
> time. Will be addressed in the future.
>
>
> R=reed@google.com,mtklein@google.com,robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/13645ea0ea87038ebd71be3bd6d53b313069a9e4

R=mtklein@google.com, reed@google.com, robertphillips@google.com
TBR=mtklein@google.com, reed@google.com, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/588853002
2014-09-19 19:03:06 -07:00
..
SkAdvancedTypefaceMetrics.h [PDF] Fix font embedding restrictions. 2014-06-19 11:05:39 -07:00
SkAnnotation.h Factory methods for heap-allocated SkAnnotation objects. 2014-02-27 11:47:36 +00:00
SkBBHFactory.h Remove SkQuadTree. 2014-08-26 14:07:04 -07:00
SkBitmap.h "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
SkBitmapDevice.h hide deviceproperties, prepare the way for surfaceprops 2014-09-17 10:49:38 -07:00
SkBlitRow.h replace config() with colorType() 2014-05-29 15:57:47 +00:00
SkBlurTypes.h move common blur types into central header 2014-04-28 16:25:35 +00:00
SkCanvas.h Revert of Revert of allow canvas to force conservative clips (for speed) (patchset #1 id:1 of https://codereview.chromium.org/554033003/) 2014-09-09 18:46:22 -07:00
SkChunkAlloc.h combine glyph and image bulk alloc, and adjust initial alloc size, to reduce total waste from 50% to 30% 2013-06-19 19:25:36 +00:00
SkClipStack.h Add dump() to SkClipStack to help with debugging. 2014-06-09 07:59:06 -07:00
SkColor.h SkAlpha constant defs 2013-07-19 17:43:27 +00:00
SkColorFilter.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkColorPriv.h Address MSVC warnings about possible value truncation. In the process removes some apparently unused code. 2014-09-02 13:40:48 -07:00
SkColorShader.h extend SkShader to report a luminance-color to be used for gamma correction 2014-08-22 08:30:20 -07:00
SkColorTable.h Expose SkColorTable class 2014-08-05 12:20:19 -07:00
SkComposeShader.h Add functions for inspecting SkShader. 2014-05-13 18:14:45 +00:00
SkData.h use SkData::NewUninitialized 2014-09-12 12:12:27 -07:00
SkDataTable.h Remove SkDataTable from SkFlattenable hierarchy. 2013-10-15 20:39:57 +00:00
SkDeque.h This CL addresses "SkCanvas::save flags are not respected by GPU backend" (https://code.google.com/p/skia/issues/detail?id=1503). 2013-08-16 00:53:34 +00:00
SkDevice.h hide deviceproperties, prepare the way for surfaceprops 2014-09-17 10:49:38 -07:00
SkDither.h Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:09:54 +00:00
SkDocument.h remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
SkDraw.h Allow custom blitters to be passed to SkDraw::drawPath 2014-08-06 11:12:14 -07:00
SkDrawFilter.h Add GPU support for roundrects 2013-04-25 15:27:00 +00:00
SkDrawLooper.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkDrawPictureCallback.h Replace SkPictureReplacementPlayback with GrRecordReplaceDraw 2014-09-03 11:04:31 -07:00
SkDynamicAnnotations.h Split SkTRacy into SkTRacy and SkTRacyReffable. 2014-07-10 11:11:50 -07:00
SkEndian.h fix size_t/int warnings 2014-04-23 19:19:44 +00:00
SkError.h Sanitizing source files in Housekeeper-Nightly 2013-09-05 07:01:19 +00:00
SkFixed.h SK_CPU_ARM --> SK_CPU_ARM32 2014-06-03 12:07:31 -07:00
SkFlattenable.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkFlattenableBuffers.h Move SkReadBuffer.h and SkReader32.h out of include. 2014-08-19 06:27:53 -07:00
SkFlattenableSerialization.h Removed unnecessary define 2013-11-08 15:24:12 +00:00
SkFloatBits.h remove unused SkIntToFloatCast_NoOverflowCheck 2014-08-19 07:39:41 -07:00
SkFloatingPoint.h Clarify build test for presense of 'float copysign(float, float)'. 2014-09-17 11:16:51 -07:00
SkFont.h Treat embedded bitmaps as a hinting method. 2014-08-19 13:18:58 -07:00
SkFontHost.h Remove a layer of indirection and code from SkFontHost. 2014-09-10 15:49:48 -07:00
SkFontLCDConfig.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-03-13 07:01:04 +00:00
SkGraphics.h add PurgeResourceCache to track leaks 2014-09-11 12:22:34 -07:00
SkImage.h Get rid of SkImage_Codec 2014-09-19 13:30:06 -07:00
SkImageDecoder.h eliminate code related to SkBitmap::Config 2014-08-18 08:13:03 -07:00
SkImageEncoder.h ios fixes 2014-07-11 12:14:51 -07:00
SkImageFilter.h Remove SkImageFilter::Set/GetExternalCache. 2014-08-26 14:06:01 -07:00
SkImageGenerator.h Add support for the Rec601 YUV color space to GrYUVtoRGBEffect. 2014-09-12 17:45:58 -07:00
SkImageInfo.h Add support for the Rec601 YUV color space to GrYUVtoRGBEffect. 2014-09-12 17:45:58 -07:00
SkInstCnt.h Fix thread unsafe mutex initialization. 2014-07-25 11:52:48 -07:00
SkMallocPixelRef.h remove SK_SUPPORT_LEGACY_PIXELREF_UNFLATTENABLE code 2014-07-14 09:21:31 -07:00
SkMask.h Guard against most unintentionally ephemeral SkAutoFoo instantiations. 2013-11-18 16:03:59 +00:00
SkMaskFilter.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkMath.h SK_CPU_ARM --> SK_CPU_ARM32 2014-06-03 12:07:31 -07:00
SkMatrix.h "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
SkMetaData.h "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
SkMultiPictureDraw.h SkMultiPictureDraw API 2014-08-21 13:12:42 -07:00
SkOnce.h Clean up SkOnce: 2014-06-02 11:26:59 -07:00
SkOSFile.h Add option to dump images from nanobench. 2014-08-07 14:28:50 -07:00
SkPackBits.h Automatic update of all copyright notices to reflect new license terms. 2011-07-28 14:26:00 +00:00
SkPaint.h Uses a single pre-baked set of paths for drawing nvpr text of a given 2014-09-18 13:51:53 -07:00
SkPath.h add dumpHex() option to SkPath 2014-09-15 09:26:09 -07:00
SkPathEffect.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkPathMeasure.h add SK_API 2013-05-08 13:25:02 +00:00
SkPathRef.h "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
SkPicture.h Change SkPicture::draw to playback 2014-09-04 08:42:50 -07:00
SkPictureRecorder.h Try out scalar picture sizes 2014-08-29 08:03:56 -07:00
SkPixelRef.h Add support for the Rec601 YUV color space to GrYUVtoRGBEffect. 2014-09-12 17:45:58 -07:00
SkPoint.h Move GrIPoint16 to SkIPoint16 (and remove GrPoint.h) 2014-06-02 10:20:15 -07:00
SkPostConfig.h CrashHandler for Windows. 2014-06-19 07:41:59 -07:00
SkPreConfig.h Remove copile time enabling of SK_ARM_HAS_NEON. 2014-08-01 09:21:19 -04:00
SkRasterizer.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkRect.h update to accommodate latest clang in chrome toolchain 2014-09-18 11:00:40 -07:00
SkRefCnt.h Serialize the font index. 2014-09-18 10:55:32 -07:00
SkRegion.h Add dump() to SkClipStack to help with debugging. 2014-06-09 07:59:06 -07:00
SkRRect.h Add dump() to SkClipStack to help with debugging. 2014-06-09 07:59:06 -07:00
SkScalar.h add rounding-using-doubles methods on SkScalar and SkRect 2014-05-05 16:04:42 +00:00
SkShader.h make set3DMask virtual, so we can safely notify the shadercontext 2014-09-10 10:20:24 -07:00
SkSize.h deprecate SkScalarRound (and its ilk), use SkScalarRound[ToInt,ToScalar]. #define SK_SUPPORT_DEPRECATED_SCALARROUND for legacy clients 2013-12-17 19:22:07 +00:00
SkStream.h remove confusing/unused stream methods 2014-09-12 08:49:54 -07:00
SkString.h Initial refactor of shaderbuilder to prepare for geometry shaders 2014-08-21 20:18:45 -07:00
SkStrokeRec.h Add a GrPathRange class 2014-07-21 15:32:44 -07:00
SkSurface.h remove RenderTargetFlags -- NewRenderTargetDirect will never clear 2014-09-19 05:56:29 -07:00
SkTArray.h "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
SkTDArray.h Assert SkTDArray::pop() doesn't underflow. 2014-09-11 06:36:11 -07:00
SkTDict.h move some headers out of public 2014-06-17 09:04:45 -07:00
SkTDStack.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
SkTemplates.h "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
SkTextBlob.h Revert of Souped-up SkTextBlob. (patchset #3 id:40001 of https://codereview.chromium.org/581173003/) 2014-09-19 19:03:06 -07:00
SkThread.h Fix thread unsafe mutex initialization. 2014-07-25 11:52:48 -07:00
SkTime.h Revert of Add nanosecond timer. (https://codereview.chromium.org/250243002/) 2014-04-24 20:17:24 +00:00
SkTInternalLList.h "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
SkTLazy.h "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
SkTRegistry.h Rewrite SkTRegistry to take any trivially-copyable type. 2013-09-04 17:20:18 +00:00
SkTSearch.h One SkTSearch to rule them all. Allow key to be of different type than the array. 2013-05-17 19:05:03 +00:00
SkTypeface.h Uses a single pre-baked set of paths for drawing nvpr text of a given 2014-09-18 13:51:53 -07:00
SkTypes.h "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
SkUnPreMultiply.h Factor out UnPreMultiplyPreservingByteOrder 2014-01-15 22:24:58 +00:00
SkUtils.h SSE2 implementation of memcpy32 2014-05-21 12:43:07 +00:00
SkWeakRefCnt.h Revert "Remove ability for Release code to call getRefCnt() or getWeakRefCnt()." 2014-07-09 09:04:07 -04:00
SkWriteBuffer.h read/write function_ptrs as just void*, and not as 'array of bytes' 2014-04-16 16:24:08 +00:00
SkWriter32.h SkCanvas::drawPatch param SkPoint[12] 2014-08-12 08:34:29 -07:00
SkXfermode.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00