diff options
author | joshualitt <joshualitt@chromium.org> | 2015-12-08 10:47:55 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-08 10:47:56 -0800 |
commit | d9d30f7b577711a200395f7b62acc0d82a19f9c3 (patch) | |
tree | 7b42d235539a831e182b903051195bfdc4bbd10a /src/gpu/effects/GrDistanceFieldGeoProc.h | |
parent | b0bd1516bff3f5afcbfd615e805867531657811b (diff) |
Allow LCD text to batch across colorchanges. This will always use
color vertices, even when we can't batch across color changes
BUG=skia:
Review URL: https://codereview.chromium.org/1502253003
Diffstat (limited to 'src/gpu/effects/GrDistanceFieldGeoProc.h')
-rw-r--r-- | src/gpu/effects/GrDistanceFieldGeoProc.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gpu/effects/GrDistanceFieldGeoProc.h b/src/gpu/effects/GrDistanceFieldGeoProc.h index e17a0ce781..ad14c518d0 100644 --- a/src/gpu/effects/GrDistanceFieldGeoProc.h +++ b/src/gpu/effects/GrDistanceFieldGeoProc.h @@ -35,7 +35,8 @@ enum GrDistanceFieldEffectFlags { kLCD_DistanceFieldEffectMask = kSimilarity_DistanceFieldEffectFlag | kRectToRect_DistanceFieldEffectFlag | kUseLCD_DistanceFieldEffectFlag | - kBGR_DistanceFieldEffectFlag, + kBGR_DistanceFieldEffectFlag | + kColorAttr_DistanceFieldEffectFlag, }; /** @@ -197,10 +198,12 @@ public: const char* name() const override { return "DistanceFieldLCDTexture"; } const Attribute* inPosition() const { return fInPosition; } + const Attribute* inColor() const { return fInColor; } const Attribute* inTextureCoords() const { return fInTextureCoords; } DistanceAdjust getDistanceAdjust() const { return fDistanceAdjust; } GrColor color() const { return fColor; } bool colorIgnored() const { return GrColor_ILLEGAL == fColor; } + bool hasVertexColor() const { return SkToBool(fInColor); } const SkMatrix& viewMatrix() const { return fViewMatrix; } uint32_t getFlags() const { return fFlags; } bool usesLocalCoords() const { return fUsesLocalCoords; } @@ -221,6 +224,7 @@ private: DistanceAdjust fDistanceAdjust; uint32_t fFlags; const Attribute* fInPosition; + const Attribute* fInColor; const Attribute* fInTextureCoords; bool fUsesLocalCoords; |