Index: src/gpu/GrOvalRenderer.cpp |
diff --git a/src/gpu/GrOvalRenderer.cpp b/src/gpu/GrOvalRenderer.cpp |
index 70b5c7720e0402f237b0b71fef69c9cec1c870e7..465dd2b45e243e1d120d895314c0e074a695b6cd 100644 |
--- a/src/gpu/GrOvalRenderer.cpp |
+++ b/src/gpu/GrOvalRenderer.cpp |
@@ -349,16 +349,10 @@ void GrOvalRenderer::drawCircle(GrDrawTarget* target, |
SkStrokeRec::Style style = stroke.getStyle(); |
bool isStroked = (SkStrokeRec::kStroke_Style == style || SkStrokeRec::kHairline_Style == style); |
- enum { |
- // the edge effects share this stage with glyph rendering |
- // (kGlyphMaskStage in GrTextContext) && SW path rendering |
- // (kPathMaskStage in GrSWMaskHelper) |
- kEdgeEffectStage = GrPaint::kTotalStages, |
- }; |
GrEffectRef* effect = CircleEdgeEffect::Create(isStroked); |
static const int kCircleEdgeAttrIndex = 1; |
- drawState->setEffect(kEdgeEffectStage, effect, kCircleEdgeAttrIndex)->unref(); |
+ drawState->addCoverageEffect(effect, kCircleEdgeAttrIndex)->unref(); |
SkScalar innerRadius = 0.0f; |
SkScalar outerRadius = radius; |
@@ -509,18 +503,11 @@ bool GrOvalRenderer::drawEllipse(GrDrawTarget* target, |
EllipseVertex* verts = reinterpret_cast<EllipseVertex*>(geo.vertices()); |
- enum { |
- // the edge effects share this stage with glyph rendering |
- // (kGlyphMaskStage in GrTextContext) && SW path rendering |
- // (kPathMaskStage in GrSWMaskHelper) |
- kEdgeEffectStage = GrPaint::kTotalStages, |
- }; |
GrEffectRef* effect = EllipseEdgeEffect::Create(isStroked); |
static const int kEllipseCenterAttrIndex = 1; |
static const int kEllipseEdgeAttrIndex = 2; |
- drawState->setEffect(kEdgeEffectStage, effect, |
- kEllipseCenterAttrIndex, kEllipseEdgeAttrIndex)->unref(); |
+ drawState->addCoverageEffect(effect, kEllipseCenterAttrIndex, kEllipseEdgeAttrIndex)->unref(); |
// Compute the reciprocals of the radii here to save time in the shader |
SkScalar xRadRecip = SkScalarInvert(xRadius); |
@@ -657,13 +644,6 @@ bool GrOvalRenderer::drawSimpleRRect(GrDrawTarget* target, GrContext* context, b |
bool isStroked = (SkStrokeRec::kStroke_Style == style || SkStrokeRec::kHairline_Style == style); |
- enum { |
- // the edge effects share this stage with glyph rendering |
- // (kGlyphMaskStage in GrTextContext) && SW path rendering |
- // (kPathMaskStage in GrSWMaskHelper) |
- kEdgeEffectStage = GrPaint::kTotalStages, |
- }; |
- |
GrIndexBuffer* indexBuffer = this->rRectIndexBuffer(context->getGpu()); |
if (NULL == indexBuffer) { |
GrPrintf("Failed to create index buffer!\n"); |
@@ -702,7 +682,7 @@ bool GrOvalRenderer::drawSimpleRRect(GrDrawTarget* target, GrContext* context, b |
GrEffectRef* effect = CircleEdgeEffect::Create(isStroked); |
static const int kCircleEdgeAttrIndex = 1; |
- drawState->setEffect(kEdgeEffectStage, effect, kCircleEdgeAttrIndex)->unref(); |
+ drawState->addCoverageEffect(effect, kCircleEdgeAttrIndex)->unref(); |
// The radii are outset for two reasons. First, it allows the shader to simply perform |
// clamp(distance-to-center - radius, 0, 1). Second, the outer radius is used to compute the |
@@ -805,8 +785,8 @@ bool GrOvalRenderer::drawSimpleRRect(GrDrawTarget* target, GrContext* context, b |
GrEffectRef* effect = EllipseEdgeEffect::Create(isStroked); |
static const int kEllipseOffsetAttrIndex = 1; |
static const int kEllipseRadiiAttrIndex = 2; |
- drawState->setEffect(kEdgeEffectStage, effect, |
- kEllipseOffsetAttrIndex, kEllipseRadiiAttrIndex)->unref(); |
+ drawState->addCoverageEffect(effect, |
+ kEllipseOffsetAttrIndex, kEllipseRadiiAttrIndex)->unref(); |
// Compute the reciprocals of the radii here to save time in the shader |
SkScalar xRadRecip = SkScalarInvert(xRadius); |