skia2/include/core
mtklein af57903f33 Force SkMatrix type while recording too.
This switches to a new way of doing this, enforcing the caching with the type
recorded rather than having to do it in SkRecorder.  Should be more foolproof.

Updated SkPath and SkBitmap's equivalents too.  ImmutableBitmap was close,
but using inheritance now makes the rest of the code less weird.

BUG=437511

I'm not sure whether or not this will _fix_ the SkMatrix aspect of that bug.
There may be other SkMatrices that we're racing on.  It does cover the obvious
ones, though, and removing the SkTRacy<> wrapper will allow TSAN to show
us any other races.

It turned out to be easier to turn missing optional matrices into I early rather
than late.  I figure this should be harmless.  Recording and playback perf both
look neutral.

Review URL: https://codereview.chromium.org/773433003
2014-12-01 11:03:37 -08: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 Allow pictures to have a full bounds 2014-11-19 08:04:34 -08:00
SkBitmap.h Add SkIRect bounds() convenience method to SkImageInfo and SkBitmap. 2014-10-24 12:54:53 -07:00
SkBitmapDevice.h rename filterTextFlags to disableLCD 2014-11-13 12:41:02 -08: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 Disable LCD text explicitly in SkPictureImageFilter::onFilterImage() 2014-11-20 10:44:58 -08: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 Revert of Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. (patchset #1 id:1 of https://codereview.chromium.org/769953002/) 2014-12-01 10:56:05 -08: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 Patch to create a distinct geometry processor. The vast majority of this patch 2014-09-23 09:50:21 -07:00
SkColorTable.h Add MultiPictureDraw to nanobench 2014-11-21 06:19:36 -08:00
SkComposeShader.h Add functions for inspecting SkShader. 2014-05-13 18:14:45 +00:00
SkData.h Stop overloading internal_dispose in SkTextBlob and SkData 2014-11-20 08:02:46 -08: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 Allow pictures to have a full bounds 2014-11-19 08:04:34 -08:00
SkDither.h
SkDocument.h SkDocument SK_API 2014-11-14 13:24:18 -08:00
SkDraw.h Revert of Revert of Fix SkTextBlob offset semantics. (patchset #1 id:1 of https://codereview.chromium.org/609223003/) 2014-09-29 06:29:53 -07:00
SkDrawFilter.h
SkDrawLooper.h Revert of Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. (patchset #1 id:1 of https://codereview.chromium.org/769953002/) 2014-12-01 10:56:05 -08:00
SkDrawPictureCallback.h Replace SkPictureReplacementPlayback with GrRecordReplaceDraw 2014-09-03 11:04:31 -07:00
SkDynamicAnnotations.h Force path bounds in recording. 2014-12-01 06:59:55 -08: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 Switch SkBitmapProcState's SkFractionalInt to 32.32. 2014-11-21 12:10:33 -08:00
SkFlattenable.h Revert of Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. (patchset #1 id:1 of https://codereview.chromium.org/769953002/) 2014-12-01 10:56:05 -08: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 add round/ceil/etc. for SkMScalar 2014-10-21 12:33:21 -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
SkFontStyle.h Replace SkTypeface::Style with SkFontStyle. 2014-10-20 13:33:19 -07:00
SkGraphics.h Cleanup: Remove unused InstallNewHandler() function from SkGraphics. 2014-11-05 07:20:51 -08:00
SkImage.h add SkImage::newSurface 2014-11-21 08:46:38 -08:00
SkImageDecoder.h Enable unused param checking for public includes. 2014-11-14 11:11:46 -08:00
SkImageEncoder.h ios fixes 2014-07-11 12:14:51 -07:00
SkImageFilter.h Disable LCD text explicitly in SkPictureImageFilter::onFilterImage() 2014-11-20 10:44:58 -08:00
SkImageGenerator.h remove obsolete code for SK_SUPPORT_LEGACY_IMAGEGENERATORAPI 2014-09-30 10:15:32 -07:00
SkImageInfo.h flag imageinfo as srgb 2014-11-10 08:57:21 -08:00
SkInstCnt.h Fix thread unsafe mutex initialization. 2014-07-25 11:52:48 -07:00
SkLazyPtr.h Add SkTypeface::getBounds() 2014-10-22 13:20:58 -07:00
SkMallocPixelRef.h remove SK_SUPPORT_LEGACY_PIXELREF_UNFLATTENABLE code 2014-07-14 09:21:31 -07:00
SkMask.h remove unused kLCD_MaskFormat 2014-11-13 14:39:58 -08:00
SkMaskFilter.h Revert of Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. (patchset #1 id:1 of https://codereview.chromium.org/769953002/) 2014-12-01 10:56:05 -08:00
SkMath.h SK_CPU_ARM --> SK_CPU_ARM32 2014-06-03 12:07:31 -07:00
SkMatrix.h Force SkMatrix type while recording too. 2014-12-01 11:03:37 -08:00
SkMetaData.h "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
SkMultiPictureDraw.h SkTaskGroup::batch(fn, args, N) 2014-10-29 14:17:13 -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
SkPaint.h Remove android specific genID from SkPaint. 2014-10-23 10:23:07 -07:00
SkPath.h Set temporary paths volatile so we don't cache them. 2014-10-24 07:12:51 -07:00
SkPathEffect.h Revert of Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. (patchset #1 id:1 of https://codereview.chromium.org/769953002/) 2014-12-01 10:56:05 -08:00
SkPathMeasure.h
SkPathRef.h Force path bounds in recording. 2014-12-01 06:59:55 -08:00
SkPicture.h Bump min picture version. 2014-12-01 06:56:38 -08:00
SkPictureRecorder.h free up picturerecorder refs after returning picture or drawable 2014-11-24 19:59:23 -08:00
SkPixelRef.h Add an Android-framework-only stable ID to SkPixelRef. 2014-11-25 13:42:12 -08:00
SkPoint.h optimize setRectFan and join -- from profiling drawText 2014-10-01 07:21:23 -07:00
SkPostConfig.h Don't use 'defined' in macro expansion. 2014-10-15 13:53:55 -07:00
SkPreConfig.h Remove copile time enabling of SK_ARM_HAS_NEON. 2014-08-01 09:21:19 -04:00
SkRasterizer.h Revert of Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. (patchset #1 id:1 of https://codereview.chromium.org/769953002/) 2014-12-01 10:56:05 -08:00
SkRect.h add roundOut that returns its result 2014-11-19 05:03:18 -08:00
SkRefCnt.h Revert of Blink hasn't rolled yet, better. (patchset #1 id:1 of https://codereview.chromium.org/758693002/) 2014-11-25 07:30:19 -08:00
SkRegion.h Add dump() to SkClipStack to help with debugging. 2014-06-09 07:59:06 -07:00
SkRRect.h explicitly size fType in SkRRect, to ensure the are no uninitialized bytes 2014-10-22 11:23:56 -07:00
SkScalar.h begin clean up for scalar is double option 2014-10-31 06:55:41 -07:00
SkShader.h Revert of Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. (patchset #1 id:1 of https://codereview.chromium.org/769953002/) 2014-12-01 10:56:05 -08: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 Enable unused param checking for public includes. 2014-11-14 11:11:46 -08:00
SkString.h document the SkStrAppend methods 2014-11-07 07:37:33 -08:00
SkStrokeRec.h Add color emoji fallback for nvpr text 2014-12-01 08:38:55 -08:00
SkSurface.h Introduce Props to surface (patchset #27 id:520001 of https://codereview.chromium.org/551463004/)" 2014-09-22 07:29:03 -07:00
SkSurfaceProps.h add SkImage::newSurface 2014-11-21 08:46:38 -08:00
SkTArray.h Enable unused param checking for public includes. 2014-11-14 11:11:46 -08:00
SkTDArray.h Remove debug-only fData from SKTDArray. 2014-11-19 09:41:27 -08:00
SkTDict.h move some headers out of public 2014-06-17 09:04:45 -07:00
SkTDStack.h
SkTemplates.h "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
SkTextBlob.h Stop overloading internal_dispose in SkTextBlob and SkData 2014-11-20 08:02:46 -08:00
SkThread.h Fix thread unsafe mutex initialization. 2014-07-25 11:52:48 -07:00
SkThreadPriv.h Add SkTypeface::getBounds() 2014-10-22 13:20:58 -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
SkTypeface.h Add SkTypeface::getBounds() 2014-10-22 13:20:58 -07:00
SkTypes.h Watch out for SkFixed overflow in SkMipMap.cpp. 2014-11-21 11:38:53 -08: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 Cleanup public includes directory. 2014-11-13 12:52:35 -08:00
SkWriter32.h SkCanvas::drawPatch param SkPoint[12] 2014-08-12 08:34:29 -07:00
SkXfermode.h Revert of Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. (patchset #1 id:1 of https://codereview.chromium.org/769953002/) 2014-12-01 10:56:05 -08:00