Multiply alpha for AA as late as possible

Should be done after all color computation

Change-Id: Iaadd565f7d2263f111f6841a00e7c341025833d3
diff --git a/libs/hwui/ProgramCache.cpp b/libs/hwui/ProgramCache.cpp
index 0ed8008..be8f80a 100644
--- a/libs/hwui/ProgramCache.cpp
+++ b/libs/hwui/ProgramCache.cpp
@@ -671,11 +671,6 @@
                 shader.append(gFS_Main_FetchColor);
             }
         }
-        if (description.isAARect) {
-            shader.append(gFS_Main_AccountForAARect);
-        } else if (description.isAA) {
-            shader.append(gFS_Main_AccountForAA);
-        }
         if (description.hasGradient) {
             shader.append(gFS_Main_FetchGradient[gradientIndex(description)]);
             shader.append(gFS_Main_AddDitherToGradient);
@@ -721,6 +716,13 @@
         }
         // Apply the color op if needed
         shader.append(gFS_Main_ApplyColorOp[description.colorOp]);
+
+        if (description.isAARect) {
+            shader.append(gFS_Main_AccountForAARect);
+        } else if (description.isAA) {
+            shader.append(gFS_Main_AccountForAA);
+        }
+
         // Output the fragment
         if (!blendFramebuffer) {
             shader.append(gFS_Main_FragColor);