Handle F16Norm clamping in SkPaint->GrPaint conversion.

Previously this clamping was inserted by the program builder.

Adds GrSaturateProcessor to handle saturating in the fragment shader.

Clamp the GrPaint color rather than using a fp when possible.

Has to be plumbed through GrTextureOp because that skips SkPaint
conversion.

Removes a usage of GrPixelConfig.

Bug: skia:6718
Change-Id: Ifa6544496d34677f17e797433e6ef3a97be5c2b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/242558
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/gn/gpu.gni b/gn/gpu.gni
index d5844a2..181a615 100644
--- a/gn/gpu.gni
+++ b/gn/gpu.gni
@@ -388,6 +388,8 @@
   "$_src/gpu/effects/generated/GrRectBlurEffect.h",
   "$_src/gpu/effects/generated/GrRRectBlurEffect.cpp",
   "$_src/gpu/effects/generated/GrRRectBlurEffect.h",
+  "$_src/gpu/effects/generated/GrSaturateProcessor.cpp",
+  "$_src/gpu/effects/generated/GrSaturateProcessor.h",
   "$_src/gpu/effects/generated/GrSimpleTextureEffect.cpp",
   "$_src/gpu/effects/generated/GrSimpleTextureEffect.h",