skia2/include
mtklein 0b544ae222 Add SkRacy
SkRacy<T> is a zero-overhead wrapper for a T, except it also
silences race warnings when TSAN is running.

Here we apply in several classes.  In SkMatrix and SkPathRef,
we use it to opportunistically cache some idempotent work.

In SkPixelRef, we wrap the genIDs.  We think the worst that
can happen here is we'll increment the global next-genID a
few times instead of once when we go to get another ID.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/d5e3e6ae1b3434ad1158f441902ff65f1eeaa3a7

CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot,Canary-Chrome-Win7-Ninja-x86-SharedLib_ToT-Trybot,Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN-Trybot
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/371363004
2014-07-08 19:37:47 -07:00
..
animator Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
config Add SkBarriers to ports. 2014-05-29 18:24:54 +00:00
core Add SkRacy 2014-07-08 19:37:47 -07:00
device/xps remove all references to legacy Config8888 2014-03-26 13:44:58 +00:00
effects Clean up SkImageFilter constructors. 2014-07-08 09:16:22 -07:00
gpu Fix param name in GrEffect::CastEffect 2014-07-08 10:30:38 -07:00
images Remove SkImageRef and related functionality. 2014-06-04 14:38:48 -04:00
pathops add pathops tight bounds; conform path ops' gyp to unit tests 2014-06-24 07:55:12 -07:00
pdf change gpudevice and pdfdevice to inherit from basedevice 2014-06-27 11:34:19 -07:00
pipe Fixes for piping bitmaps with encoded data. 2013-04-30 02:32:41 +00:00
ports Uses optional mutex to guard construction of the singleton, which 2014-07-01 18:54:41 -07:00
record add SK_API to include/record 2014-04-28 21:04:32 +00:00
svg Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
text Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
utils Split SkPicturePlayback out of SkPictureData 2014-07-07 13:46:35 -07:00
views Drop executable flag from headers so that they can be packaged 2014-03-11 19:55:51 +00:00
xml Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00