Adds gpu stats for program cache
With the addition of the DDL program pre-compilation we need to know how it is working.
This CL also fixes some threading bugs.
Bug: skia:9455
Change-Id: I20da58a7f1b19685687fae1d159d4e0db8a4964d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273001
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/GrDrawingManager.cpp b/src/gpu/GrDrawingManager.cpp
index af1440b..6e919da 100644
--- a/src/gpu/GrDrawingManager.cpp
+++ b/src/gpu/GrDrawingManager.cpp
@@ -104,6 +104,12 @@
}
void GrDrawingManager::RenderTaskDAG::add(const SkTArray<sk_sp<GrRenderTask>>& renderTasks) {
+#ifdef SK_DEBUG
+ for (auto& renderTask : renderTasks) {
+ SkASSERT(renderTask->unique());
+ }
+#endif
+
fRenderTasks.push_back_n(renderTasks.count(), renderTasks.begin());
}
@@ -576,8 +582,9 @@
fActiveOpsTask = nullptr;
fDAG.swap(&ddl->fRenderTasks);
+ SkASSERT(!fDAG.numRenderTasks());
- for (auto renderTask : ddl->fRenderTasks) {
+ for (auto& renderTask : ddl->fRenderTasks) {
renderTask->prePrepare(fContext);
}