Working patch to remove constant attributes.  This may cause some gm mismatches, I will rebaseline tonight.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/84c94c0dfd1e12e97d8a835882dda575f36e41d2

Review URL: https://codereview.chromium.org/678073005
diff --git a/src/gpu/gl/GrGLProgram.h b/src/gpu/gl/GrGLProgram.h
index e8aef35..ca75e20 100644
--- a/src/gpu/gl/GrGLProgram.h
+++ b/src/gpu/gl/GrGLProgram.h
@@ -60,27 +60,6 @@
     virtual bool hasVertexShader() const { return true; }
 
     /**
-     * Some GL state that is relevant to programs is not stored per-program. In particular color
-     * and coverage attributes can be global state. This struct is read and updated by
-     * GrGLProgram::setColor and GrGLProgram::setCoverage to allow us to avoid setting this state
-     * redundantly.
-     */
-    struct SharedGLState {
-        GrColor fConstAttribColor;
-        int     fConstAttribColorIndex;
-        GrColor fConstAttribCoverage;
-        int     fConstAttribCoverageIndex;
-
-        SharedGLState() { this->invalidate(); }
-        void invalidate() {
-            fConstAttribColor = GrColor_ILLEGAL;
-            fConstAttribColorIndex = -1;
-            fConstAttribCoverage = GrColor_ILLEGAL;
-            fConstAttribCoverageIndex = -1;
-        }
-    };
-
-    /**
      * The GrDrawState's view matrix along with the aspects of the render target determine the
      * matrix sent to GL. The size of the render target affects the GL matrix because we must
      * convert from Skia device coords to GL's normalized coords. Also the origin of the render
@@ -152,8 +131,7 @@
      */
     void setData(const GrOptDrawState&,
                  GrGpu::DrawType,
-                 const GrDeviceCoordTexture* dstCopy, // can be NULL
-                 SharedGLState*);
+                 const GrDeviceCoordTexture* dstCopy /* can be NULL*/);
 
 protected:
     typedef GrGLProgramDataManager::UniformHandle UniformHandle;
@@ -173,11 +151,11 @@
 
     // Helper for setData(). Makes GL calls to specify the initial color when there is not
     // per-vertex colors.
-    void setColor(const GrOptDrawState&, GrColor color, SharedGLState*);
+    void setColor(const GrOptDrawState&, GrColor color);
 
     // Helper for setData(). Makes GL calls to specify the initial coverage when there is not
     // per-vertex coverages.
-    void setCoverage(const GrOptDrawState&, GrColor coverage, SharedGLState*);
+    void setCoverage(const GrOptDrawState&, GrColor coverage);
 
     // A templated helper to loop over effects, set the transforms(via subclass) and bind textures
     void setFragmentData(const GrOptDrawState&);