skia2/include/core
Mike Klein b9b5de5c66 make SkPath::fConvexity atomic
The TSAN bots fail regularly with races on fConvexity.  Very annoying.

We used to have this very same problem with SkPath::fFirstDirection
until we made it atomic.  This does the same to fConvexity.

This makes the field as lightly atomic as possible, with all operations
using a relaxed memory order.  The value of fConvexity isn't guarding
any other non-atomic memory or implying any other writes have happened
so I don't think we need anything beyond relaxed here.

Change-Id: I0da1f892dc2b7072d692ce8b460fb1862aebef77
Reviewed-on: https://skia-review.googlesource.com/52180
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-09-28 01:59:06 +00:00
..
SkAnnotation.h remove unneeded flag for annotations 2016-03-05 06:00:12 -08:00
SkBBHFactory.h Remove stray semicolons. 2016-09-27 14:04:26 +00:00
SkBitmap.h Revert "guard old apis for querying byte-size of a bitmap/imageinfo/pixmap" 2017-09-27 23:15:07 +00:00
SkBlendMode.h move SkBlendMode_Name into public (for chrome) 2016-11-16 19:17:21 +00:00
SkBlurTypes.h move common blur types into central header 2014-04-28 16:25:35 +00:00
SkCanvas.h regenerate includes 2017-09-21 16:49:10 +00:00
SkClipOp.h add flag to hide deprecated clipops 2017-05-10 18:56:14 +00:00
SkColor.h Add SK_API to APIs used by the android framework. 2017-09-21 18:14:36 +00:00
SkColorFilter.h Make GrFragmentProcessor be non-refcounted and use std::unique_ptr. 2017-08-11 14:13:26 +00:00
SkColorPriv.h add back SkPacked16toX32 to SkColorPriv 2017-09-19 13:12:39 +00:00
SkColorSpace.h Hide ctors of SkShader, SkImage & SkColorSpace 2017-05-26 22:34:00 +00:00
SkColorSpaceXform.h add helper static to SkColorSpaceXform 2017-05-22 18:08:13 +00:00
SkColorSpaceXformCanvas.h Make xformer class for SkCSXCanvas, use for draw loopers 2017-03-30 18:02:58 +00:00
SkData.h Class delete call unsized delete when size not known. 2016-10-19 21:41:00 +00:00
SkDataTable.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkDeferredDisplayListRecorder.h DeferredDisplayList API proposal 2017-08-30 19:25:47 +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
SkDocument.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkDrawable.h Add SK_API to APIs used by the android framework. 2017-09-21 18:14:36 +00:00
SkDrawFilter.h SkPaintFilterCanvas cleanup 2016-01-12 12:14:10 -08:00
SkDrawLooper.h Make xformer class for SkCSXCanvas, use for draw loopers 2017-03-30 18:02:58 +00:00
SkEncodedImageFormat.h Reland "skia: add heif decoding support" 2017-08-18 14:40:29 +00:00
SkExecutor.h Add FIFO thread pool, use it for most things. 2017-09-01 16:19:47 +00:00
SkFilterQuality.h Skia Filter Quality and Scaling Metrics 2016-04-18 09:14:00 -07:00
SkFlattenable.h Remove SkLightingShader and associated classes 2017-08-07 13:33:49 +00:00
SkFlattenableSerialization.h hide setImageFilter(ptr) 2016-11-01 16:05:41 +00:00
SkFont.h typedef uint16_t SkGlyphID 2016-07-25 07:18:12 -07:00
SkFontArguments.h Add SkTypeface::getVariationDesignPosition. 2017-02-24 16:59:05 +00:00
SkFontLCDConfig.h Add SK_API to SkFontLCDConfig. 2016-05-03 11:56:03 -07:00
SkFontStyle.h Remove union from SkFontStyle. 2017-07-31 20:24:47 +00:00
SkGraphics.h add API to change max pointsize for font cache 2017-06-01 20:55:16 +00:00
SkICC.h Improve comment in SkICC.h 2017-02-24 20:35:57 +00:00
SkImage.h make SkColorTable private 2017-07-22 20:47:37 +00:00
SkImageDeserializer.h Deserialize pictures with custom image-deserializer 2016-08-11 03:55:15 -07:00
SkImageEncoder.h Add support for webp lossless compression 2017-05-17 02:24:29 +00:00
SkImageFilter.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkImageGenerator.h Rework GrSamplerParams to be more compact and use its own wrap mode enum. 2017-09-07 16:58:31 +00:00
SkImageInfo.h Revert "guard old apis for querying byte-size of a bitmap/imageinfo/pixmap" 2017-09-27 23:15:07 +00:00
SkMallocPixelRef.h removed dead colortable code 2017-07-19 22:20:57 +00:00
SkMask.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkMaskFilter.h Retract GrTexture.h a bit 2017-06-09 17:29:09 +00:00
SkMath.h SkLiteDL: remove freelisting, add reset() and SKLITEDL_PAGE knob. 2016-08-16 09:36:18 -07:00
SkMatrix44.h Suppress float-cast-overflow for double-to-float in SkMatrix{,44} 2017-09-18 17:23:39 +00:00
SkMatrix.h minor changes to SkMatrix.h and SkRect.h 2017-09-19 13:54:59 +00:00
SkMetaData.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkMilestone.h Update Skia milestone to 63 2017-08-31 13:34:51 +00:00
SkMultiPictureDraw.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkOverdrawCanvas.h Add SK_API to SkOverdrawCanvas and SkOverdrawColorFilter. 2017-08-18 16:53:49 +00:00
SkPaint.h regenerate includes 2017-09-21 16:49:10 +00:00
SkPath.h make SkPath::fConvexity atomic 2017-09-28 01:59:06 +00:00
SkPathEffect.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkPathMeasure.h Move seg_to to a new header, define SkSegType enum there 2016-08-09 09:38:30 -07:00
SkPicture.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkPictureAnalyzer.h Revert[2] "remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS" 2016-12-09 14:33:41 +00:00
SkPictureRecorder.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkPixelRef.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkPixelSerializer.h Revert "Revert "remove dead code for legacy image encode api"" 2017-07-18 21:08:35 +00:00
SkPixmap.h Revert "guard old apis for querying byte-size of a bitmap/imageinfo/pixmap" 2017-09-27 23:15:07 +00:00
SkPngChunkReader.h Delete SkImageDecoder 2016-03-24 10:41:47 -07:00
SkPoint3.h Update SkLightingShader to support rotation 2015-08-20 05:15:07 -07:00
SkPoint.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkPostConfig.h clang on windows support 2017-07-31 18:39:23 +00:00
SkPreConfig.h use __BYTE_ORDER__ macro to detect endianness when available 2016-11-28 21:07:47 +00:00
SkRasterHandleAllocator.h Make header files self-sufficient 2017-02-10 01:19:52 +00:00
SkRasterizer.h Revert of Delete SkFlattenable::Type (patchset #2 id:20001 of https://codereview.chromium.org/1834303003/ ) 2016-04-04 14:57:19 -07:00
SkRect.h minor changes to SkMatrix.h and SkRect.h 2017-09-19 13:54:59 +00:00
SkRefCnt.h Only perform SkSafeRef race detection if on android framework 2017-03-23 14:32:47 +00:00
SkRegion.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkRRect.h Serialize rrect/oval paths as rrects rather than points and verbs. 2017-09-21 18:16:13 +00:00
SkRSXform.h Make header files self-sufficient 2017-02-10 01:19:52 +00:00
SkRWBuffer.h Remove deprecated SkRWBuffer snapshot methods 2017-06-02 15:44:57 +00:00
SkScalar.h Change SkScalarTruncToInt to saturate. 2017-09-18 18:26:13 +00:00
SkShader.h SkShader::asACompose is android-only 2017-06-09 17:29:08 +00:00
SkSize.h SkSize can be aggregate-initialized 2017-04-11 18:57:20 +00:00
SkStream.h remove dead code for STREAM_API 2017-09-20 20:43:50 +00:00
SkString.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkStrokeRec.h Unify implementations of stroking radius calculationsns 2016-04-29 07:07:03 -07:00
SkSurface.h Revert "Revert "Revert "Revert "Remove GrBackendRenderTargetDesc in favor of GrBackendRenderTarget."""" 2017-08-31 20:04:12 +00:00
SkSurfaceProps.h remove disable aa/dither flags from Props -- never used 2016-08-18 09:30:44 -07:00
SkSwizzle.h Add missing SK_API to SkSwizzle.h 2016-03-24 07:50:14 -07:00
SkTextBlob.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkTime.h Make SkTime SK_API so that SkTime::GetDateTime() is visible to the clients. 2016-05-02 15:04:46 -07:00
SkTLazy.h Fix SkTLazy(const T*) initialization 2016-08-24 11:03:24 -07:00
SkTraceMemoryDump.h Add support for light dumps in SkTraceMemoryDump interface. 2015-09-30 04:31:23 -07:00
SkTypeface.h Remove SkTypeface::style(). 2017-08-15 20:57:57 +00:00
SkTypes.h Undo unwanted change to SkTypes.h. 2017-08-28 19:09:19 +00:00
SkUnPreMultiply.h Factor out UnPreMultiplyPreservingByteOrder 2014-01-15 22:24:58 +00:00
SkVertices.h Add SK_API to APIs used by the android framework. 2017-09-21 18:14:36 +00:00
SkWriteBuffer.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkWriter32.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkYUVSizeInfo.h Make header files self-sufficient 2017-02-10 01:19:52 +00:00