Index: dm/DMTaskRunner.h |
diff --git a/dm/DMTaskRunner.h b/dm/DMTaskRunner.h |
index 8af1b63719af1ec23d639316c7ca20c4d7471b25..5d7b320d6cc653bf238267fd93b9db5e9cac7619 100644 |
--- a/dm/DMTaskRunner.h |
+++ b/dm/DMTaskRunner.h |
@@ -1,12 +1,12 @@ |
#ifndef DMTaskRunner_DEFINED |
#define DMTaskRunner_DEFINED |
-#include "GrContextFactory.h" |
#include "SkThreadPool.h" |
#include "SkTypes.h" |
-// TaskRunner runs Tasks on one of two threadpools depending on the Task's usesGpu() method. This |
-// lets us drive the GPU from a single thread while parallelizing CPU-bound work. |
+// TaskRunner runs Tasks on one of two threadpools depending on the Task's usesGpu() method. |
+// This lets us drive the GPU with a small number of threads (e.g. 2 or 4 can be faster than 1) |
+// while not swamping it with requests from the full fleet of threads that CPU-bound tasks run on. |
namespace DM { |
@@ -14,17 +14,13 @@ |
class TaskRunner : SkNoncopyable { |
public: |
- explicit TaskRunner(int cputhreads); |
+ TaskRunner(int cputhreads, int gpuThreads); |
void add(Task* task); |
void wait(); |
- // This can only be safely called from a GPU task's draw() method. |
- GrContextFactory* getGrContextFactory() const { return fGrContextFactory; } |
- |
private: |
SkThreadPool fMain, fGpu; |
- GrContextFactory* fGrContextFactory; // Created and destroyed on fGpu threadpool. |
}; |
} // namespace DM |