Index: dm/DMTaskRunner.cpp |
diff --git a/dm/DMTaskRunner.cpp b/dm/DMTaskRunner.cpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..92381a7a7ec1052d45e72f158f12c9e95e5fb623 |
--- /dev/null |
+++ b/dm/DMTaskRunner.cpp |
@@ -0,0 +1,17 @@ |
+#include "DMTaskRunner.h" |
+#include "DMTask.h" |
+ |
+namespace DM { |
+ |
+void TaskRunner::add(CpuTask* task) { fCpuWork.add(task); } |
+void TaskRunner::add(GpuTask* task) { fGpuWork.push(task); } |
+ |
+void TaskRunner::wait() { |
+ GrContextFactory factory; |
+ for (int i = 0; i < fGpuWork.count(); i++) { |
+ fGpuWork[i]->run(&factory); |
+ } |
+ fCpuWork.wait(); |
+} |
+ |
+} // namespace DM |