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
SkBBHFactory.h
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
SkBlurTypes.h
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
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
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
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
SkFlattenable.h Remove SkLightingShader and associated classes 2017-08-07 13:33:49 +00:00
SkFlattenableSerialization.h
SkFont.h
SkFontArguments.h Add SkTypeface::getVariationDesignPosition. 2017-02-24 16:59:05 +00:00
SkFontLCDConfig.h
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
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
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
SkPicture.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkPictureAnalyzer.h
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
SkPoint3.h
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
SkRasterHandleAllocator.h Make header files self-sufficient 2017-02-10 01:19:52 +00:00
SkRasterizer.h
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
SkSurface.h Revert "Revert "Revert "Revert "Remove GrBackendRenderTargetDesc in favor of GrBackendRenderTarget."""" 2017-08-31 20:04:12 +00:00
SkSurfaceProps.h
SkSwizzle.h
SkTextBlob.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkTime.h
SkTLazy.h
SkTraceMemoryDump.h
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
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