skia2/include/gpu
brianosman b9c5137a1c Add storage and computation of SkColor4f version of gradient stops.
For now, we still only have the SkColor factory, but the Descriptor can
now carry either an SkColor or SkColor4f specified gradient. Base class
constructor automatically populates both forms of color, so that legacy
raster backend will continue to work, and new backend work can operate
directly from the float4 version.

On the GPU side, we have similar logic, but GrGradientEffect only
keeps one version of colors around: SkColor if the destination is
legacy, and SkColor4f (with an optional gamut xform) if the destination
is gamma correct. The 4f colors are already linear, and we gamut xform
them in setData, so gradients are now fully color-correct in sRGB and
F16 modes...

... unless there are more than three stops. Then we use a texture, and
that code path isn't handled yet. We have a few choices here (do we
use an 8-bit sRGB atlas, or just always use F16 linear atlas so we can
share it among both sRGB and wide-gamut rendering). In any case, I'd
like to defer that to a second CL.

This change does fix the non-texture gradients in the gamut GM.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2337313002

Review-Url: https://codereview.chromium.org/2337313002
2016-09-15 11:09:45 -07:00
..
effects sk_sp for Ganesh. 2016-06-09 08:01:03 -07:00
gl Add support for glDrawRangeElements 2016-08-29 09:18:39 -07:00
vk Add gyp define to enable vulkan debug layers 2016-07-27 08:03:57 -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 Add resource provider flag to avoid client-side buffers 2016-07-13 10:16:32 -07:00
GrBufferAccess.h Abandon offset support with texel buffers 2016-06-03 08:50:54 -07:00
GrCaps.h Include EXT_window_rectangles API 2016-08-09 12:42:47 -07:00
GrClip.h Converts a drawPaint through a rrect clip to a drawRRect in GrDrawContext. 2016-08-26 10:48:19 -07:00
GrColor.h Push usage of GrColor4f into OverrideInput 2016-09-08 09:33:50 -07:00
GrColorSpaceXform.h Add storage and computation of SkColor4f version of gradient stops. 2016-09-15 11:09:45 -07:00
GrConfig.h Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER. 2016-04-29 06:41:35 -07:00
GrContext.h Restructure flushing relationship between GrContext, GrDrawingManager, and GrResourceCache. 2016-09-07 10:02:04 -07:00
GrContextOptions.h Add test configs for instanced rendering 2016-07-29 08:14:20 -07:00
GrCoordTransform.h some utils for rect and matrix 2015-03-13 06:08:28 -07:00
GrDrawContext.h Gamut transformation of the paint color in Ganesh 2016-09-12 12:07:25 -07:00
GrFragmentProcessor.h Remove ability to skip coord transform comparison in pipeline comparison. 2016-09-12 08:55:38 -07:00
GrGpuResource.h Have GrSurfaceProxys and GrGpuResources draw from the same pool of unique ids 2016-08-31 14:04:06 -07:00
GrGpuResourceRef.h apply mozilla patch 2015-11-10 04:55:08 -08:00
GrInvariantOutput.h Added premulFourChannelColor to GrInvariantOutput 2016-07-14 09:02:18 -07:00
GrPaint.h Inline fast path for GrPaint::isConstantBlendedColor when no color FPs and src-over blend. 2016-08-11 07:39:33 -07:00
GrProcessor.h remove non-static uses of SkOncePtr 2016-05-02 07:19:41 -07:00
GrProcessorUnitTest.h sk_sp for Ganesh. 2016-06-09 08:01:03 -07:00
GrProgramElement.h Move SkTArray to include/private. 2016-02-17 13:13:44 -08:00
GrRenderTarget.h Add flag for window rectangles to GrRenderTarget 2016-08-10 11:09:07 -07:00
GrResourceKey.h Move off SK_SUPPORT_LEGACY_DATA_FACTORIES. 2016-08-02 14:40:46 -07:00
GrShaderVar.h Refactor how we store and use samplers in Ganesh 2016-04-20 07:09:46 -07:00
GrSurface.h Flush some non-substantive Ganesh changes 2016-08-31 15:06:24 -07:00
GrTestUtils.h Move GrNonAAFillRectPerspectiveBatch to its own file 2016-07-06 09:58:57 -07:00
GrTexture.h Better (?) interface for controlling sRGB-ness of mipmaps on GrTexture 2016-06-13 07:59:48 -07:00
GrTextureAccess.h Infer sampler precision from pixel config 2016-04-11 12:03:08 -07:00
GrTextureParams.h Remove sRGB overrides on GrTextureParams. Use GrPaint flags instead. 2016-05-24 06:18:48 -07:00
GrTextureProvider.h Remove some unnecessary #includes of SkImageFilter.h 2016-04-22 07:36:12 -07:00
GrTypes.h Add Vulkan docs 2016-09-06 14:18:13 -07:00
GrTypesPriv.h Improve usage of window rectangles 2016-09-06 10:01:07 -07:00
GrXferProcessor.h Remove hasMixedSamples() from GrPipelineBuilder 2016-05-06 09:41:16 -07:00
SkGr.h remove/deprecate SkBitmap::getTexture, as it now always returns false 2016-07-25 08:29:10 -07:00