skia2/src
Mike Klein 37155d476c Rework out-of-gamut handling in SkRasterPipeline
Instead of trying to carefully manage the in-gamut / out-of-gamut state
of the pipeline, let's do what a GPU would do, clamping to representable
range in any float -> integer conversion.

Most effects doing table lookups now clamp themselves internally, and
the store_foo() methods clamp when the destination is fixed point.  In
turn the from_srgb() conversions and all future transfer function stages
can care less about this stuff.

If I'm thinking right, the _lowp side of things need not change at all,
and that will soften the performance impact of this change.  Anything
that was fast to begin with was probably running a _lowp pipeline.

Bug: skia:7419

Change-Id: Id2e080ac240a97b900a1ac131c85d9e15f70af32
Reviewed-on: https://skia-review.googlesource.com/85740
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
2017-12-18 18:48:42 +00:00
..
android Revert[4] "guard old apis for querying byte-size of a bitmap/imageinfo/pixmap" 2017-10-03 20:03:35 +00:00
atlastext Fix SkInternalAtlasTextContext to update advance the flush token after issuing each draw. 2017-11-30 15:37:57 +00:00
c Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
codec Remove SkColorSpace_Base::MakeNamed, along with most uses of Adobe RGB 2017-12-14 16:11:31 +00:00
core Rework out-of-gamut handling in SkRasterPipeline 2017-12-18 18:48:42 +00:00
effects Rework out-of-gamut handling in SkRasterPipeline 2017-12-18 18:48:42 +00:00
fonts move Sk{Test,Random}ScalerContext to tools 2017-11-10 17:02:20 +00:00
gpu CCPR: Merge triangle hull and edge shaders 2017-12-18 17:27:12 +00:00
image remove deprecated SkPixelSerializer 2017-12-16 14:21:32 +00:00
images Push much of the SkColorSpace_Base interface up to SkColorSpace 2017-12-12 19:34:29 +00:00
jumper Rework out-of-gamut handling in SkRasterPipeline 2017-12-18 18:48:42 +00:00
lazy SkDiscardableMemoryPool: always have a mutex for testing 2017-05-05 15:10:13 +00:00
opts Remove previous blur image implementation. Try 2 2017-12-06 17:37:49 +00:00
pathops move divide by zero inside guard 2017-12-13 20:22:30 +00:00
pdf Revert "Revert "remove SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER dead code"" 2017-12-15 20:43:10 +00:00
pipe convert pipe over to serial procs 2017-12-14 16:08:01 +00:00
ports turn on extended Clang warnings on Windows too 2017-12-04 19:29:51 +00:00
sfnt Windows GDI Typeface: set NotEmbeddable_FontFlag same as other backends. 2017-11-10 14:21:17 +00:00
shaders Remove SkClampRange (unused) 2017-12-14 16:38:31 +00:00
sksl converted GrMagnifierEffect to SkSL 2017-12-13 20:01:40 +00:00
svg Add a SkWStream-based SkSVGCanvas factory 2017-09-19 20:33:19 +00:00
utils fix zero length dashed lines 2017-12-15 16:10:38 +00:00
views Remove more views code, just to simplify things 2017-12-01 17:12:49 +00:00
xml Remove trailing whitespace. 2017-10-09 21:20:34 +00:00
xps turn on extended Clang warnings on Windows too 2017-12-04 19:29:51 +00:00