diff options
author | 2017-05-31 09:37:27 -0400 | |
---|---|---|
committer | 2017-05-31 20:28:07 +0000 | |
commit | fa6d865215b48fac4ee24c120736e500d418f641 (patch) | |
tree | a2ddeaaf5ce659d428e655c74dcdb7858da46bf4 /src/gpu/GrDefaultGeoProcFactory.h | |
parent | 25f3805efa465bc3f804f192fe1ee64450f01d7c (diff) |
Do color correction of vertex colors in GPU drawVertices
SkColor vertex colors need to be linearized (from sRGB),
and possibly converted from sRGB gamut to destination gamut.
Bug: skia:6659
Change-Id: I2b1b1dd0fa5938519693f56a728fed5957f13fd5
Reviewed-on: https://skia-review.googlesource.com/17534
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/GrDefaultGeoProcFactory.h')
-rw-r--r-- | src/gpu/GrDefaultGeoProcFactory.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/gpu/GrDefaultGeoProcFactory.h b/src/gpu/GrDefaultGeoProcFactory.h index 00ee90d940..6a3c0b75b8 100644 --- a/src/gpu/GrDefaultGeoProcFactory.h +++ b/src/gpu/GrDefaultGeoProcFactory.h @@ -66,13 +66,26 @@ namespace GrDefaultGeoProcFactory { kPremulGrColorAttribute_Type, kUnpremulSkColorAttribute_Type, }; - explicit Color(GrColor color) : fType(kPremulGrColorUniform_Type), fColor(color) {} - Color(Type type) : fType(type), fColor(GrColor_ILLEGAL) { + explicit Color(GrColor color) + : fType(kPremulGrColorUniform_Type) + , fColor(color) + , fLinearize(false) + , fColorSpaceXform(nullptr) {} + Color(Type type) + : fType(type) + , fColor(GrColor_ILLEGAL) + , fLinearize(false) + , fColorSpaceXform(nullptr) { SkASSERT(type != kPremulGrColorUniform_Type); } Type fType; GrColor fColor; + + // These options only apply to SkColor. Any GrColors are assumed to have been color managed + // during paint conversion. + bool fLinearize; + sk_sp<GrColorSpaceXform> fColorSpaceXform; }; struct Coverage { |