Index: src/gpu/GrAARectRenderer.cpp |
=================================================================== |
--- src/gpu/GrAARectRenderer.cpp (revision 8462) |
+++ src/gpu/GrAARectRenderer.cpp (working copy) |
@@ -13,15 +13,17 @@ |
namespace { |
-static void aa_rect_attributes(bool useCoverage, GrAttribBindings* bindings, |
- GrDrawState::AttribIndex* index) { |
- if (useCoverage) { |
- *bindings = GrDrawState::kCoverage_AttribBindingsBit; |
- *index = GrDrawState::kCoverage_AttribIndex; |
- } else { |
- *bindings = GrDrawState::kColor_AttribBindingsBit; |
- *index = GrDrawState::kColor_AttribIndex; |
- } |
+static void aa_rect_attributes(bool useCoverage, const GrVertexAttrib** attribs, int* count) { |
+ static const GrVertexAttrib kCoverageAttribs[] = { |
+ {kVec2f_GrVertexAttribType, 0, kPosition_GrVertexAttribBinding}, |
+ {kVec4ub_GrVertexAttribType, sizeof(GrPoint), kCoverage_GrVertexAttribBinding}, |
+ }; |
+ static const GrVertexAttrib kColorAttribs[] = { |
+ {kVec2f_GrVertexAttribType, 0, kPosition_GrVertexAttribBinding}, |
+ {kVec4ub_GrVertexAttribType, sizeof(GrPoint), kColor_GrVertexAttribBinding}, |
+ }; |
+ *attribs = useCoverage ? kCoverageAttribs : kColorAttribs; |
+ *count = 2; |
} |
static void set_inset_fan(GrPoint* pts, size_t stride, |
@@ -128,18 +130,10 @@ |
bool useVertexCoverage) { |
GrDrawState* drawState = target->drawState(); |
- // position + color/coverage |
- static const GrVertexAttrib kVertexAttribs[] = { |
- {kVec2f_GrVertexAttribType, 0}, |
- {kVec4ub_GrVertexAttribType, sizeof(GrPoint)} |
- }; |
- GrAttribBindings bindings; |
- GrDrawState::AttribIndex attribIndex; |
- aa_rect_attributes(useVertexCoverage, &bindings, &attribIndex); |
- drawState->setVertexAttribs(kVertexAttribs, SK_ARRAY_COUNT(kVertexAttribs)); |
- drawState->setAttribBindings(bindings); |
- drawState->setAttribIndex(GrDrawState::kPosition_AttribIndex, 0); |
- drawState->setAttribIndex(attribIndex, 1); |
+ const GrVertexAttrib* attribs; |
+ int attribCount; |
+ aa_rect_attributes(useVertexCoverage, &attribs, &attribCount); |
+ drawState->setVertexAttribs(attribs, attribCount); |
GrDrawTarget::AutoReleaseGeometry geo(target, 8, 0); |
if (!geo.succeeded()) { |
@@ -212,18 +206,10 @@ |
return; |
} |
- // position + color/coverage |
- static const GrVertexAttrib kVertexAttribs[] = { |
- {kVec2f_GrVertexAttribType, 0}, |
- {kVec4ub_GrVertexAttribType, sizeof(GrPoint)} |
- }; |
- GrAttribBindings bindings; |
- GrDrawState::AttribIndex attribIndex; |
- aa_rect_attributes(useVertexCoverage, &bindings, &attribIndex); |
- drawState->setVertexAttribs(kVertexAttribs, SK_ARRAY_COUNT(kVertexAttribs)); |
- drawState->setAttribBindings(bindings); |
- drawState->setAttribIndex(GrDrawState::kPosition_AttribIndex, 0); |
- drawState->setAttribIndex(attribIndex, 1); |
+ const GrVertexAttrib* attribs; |
+ int attribCount; |
+ aa_rect_attributes(useVertexCoverage, &attribs, &attribCount); |
+ drawState->setVertexAttribs(attribs, attribCount); |
GrDrawTarget::AutoReleaseGeometry geo(target, 16, 0); |
if (!geo.succeeded()) { |