skia2/include
mtklein d9dd428211 Modernize and trim down SkOnce.
The API and implementation are very much simplified.
You may not want to bother reading the diff.

As is our trend, SkOnce now uses <atomic> directly.

Member initialization means we don't need SK_DECLARE_STATIC_ONCE.
SkSpinlock already works this same way.

All uses of the old API taking an external bool* and Lock* were pessimal,
so I have not carried this sort of API forward.  It's simpler, faster,
and more space-efficient to always use this single SkOnce class interface.

SkOnce weighs 2 bytes: a done bool and an SkSpinlock, also a bool internally.
This API refactoring opens up the opportunity to fuse those into a single
three-state byte if we'd like.

No public API changes.
TBR=reed@google.com

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1894893002

Review URL: https://codereview.chromium.org/1894893002
2016-04-18 08:09:11 -07:00
..
android Move SkBitmapRegionDecoder to include/android and src/android 2015-11-13 06:11:09 -08:00
animator Change SkTime::GetMSecs to double; ensure values stored in SkMSec do not overflow. 2016-03-25 12:59:53 -07:00
c add drawCircle to c api 2016-02-09 13:25:51 -08:00
codec Parse icc profiles and exif orientation from jpeg markers 2016-03-21 08:04:40 -07:00
config SkPDF: Use Pathops clipping 2016-03-31 07:33:57 -07:00
core Revert of Remove deprecated paths from image filter infrastructure. (patchset #2 id:20001 of https://codereview.chromium.org/1888243003/ ) 2016-04-17 14:31:22 -07:00
effects Modernize and trim down SkOnce. 2016-04-18 08:09:11 -07:00
gpu Modernize and trim down SkOnce. 2016-04-18 08:09:11 -07:00
images Delete SkPageFlipper 2016-03-25 10:31:22 -07:00
pathops Move SkTDArray to private. 2016-02-18 08:53:33 -08:00
ports Modernize and trim down SkOnce. 2016-04-18 08:09:11 -07:00
private Modernize and trim down SkOnce. 2016-04-18 08:09:11 -07:00
svg move SkTDict and SkTSearch into private 2016-01-03 18:36:05 -08:00
utils Reverse dependency between SkScalar.h and SkFixed.h. 2016-04-07 08:49:31 -07:00
views Move SkGLContext and some GrGLInterface implementations to skgputest module 2016-03-30 18:56:20 -07:00
xml remove unused BML (binary xml) code 2016-04-09 11:09:49 -07:00