aboutsummaryrefslogtreecommitdiffhomepage
path: root/dm/DMTaskRunner.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dm/DMTaskRunner.cpp')
-rw-r--r--dm/DMTaskRunner.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/dm/DMTaskRunner.cpp b/dm/DMTaskRunner.cpp
new file mode 100644
index 0000000000..92381a7a7e
--- /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