aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrDefaultGeoProcFactory.h
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2017-05-31 09:37:27 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-05-31 20:28:07 +0000
commitfa6d865215b48fac4ee24c120736e500d418f641 (patch)
treea2ddeaaf5ce659d428e655c74dcdb7858da46bf4 /src/gpu/GrDefaultGeoProcFactory.h
parent25f3805efa465bc3f804f192fe1ee64450f01d7c (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.h17
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 {