SkPorterDuff Multiply mode maps to SkXfermode modulate.

bug:19627342
Change-Id: I97f26ca1bc8abe2768f4a12cc70fb0fa5d905098
diff --git a/graphics/java/android/graphics/PorterDuff.java b/graphics/java/android/graphics/PorterDuff.java
index f5fbe70..dcccf35 100644
--- a/graphics/java/android/graphics/PorterDuff.java
+++ b/graphics/java/android/graphics/PorterDuff.java
@@ -51,7 +51,7 @@
              Sc*(1 - Da) + Dc*(1 - Sa) + max(Sc, Dc)] */
         LIGHTEN     (17),
         /** [Sa * Da, Sc * Dc] */
-        MULTIPLY    (24),
+        MULTIPLY    (13),
         /** [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] */
         SCREEN      (14),
         /** Saturate(S + D) */
diff --git a/libs/hwui/ProgramCache.cpp b/libs/hwui/ProgramCache.cpp
index 7ad4a57..e9b22e2 100644
--- a/libs/hwui/ProgramCache.cpp
+++ b/libs/hwui/ProgramCache.cpp
@@ -380,9 +380,9 @@
         // Xor
         "return vec4(src.rgb * (1.0 - dst.a) + (1.0 - src.a) * dst.rgb, "
                 "src.a + dst.a - 2.0 * src.a * dst.a);\n",
-        // Add
+        // Plus
         "return min(src + dst, 1.0);\n",
-        // Multiply
+        // Modulate
         "return src * dst;\n",
         // Screen
         "return src + dst - src * dst;\n",
@@ -777,9 +777,6 @@
 }
 
 void ProgramCache::generateBlend(String8& shader, const char* name, SkXfermode::Mode mode) {
-    // TODO: update gBlendOps so this workaround isn't necessary
-    if (mode > SkXfermode::kPlus_Mode) mode = SkXfermode::kClear_Mode;
-
     shader.append("\nvec4 ");
     shader.append(name);
     shader.append("(vec4 src, vec4 dst) {\n");