Add clamped half-float pixel config to Ganesh
Currently doesn't do any clamping, but connects the new config to the
recently added SkColorType. Behavioral changes coming in future CLs.
Bug: skia:
Change-Id: I907396030c435d0aa5931063b3dc6f1b60c661af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/199980
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
diff --git a/src/gpu/SkGr.cpp b/src/gpu/SkGr.cpp
index 6fdfea5..609a14e 100644
--- a/src/gpu/SkGr.cpp
+++ b/src/gpu/SkGr.cpp
@@ -272,6 +272,7 @@
if (auto* xform = colorSpaceInfo.colorSpaceXformFromSRGB()) {
color = xform->apply(color);
}
+ // TODO: Should we clamp here if config is kRGBA_half_Clamped_GrPixelConfig?
if (!GrPixelConfigIsFloatingPoint(colorSpaceInfo.config()) ||
!caps.halfFloatVertexAttributeSupport()) {
color = { SkTPin(color.fR, 0.0f, 1.0f),
@@ -306,8 +307,8 @@
return kUnknown_GrPixelConfig;
case kGray_8_SkColorType:
return kGray_8_GrPixelConfig;
- case kRGBA_F16Norm_SkColorType: // TODO(brianosman): anything to do here?
- return kRGBA_half_GrPixelConfig;
+ case kRGBA_F16Norm_SkColorType:
+ return kRGBA_half_Clamped_GrPixelConfig;
case kRGBA_F16_SkColorType:
return kRGBA_half_GrPixelConfig;
case kRGBA_F32_SkColorType:
@@ -363,6 +364,7 @@
case kRGBA_float_GrPixelConfig:
case kRG_float_GrPixelConfig:
case kRGBA_half_GrPixelConfig:
+ case kRGBA_half_Clamped_GrPixelConfig:
case kRGB_ETC1_GrPixelConfig:
case kAlpha_8_GrPixelConfig:
case kAlpha_8_as_Alpha_GrPixelConfig: