diff options
Diffstat (limited to 'dm/DMTaskRunner.cpp')
-rw-r--r-- | dm/DMTaskRunner.cpp | 17 |
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 |