Change to create device coord coordset

BUG=skia:

Review URL: https://codereview.chromium.org/812063002
diff --git a/src/gpu/gl/GrGLProgramDesc.cpp b/src/gpu/gl/GrGLProgramDesc.cpp
index 06377c7..6e3128c 100644
--- a/src/gpu/gl/GrGLProgramDesc.cpp
+++ b/src/gpu/gl/GrGLProgramDesc.cpp
@@ -52,8 +52,9 @@
     kPrecisionShift      = kMatrixTypeKeyBits,
 
     kPositionCoords_Flag = (1 << (kPrecisionShift + kPrecisionBits)),
+    kDeviceCoords_Flag   = kPositionCoords_Flag + kPositionCoords_Flag,
 
-    kTransformKeyBits    = kMatrixTypeKeyBits + kPrecisionBits + 1,
+    kTransformKeyBits    = kMatrixTypeKeyBits + kPrecisionBits + 2,
 };
 
 GR_STATIC_ASSERT(kHigh_GrSLPrecision < (1 << kPrecisionBits));
@@ -78,8 +79,10 @@
         }
 
         const GrCoordTransform& coordTransform = stage.getProcessor()->coordTransform(t);
-        if (kLocal_GrCoordSet != coordTransform.sourceCoords() && useExplicitLocalCoords) {
+        if (kLocal_GrCoordSet == coordTransform.sourceCoords() && !useExplicitLocalCoords) {
             key |= kPositionCoords_Flag;
+        } else if (kDevice_GrCoordSet == coordTransform.sourceCoords()) {
+            key |= kDeviceCoords_Flag;
         }
 
         GR_STATIC_ASSERT(kGrSLPrecisionCount <= (1 << kPrecisionBits));