aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/effects/GrDistanceFieldGeoProc.h
diff options
context:
space:
mode:
authorGravatar joshualitt <joshualitt@chromium.org>2015-12-08 10:47:55 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-12-08 10:47:56 -0800
commitd9d30f7b577711a200395f7b62acc0d82a19f9c3 (patch)
tree7b42d235539a831e182b903051195bfdc4bbd10a /src/gpu/effects/GrDistanceFieldGeoProc.h
parentb0bd1516bff3f5afcbfd615e805867531657811b (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.h6
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;