skia2/include/gpu
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
..
effects added support for PLS path rendering 2016-01-30 09:59:10 -08:00
gl Add GLSL support for texelFetch 2016-04-11 13:02:05 -07:00
vk Add WSI functions to GrVkInterface 2016-03-28 07:03:06 -07:00
GrBlend.h Create fragment processor for performing input color blend with child processor 2015-09-15 15:33:27 -07:00
GrBuffer.h Implement texel buffers 2016-04-11 14:47:28 -07:00
GrBufferAccess.h Implement texel buffers 2016-04-11 14:47:28 -07:00
GrCaps.h Add GLSL support for texelFetch 2016-04-11 13:02:05 -07:00
GrClip.h Begin weaning GrClipMaskManager off of GrDrawTarget (take 2) 2016-03-02 09:26:36 -08:00
GrColor.h sRGB support in Ganesh. Several pieces: 2016-03-21 06:55:37 -07:00
GrConfig.h Remove version checks for _MSC_VER < 1800 (msvs2013). 2016-03-10 11:14:40 -08:00
GrContext.h Add GrContext::releaseAndAbandonContext() 2016-04-01 11:54:31 -07:00
GrContextOptions.h Consolidate GPU buffer implementations 2016-03-25 12:15:03 -07:00
GrCoordTransform.h some utils for rect and matrix 2015-03-13 06:08:28 -07:00
GrDrawContext.h Rename lots of things from 'sRGB' to 'GammaCorrect', where appropriate 2016-04-13 13:10:14 -07:00
GrFragmentProcessor.h Implement texel buffers 2016-04-11 14:47:28 -07:00
GrGpuResource.h Add onMemoryDump to GrContext 2015-09-15 14:16:10 -07:00
GrGpuResourceRef.h apply mozilla patch 2015-11-10 04:55:08 -08:00
GrInvariantOutput.h Make skpaint->grpaint flow work for composing draws (verts and atlas) 2015-09-28 06:26:29 -07:00
GrPaint.h Tweak distance field path renderer behavior in gamma-correct mode to match 2016-04-13 13:56:21 -07:00
GrProcessor.h Implement texel buffers 2016-04-11 14:47:28 -07:00
GrProcessorUnitTest.h Move SkTArray to include/private. 2016-02-17 13:13:44 -08:00
GrProgramElement.h Move SkTArray to include/private. 2016-02-17 13:13:44 -08:00
GrRenderTarget.h Dependencies are now added between the drawTargets in GrPipeline 2015-10-30 10:11:30 -07:00
GrResourceKey.h Modernize and trim down SkOnce. 2016-04-18 08:09:11 -07:00
GrShaderVar.h added support for PLS path rendering 2016-01-30 09:59:10 -08:00
GrSurface.h Cleaning up trailing spaces and typos. 2016-01-26 09:10:48 -08:00
GrTestUtils.h Appease valgrind wrt testing code initialization 2016-04-07 09:01:20 -07:00
GrTexture.h Add support for vertex and geometry shader textures 2016-03-11 10:07:37 -08:00
GrTextureAccess.h Infer sampler precision from pixel config 2016-04-11 12:03:08 -07:00
GrTextureParams.h sRGB support in Ganesh. Several pieces: 2016-03-21 06:55:37 -07:00
GrTextureProvider.h Don't allow nullptr in texels array params (unless using a transfer buffer). 2016-03-09 06:25:16 -08:00
GrTypes.h Remove GrTextureStorageAllocator. This was added from Chromium but never used and not expected to be used. 2016-04-13 14:29:25 -07:00
GrTypesPriv.h Implement texel buffers 2016-04-11 14:47:28 -07:00
GrXferProcessor.h added support for PLS path rendering 2016-01-30 09:59:10 -08:00
SkGr.h sRGB support in Ganesh. Several pieces: 2016-03-21 06:55:37 -07:00
SkGrPixelRef.h Make SkBitmap::CopyTo respect requested dst color type when bitmap is texture backed. 2016-01-11 11:14:17 -08:00
SkGrTexturePixelRef.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00