skia2/include/core
commit-bot@chromium.org 64f6d15451 Use SkAtomics_sync on Android
Every doc I've found about using Android's atomics says, "stop".

"* A handful of basic atomic operations.  The appropriate pthread
 * functions should be used instead of these whenever possible."

"... we recommend stopping from using these functions entirely. Very fortunately, GCC provides handy intrinsics functions that work with very reasonable performance and always provide a full barrier."

As far as I can tell, there's no code generation change here: both the __sync atomics and the android_ atomics use full memory barriers.  (And now with this all unified, it'll be easier to get the real wins by switching everything to __atomic atomics, which are like __sync atomics but allow control over memory barriers.)

BUG=skia:
R=bungeman@google.com, djsollen@google.com, mtklein@google.com, reed@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/305593002

git-svn-id: http://skia.googlecode.com/svn/trunk@14896 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-27 15:55:35 +00:00
..
SkAdvancedTypefaceMetrics.h Drop executable flag from headers so that they can be packaged 2014-03-11 19:55:51 +00:00
SkAnnotation.h Factory methods for heap-allocated SkAnnotation objects. 2014-02-27 11:47:36 +00:00
SkBBHFactory.h SK_API-export SkBBHFactory & friends. 2014-04-22 13:33:16 +00:00
SkBitmap.h remove SK_SUPPORT_LEGACY_BITMAPFLATTEN code 2014-05-27 14:03:51 +00:00
SkBitmapDevice.h remove SK_SUPPORT_LEGACY_COMPATIBLEDEVICE_CONFIG 2014-04-07 21:33:06 +00:00
SkBlitRow.h remove dst/rendertarget support for kARGB_4444_Config 2013-06-21 18:30:53 +00:00
SkBlurTypes.h move common blur types into central header 2014-04-28 16:25:35 +00:00
SkBounder.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
SkCanvas.h This adds a checkbox to the debugger to allow seeing the effect pathops has on the clip. A new tab shows the C code that the pathops generate. 2014-05-19 13:53:10 +00:00
SkChecksum.h Add SkChecksum::Murmur3. 2013-07-23 20:25:34 +00: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 Use SkTLazy to hold path in SkClipStack::Element 2014-02-27 17:39:46 +00:00
SkColor.h SkAlpha constant defs 2013-07-19 17:43:27 +00:00
SkColorFilter.h Allow toString capability to be toggled independent of developer mode. 2014-03-13 18:02:17 +00:00
SkColorPriv.h By default, Chromium optimizes for size when compiling on Android. 2014-05-14 13:34:42 +00:00
SkColorShader.h Remove SkShader virtual method validContext 2014-05-05 18:39:18 +00:00
SkColorTable.h Refactor read and write buffers. 2014-01-30 18:58:24 +00:00
SkComposeShader.h Add functions for inspecting SkShader. 2014-05-13 18:14:45 +00:00
SkData.h SkOnce: add option to call another cleanup function once at exit. 2014-01-24 22:38:39 +00: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 Update bench to be able to preprocess skps 2014-04-11 15:54:14 +00:00
SkDeviceProperties.h Clean up the default gamma settings. 2014-04-10 22:26:29 +00: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 Move distance field font code into GrDistanceFieldTextContext. 2013-12-19 16:12:25 +00:00
SkDrawFilter.h Add GPU support for roundrects 2013-04-25 15:27:00 +00:00
SkDrawLooper.h add asAShadowBlur for android to drawlooper 2014-04-29 15:20:16 +00:00
SkDynamicAnnotations.h teach TSAN about SkSpinlock, SkRefCnt, and SkOnce 2014-04-27 19:21:51 +00:00
SkEmptyShader.h Remove SkShader virtual method validContext 2014-05-05 18:39:18 +00: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 Always inline SkFloatToFixed_arm. 2014-05-15 09:46:20 +00:00
SkFlate.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
SkFlattenable.h Remove unused (by clients) SkUnitMapper 2014-05-22 12:27:41 +00:00
SkFlattenableBuffers.h Refactor read and write buffers. 2014-01-30 18:58:24 +00:00
SkFlattenableSerialization.h Removed unnecessary define 2013-11-08 15:24:12 +00:00
SkFloatBits.h remove SK_SCALAR_IS_[FLOAT,FIXED] and assume floats 2013-12-17 16:44:46 +00:00
SkFloatingPoint.h Add cast for warning as error on Windows from r14201. 2014-04-15 16:08:29 +00:00
SkFont.h Sanitizing source files in Housekeeper-Nightly 2014-04-09 03:04:11 +00:00
SkFontHost.h Remove SK_FONTHOST_USES_FONTMGR. 2013-11-11 15:53:29 +00:00
SkFontLCDConfig.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-03-13 07:01:04 +00:00
SkGeometry.h Stub for conic section max curvature 2014-02-21 19:49:10 +00:00
SkGraphics.h Sanitizing source files in Housekeeper-Nightly 2013-09-27 07:01:29 +00:00
SkImage.h Revert of Revert "Serialization of SkPictureImageFilter" (https://codereview.chromium.org/153583007/) 2014-02-07 12:20:04 +00:00
SkImageDecoder.h Simple PKM image decoder. 2014-05-22 18:40:29 +00:00
SkImageEncoder.h Rewrite SkTRegistry to take any trivially-copyable type. 2013-09-04 17:20:18 +00:00
SkImageFilter.h Add a missing SK_API to SkImageFilter::Cache. 2014-04-23 23:07:00 +00:00
SkImageGenerator.h hide discardable factory from public imagegenerator api 2014-05-27 14:14:22 +00:00
SkImageInfo.h Revert of Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/234243002/) 2014-04-11 17:15:40 +00:00
SkInstCnt.h Make leak counters thread-safe and turn them on by default for Debug 2014-01-17 17:55:02 +00:00
SkLineClipper.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
SkMallocPixelRef.h Remove offset to SkMallocPixelRef::NewWithData - use SkData::NewSubset instead. 2014-04-21 21:08:14 +00:00
SkMask.h Guard against most unintentionally ephemeral SkAutoFoo instantiations. 2013-11-18 16:03:59 +00:00
SkMaskFilter.h add asAShadowBlur for android to drawlooper 2014-04-29 15:20:16 +00:00
SkMath.h Sanitizing source files in Housekeeper-Nightly 2014-04-20 03:04:55 +00:00
SkMatrix.h Sanitizing source files in Housekeeper-Nightly 2014-05-21 03:05:49 +00:00
SkMetaData.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
SkOnce.h teach TSAN about SkSpinlock, SkRefCnt, and SkOnce 2014-04-27 19:21:51 +00:00
SkOSFile.h Fix bug in setting directories for tests. 2013-06-06 14:59:56 +00:00
SkPackBits.h Automatic update of all copyright notices to reflect new license terms. 2011-07-28 14:26:00 +00:00
SkPaint.h remove legacy filter-flags, and store FilterLevel directly 2014-04-16 12:58:02 +00:00
SkPaintOptionsAndroid.h Refactor read and write buffers. 2014-01-30 18:58:24 +00:00
SkPath.h Revert of r13379 (Move fLastMoveToIndex from SkPath to SkPathRef - https://codereview.chromium.org/146913002/) due to image quality regression in Chromium. See crbug.com/343123 (Regression - UI issue observed for any "Notification infobars" in Chrome browser) 2014-02-12 17:44:30 +00:00
SkPathEffect.h Remove SK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS flag. 2014-05-15 15:40:41 +00:00
SkPathMeasure.h add SK_API 2013-05-08 13:25:02 +00:00
SkPathRef.h Revert of r13379 (Move fLastMoveToIndex from SkPath to SkPathRef - https://codereview.chromium.org/146913002/) due to image quality regression in Chromium. See crbug.com/343123 (Regression - UI issue observed for any "Notification infobars" in Chrome browser) 2014-02-12 17:44:30 +00:00
SkPicture.h stop calling SkBitmap::flatten 2014-05-23 13:21:55 +00:00
SkPictureRecorder.h Staging for cleanup of SkPicture-related headers 2014-04-18 18:04:41 +00:00
SkPixelRef.h Revert of Revert ""Revert of eliminate config param -- it was always self's config (https://codereview.chromi… (https://codereview.chromium.org/291163005/) 2014-05-21 15:58:00 +00:00
SkPoint.h remove SkScalarMul from public headers 2014-01-27 13:41:02 +00:00
SkPostConfig.h Use SkAtomics_sync on Android 2014-05-27 15:55:35 +00:00
SkPreConfig.h Improved x86 SSE build and run-time checks. 2014-05-12 14:16:19 +00:00
SkRasterizer.h Builder class for SkLayerRasterizer. 2014-02-26 13:27:37 +00:00
SkReadBuffer.h stop calling SkBitmap::flatten 2014-05-23 13:21:55 +00:00
SkReader32.h Fixed issue found by clusterfuzz 2014-04-29 15:35:23 +00:00
SkRect.h add rounding-using-doubles methods on SkScalar and SkRect 2014-05-05 16:04:42 +00:00
SkRefCnt.h teach TSAN about SkSpinlock, SkRefCnt, and SkOnce 2014-04-27 19:21:51 +00:00
SkRegion.h Checking structure sizes before reading them from memory to avoid overflowing the buffer's stream. 2013-11-05 15:46:56 +00:00
SkRRect.h Add nine patch type to SkRRect. 2014-03-17 21:17:30 +00:00
SkRTreePicture.h Staging for cleanup of SkPicture-related headers 2014-04-18 18:04:41 +00:00
SkScalar.h add rounding-using-doubles methods on SkScalar and SkRect 2014-05-05 16:04:42 +00:00
SkShader.h re-expose hasLocalMatrix for now (can't hurt) -- unblocks blink 2014-05-22 18:43:05 +00: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 Add size_t bytesWritten() const to SkWStream. 2014-03-06 17:16:26 +00:00
SkString.h remove SK_SCALAR_IS_[FLOAT,FIXED] and assume floats 2013-12-17 16:44:46 +00:00
SkStringUtils.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-29 07:05:52 +00:00
SkStrokeRec.h Make GrContext cache the gpu paths 2013-11-01 15:23:44 +00:00
SkSurface.h Add flag for SkGpuSurface creation to enable distance fields. 2014-05-02 12:39:41 +00:00
SkTArray.h Have SkTArray state that it default-initializes. 2014-03-24 15:55:01 +00:00
SkTDArray.h SkWriter32: throw in the SkTDArray towel. 2014-02-13 18:35:54 +00:00
SkTDict.h Make SkTDArray accessors const-friendly. 2013-02-28 19:03:13 +00:00
SkTDStack.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
SkTemplates.h Fold SkTSetBit into SkOTSet*Bit. 2014-04-01 16:11:53 +00:00
SkThread.h Implement sk_atomic_conditional_inc with sk_atomic_cas. 2014-05-27 15:00:32 +00:00
SkTileGridPicture.h Staging for cleanup of SkPicture-related headers 2014-04-18 18:04:41 +00:00
SkTime.h Revert of Add nanosecond timer. (https://codereview.chromium.org/250243002/) 2014-04-24 20:17:24 +00:00
SkTInternalLList.h SkNonCopyable should be used with private inheritance. 2014-04-07 19:34:38 +00:00
SkTLazy.h add release-mode checks for null, at least for a while 2014-05-02 21:24:22 +00: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 move getAdvancedTypefaceMetrics into private, as only skia internals call it 2014-01-27 21:02:14 +00:00
SkTypes.h Rename SK_DEBUGBREAK to SK_ALWAYSBREAK 2014-04-30 18:24:16 +00: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 Split atomic and mutex implementations and make inlinable. 2013-12-18 15:27:39 +00: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 Add capture snapshot as data to SkWriter32, use it to optimise record->playback. 2014-03-12 17:04:28 +00:00
SkXfermode.h Remove SK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS flag. 2014-05-15 15:40:41 +00:00