| Index: src/gpu/GrContext.cpp
 | 
| ===================================================================
 | 
| --- src/gpu/GrContext.cpp	(revision 8462)
 | 
| +++ src/gpu/GrContext.cpp	(working copy)
 | 
| @@ -358,17 +358,13 @@
 | 
|          GrTextureParams params(SkShader::kClamp_TileMode, needsFiltering);
 | 
|          drawState->createTextureEffect(0, clampedTexture, SkMatrix::I(), params);
 | 
|  
 | 
| -        // position + texture coordinate
 | 
| +        // position + local coordinate
 | 
|          static const GrVertexAttrib kVertexAttribs[] = {
 | 
| -            {kVec2f_GrVertexAttribType, 0},
 | 
| -            {kVec2f_GrVertexAttribType, sizeof(GrPoint)}
 | 
| +            {kVec2f_GrVertexAttribType, 0,               kPosition_GrVertexAttribBinding},
 | 
| +            {kVec2f_GrVertexAttribType, sizeof(GrPoint), kLocalCoord_GrVertexAttribBinding}
 | 
|          };
 | 
| +        drawState->setVertexAttribs(kVertexAttribs, SK_ARRAY_COUNT(kVertexAttribs));
 | 
|  
 | 
| -        static const GrAttribBindings kAttribBindings = GrDrawState::kLocalCoords_AttribBindingsBit;
 | 
| -        drawState->setAttribBindings(kAttribBindings);
 | 
| -        drawState->setVertexAttribs(kVertexAttribs, SK_ARRAY_COUNT(kVertexAttribs));
 | 
| -        drawState->setAttribIndex(GrDrawState::kPosition_AttribIndex, 0);
 | 
| -        drawState->setAttribIndex(GrDrawState::kLocalCoords_AttribIndex, 1);
 | 
|          GrDrawTarget::AutoReleaseGeometry arg(fGpu, 4, 0);
 | 
|  
 | 
|          if (arg.succeeded()) {
 | 
| @@ -925,19 +921,16 @@
 | 
|      GrVertexAttribArray<3> attribs;
 | 
|      size_t currentOffset = 0;
 | 
|      int colorOffset = -1, texOffset = -1;
 | 
| -    GrAttribBindings bindings = GrDrawState::kDefault_AttribBindings;
 | 
|  
 | 
|      // set position attribute
 | 
| -    drawState->setAttribIndex(GrDrawState::kPosition_AttribIndex, attribs.count());
 | 
| -    GrVertexAttrib currAttrib = {kVec2f_GrVertexAttribType, currentOffset};
 | 
| +    GrVertexAttrib currAttrib =
 | 
| +        {kVec2f_GrVertexAttribType, currentOffset, kPosition_GrVertexAttribBinding};
 | 
|      attribs.push_back(currAttrib);
 | 
|      currentOffset += sizeof(GrPoint);
 | 
|  
 | 
|      // set up optional texture coordinate attributes
 | 
|      if (NULL != texCoords) {
 | 
| -        bindings |= GrDrawState::kLocalCoords_AttribBindingsBit;
 | 
| -        drawState->setAttribIndex(GrDrawState::kLocalCoords_AttribIndex, attribs.count());
 | 
| -        currAttrib.set(kVec2f_GrVertexAttribType, currentOffset);
 | 
| +        currAttrib.set(kVec2f_GrVertexAttribType, currentOffset, kLocalCoord_GrVertexAttribBinding);
 | 
|          attribs.push_back(currAttrib);
 | 
|          texOffset = currentOffset;
 | 
|          currentOffset += sizeof(GrPoint);
 | 
| @@ -945,16 +938,13 @@
 | 
|  
 | 
|      // set up optional color attributes
 | 
|      if (NULL != colors) {
 | 
| -        bindings |= GrDrawState::kColor_AttribBindingsBit;
 | 
| -        drawState->setAttribIndex(GrDrawState::kColor_AttribIndex, attribs.count());
 | 
| -        currAttrib.set(kVec4ub_GrVertexAttribType, currentOffset);
 | 
| +        currAttrib.set(kVec4ub_GrVertexAttribType, currentOffset, kColor_GrVertexAttribBinding);
 | 
|          attribs.push_back(currAttrib);
 | 
|          colorOffset = currentOffset;
 | 
|          currentOffset += sizeof(GrColor);
 | 
|      }
 | 
|  
 | 
|      drawState->setVertexAttribs(attribs.begin(), attribs.count());
 | 
| -    drawState->setAttribBindings(bindings);
 | 
|  
 | 
|      size_t vertexSize = drawState->getVertexSize();
 | 
|      GrAssert(vertexSize == currentOffset);
 | 
| 
 |