diff --git a/tests/PrimitiveProcessorTest.cpp b/tests/PrimitiveProcessorTest.cpp
index 7a080c5..55049ea 100644
--- a/tests/PrimitiveProcessorTest.cpp
+++ b/tests/PrimitiveProcessorTest.cpp
@@ -56,12 +56,7 @@
                     fAttribNames.push_back().printf("attr%d", i);
                 }
                 for (auto i = 0; i < numAttribs; ++i) {
-                    Attribute attribute;
-                    attribute.fType = kVec2f_GrVertexAttribType;
-                    attribute.fName = fAttribNames[i].c_str();
-                    attribute.fOffset = 2 * sizeof(float) * i;
-                    attribute.fPrecision = kDefault_GrSLPrecision;
-                    this->addVertexAttrib(attribute);
+                    this->addVertexAttrib(fAttribNames[i].c_str(), kVec2f_GrVertexAttribType);
                 }
             };
             const char* name() const override { return "Dummy GP"; }
