Keep paint color range/precision into ops and GPs (using GrColor4h)
We still degrade to bytes when creating vertices (tagged TODO4F).
Note: Guarded for Chrome (by making GrColor4h a wrapper around
GrColor).
Bug: skia:
Change-Id: Id8a1d9eec7978d52b059cd9952666bc1217ee073
Reviewed-on: https://skia-review.googlesource.com/c/165527
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/ops/GrDefaultPathRenderer.cpp b/src/gpu/ops/GrDefaultPathRenderer.cpp
index 0bff89c..f542961 100644
--- a/src/gpu/ops/GrDefaultPathRenderer.cpp
+++ b/src/gpu/ops/GrDefaultPathRenderer.cpp
@@ -363,7 +363,7 @@
SkString dumpInfo() const override {
SkString string;
- string.appendf("Color: 0x%08x Count: %d\n", fColor, fPaths.count());
+ string.appendf("Color: 0x%08x Count: %d\n", fColor.toGrColor(), fPaths.count());
for (const auto& path : fPaths) {
string.appendf("Tolerance: %.2f\n", path.fTolerance);
}
@@ -372,7 +372,7 @@
return string;
}
- DefaultPathOp(const Helper::MakeArgs& helperArgs, GrColor color, const SkPath& path,
+ DefaultPathOp(const Helper::MakeArgs& helperArgs, GrColor4h color, const SkPath& path,
SkScalar tolerance, uint8_t coverage, const SkMatrix& viewMatrix, bool isHairline,
GrAAType aaType, const SkRect& devBounds,
const GrUserStencilSettings* stencilSettings)
@@ -465,7 +465,7 @@
return CombineResult::kMerged;
}
- GrColor color() const { return fColor; }
+ GrColor4h color() const { return fColor; }
uint8_t coverage() const { return fCoverage; }
const SkMatrix& viewMatrix() const { return fViewMatrix; }
bool isHairline() const { return fIsHairline; }
@@ -477,7 +477,7 @@
SkSTArray<1, PathData, true> fPaths;
Helper fHelper;
- GrColor fColor;
+ GrColor4h fColor;
uint8_t fCoverage;
SkMatrix fViewMatrix;
bool fIsHairline;