Fix UMR (valgrind) bug in GrDrawingManager

Even prior to https://skia-review.googlesource.com/c/skia/+/332600
(Change UnrefDDLTask to just be the DDLTask) there was no good reason
the 'fRenderTask' array and the 'idArray' kept a strict 1-1
correspondence.

Change-Id: Ib92b47b724c319f52fff459d3dc28c49c17bd045
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/333576
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/GrDrawingManager.cpp b/src/gpu/GrDrawingManager.cpp
index a4c1197..bc980e7 100644
--- a/src/gpu/GrDrawingManager.cpp
+++ b/src/gpu/GrDrawingManager.cpp
@@ -45,7 +45,7 @@
 #include "src/image/SkSurface_Gpu.h"
 
 void GrDrawingManager::RenderTaskDAG::gatherIDs(SkSTArray<8, uint32_t, true>* idArray) const {
-    idArray->reset(fRenderTasks.count());
+    idArray->reserve_back(fRenderTasks.count());
     for (int i = 0; i < fRenderTasks.count(); ++i) {
         if (fRenderTasks[i]) {
             fRenderTasks[i]->gatherIDs(idArray);
@@ -933,4 +933,3 @@
         resourceCache->purgeAsNeeded();
     }
 }
-