1#ifndef DMTaskRunner_DEFINED
2#define DMTaskRunner_DEFINED
3
4#include "DMGpuSupport.h"
5#include "SkTDArray.h"
6#include "SkTaskGroup.h"
7#include "SkTypes.h"
8
9namespace DM {
10
11class CpuTask;
12class GpuTask;
13
14class TaskRunner : SkNoncopyable {
15public:
16    TaskRunner() {}
17
18    void add(CpuTask* task);
19    void add(GpuTask* task);
20    void wait();
21
22private:
23    SkTaskGroup fCpuWork;
24    SkTDArray<GpuTask*> fGpuWork;
25};
26
27}  // namespace DM
28
29#endif  // DMTaskRunner_DEFINED
30