Switch to postConcat from preConcat

I *think* this is a bug in MakeForDeviceSpace(). From a symbolic point of
view, the FPs are sent T * C * Lgp * l, where T
is the texture normalization matrix, C is the FP's registered coord
transform, Lgp is the local matrix sent to the GP, and l is the local
coord vertex attribute.

The net result should be T * C * Lop * o where Lop is the local matrix
of the op (often just I), and o is the object space position.

MakeDeviceSpace() modifies these so that l is the device space position
(V*o), and Lgp = V^-1*Lop (from preConcat), which makes the output
T * C * (V^-1 * Lop) * (V * o). If postConcat is used instead, the output
is T * C * (Lop * V^-1) * (V * o) -> T * C * Lop * o as expected.

At least one place that triggers MakeForDeviceSpace, the
GrSoftwarePathRenderer, sends V = I to the op so there's no actual difference
in that context. There may be other code paths that will need to be updated
in response to this change.

Bug: skia:
Change-Id: Ibb4294a6651e07543abbf37ae997c21180d1905a
Reviewed-on: https://skia-review.googlesource.com/c/167388
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
diff --git a/src/gpu/GrDefaultGeoProcFactory.cpp b/src/gpu/GrDefaultGeoProcFactory.cpp
index 6057561..904021c 100644
--- a/src/gpu/GrDefaultGeoProcFactory.cpp
+++ b/src/gpu/GrDefaultGeoProcFactory.cpp
@@ -471,7 +471,7 @@
         }
 
         if (localCoords.hasLocalMatrix()) {
-            invert.preConcat(*localCoords.fMatrix);
+            invert.postConcat(*localCoords.fMatrix);
         }
     }