When ignoring color input don't use vertex attribs on gpu

Also rename SolidWhite_ColorInput enum to be AllOnes_ColorInput to better reflect what it's use is

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/525433002
diff --git a/src/gpu/gl/GrGLProgram.cpp b/src/gpu/gl/GrGLProgram.cpp
index 11efda9..534e3c3 100644
--- a/src/gpu/gl/GrGLProgram.cpp
+++ b/src/gpu/gl/GrGLProgram.cpp
@@ -188,6 +188,9 @@
                 }
                 sharedState->fConstAttribColorIndex = -1;
                 break;
+            case GrGLProgramDesc::kAllOnes_ColorInput:
+                sharedState->fConstAttribColorIndex = -1;
+                break;
             default:
                 SkFAIL("Unexpected color type.");
         }
@@ -223,7 +226,7 @@
                 }
                 sharedState->fConstAttribCoverageIndex = -1;
                 break;
-            case GrGLProgramDesc::kSolidWhite_ColorInput:
+            case GrGLProgramDesc::kAllOnes_ColorInput:
                 sharedState->fConstAttribCoverageIndex = -1;
                 break;
             default:
diff --git a/src/gpu/gl/GrGLProgramDesc.cpp b/src/gpu/gl/GrGLProgramDesc.cpp
index 286924e..545ed21 100644
--- a/src/gpu/gl/GrGLProgramDesc.cpp
+++ b/src/gpu/gl/GrGLProgramDesc.cpp
@@ -188,7 +188,9 @@
 #endif
     bool defaultToUniformInputs = GR_GL_NO_CONSTANT_ATTRIBUTES || gpu->caps()->pathRenderingSupport();
 
-    if (defaultToUniformInputs && !requiresColorAttrib && inputColorIsUsed) {
+    if (!inputColorIsUsed && !skipColor) {
+        header->fColorInput = kAllOnes_ColorInput;
+    } else if (defaultToUniformInputs && !requiresColorAttrib && inputColorIsUsed) {
         header->fColorInput = kUniform_ColorInput;
     } else {
         header->fColorInput = kAttribute_ColorInput;
@@ -198,7 +200,7 @@
     bool covIsSolidWhite = !requiresCoverageAttrib && 0xffffffff == drawState.getCoverageColor();
 
     if ((covIsSolidWhite || !inputCoverageIsUsed) && !skipCoverage) {
-        header->fCoverageInput = kSolidWhite_ColorInput;
+        header->fCoverageInput = kAllOnes_ColorInput;
     } else if (defaultToUniformInputs && !requiresCoverageAttrib && inputCoverageIsUsed) {
         header->fCoverageInput = kUniform_ColorInput;
     } else {
diff --git a/src/gpu/gl/GrGLProgramDesc.h b/src/gpu/gl/GrGLProgramDesc.h
index 4796d5a..aefcb50 100644
--- a/src/gpu/gl/GrGLProgramDesc.h
+++ b/src/gpu/gl/GrGLProgramDesc.h
@@ -99,7 +99,7 @@
 private:
     // Specifies where the initial color comes from before the stages are applied.
     enum ColorInput {
-        kSolidWhite_ColorInput,
+        kAllOnes_ColorInput,
         kAttribute_ColorInput,
         kUniform_ColorInput,
 
diff --git a/src/gpu/gl/builders/GrGLProgramBuilder.cpp b/src/gpu/gl/builders/GrGLProgramBuilder.cpp
index 141442d..7664bab 100644
--- a/src/gpu/gl/builders/GrGLProgramBuilder.cpp
+++ b/src/gpu/gl/builders/GrGLProgramBuilder.cpp
@@ -51,6 +51,8 @@
                              "Color",
                              &name);
         inputColor = GrGLSLExpr4(name);
+    } else if (GrGLProgramDesc::kAllOnes_ColorInput == header.fColorInput) {
+        inputColor = GrGLSLExpr4(1);
     }
 
     if (GrGLProgramDesc::kUniform_ColorInput == header.fCoverageInput) {
@@ -61,7 +63,7 @@
                              "Coverage",
                              &name);
         inputCoverage = GrGLSLExpr4(name);
-    } else if (GrGLProgramDesc::kSolidWhite_ColorInput == header.fCoverageInput) {
+    } else if (GrGLProgramDesc::kAllOnes_ColorInput == header.fCoverageInput) {
         inputCoverage = GrGLSLExpr4(1);
     }