Fixup some of the batch info in skiaserve
authorjoshualitt <joshualitt@chromium.org>
Mon, 29 Feb 2016 19:38:11 +0000 (11:38 -0800)
committerCommit bot <commit-bot@chromium.org>
Mon, 29 Feb 2016 19:38:11 +0000 (11:38 -0800)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1750653002

Review URL: https://codereview.chromium.org/1750653002

tools/skiaserve/Request.cpp

index 98b3b03..a893d0a 100644 (file)
@@ -149,6 +149,9 @@ bool Request::initPictureFromStream(SkStream* stream) {
     // pour picture into debug canvas
     fDebugCanvas.reset(new SkDebugCanvas(kImageWidth, Request::kImageHeight));
     fDebugCanvas->drawPicture(fPicture);
+
+    // for some reason we need to 'flush' the debug canvas by drawing all of the ops
+    fDebugCanvas->drawTo(this->getCanvas(), this->getLastOp());
     return true;
 }
 
@@ -194,13 +197,14 @@ SkData* Request::getJsonBatchList(int n) {
     // a Json::Value and is only compiled in this file
     Json::Value parsedFromString;
 #if SK_SUPPORT_GPU
+    // we use the toJSON method on debug canvas, but then just ignore the results and pull
+    // the information we care about from the audit trail
+    fDebugCanvas->toJSON(fUrlDataManager, n, canvas); 
+
     GrAuditTrail* at = this->getAuditTrail(canvas);
     GrAuditTrail::AutoManageBatchList enable(at);
-    
-    fDebugCanvas->drawTo(canvas, n);
-
     Json::Reader reader;
-    SkDEBUGCODE(bool parsingSuccessful = )reader.parse(at->toJson(true).c_str(),
+    SkDEBUGCODE(bool parsingSuccessful = )reader.parse(at->toJson().c_str(),
                                                        parsedFromString);
     SkASSERT(parsingSuccessful);
 #endif