Add GrPrepareCallback, always run at the start of flush

This is like an op, but only has one virtual, and always runs before
any ops prepare. To be used in threaded software mask rendering
(to schedule ASAP uploads).

Bug: skia:
Change-Id: I647482e2472d7321f3685e5bdbe49e10ac59c0b1
Reviewed-on: https://skia-review.googlesource.com/37160
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
diff --git a/src/gpu/GrDrawingManager.cpp b/src/gpu/GrDrawingManager.cpp
index 9e7372c..22594e7 100644
--- a/src/gpu/GrDrawingManager.cpp
+++ b/src/gpu/GrDrawingManager.cpp
@@ -152,8 +152,8 @@
                     continue;   // Odd - but not a big deal
                 }
                 opList->makeClosed(*fContext->caps());
-                opList->prepareOps(&fFlushState);
-                if (!opList->executeOps(&fFlushState)) {
+                opList->prepare(&fFlushState);
+                if (!opList->execute(&fFlushState)) {
                     continue;         // This is bad
                 }
             }
@@ -174,7 +174,7 @@
             continue;
         }
 
-        fOpLists[i]->prepareOps(&fFlushState);
+        fOpLists[i]->prepare(&fFlushState);
     }
 
     // Upload all data to the GPU
@@ -185,7 +185,7 @@
             continue;
         }
 
-        if (fOpLists[i]->executeOps(&fFlushState)) {
+        if (fOpLists[i]->execute(&fFlushState)) {
             flushed = true;
         }
         fOpLists[i]->reset();