• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef DMGpuTask_DEFINED
2 #define DMGpuTask_DEFINED
3 
4 #include "DMExpectations.h"
5 #include "DMReporter.h"
6 #include "DMTask.h"
7 #include "DMTaskRunner.h"
8 #include "GrContextFactory.h"
9 #include "SkBitmap.h"
10 #include "SkString.h"
11 #include "SkTemplates.h"
12 #include "gm.h"
13 
14 // This is the main entry point for drawing GMs with the GPU.
15 
16 namespace DM {
17 
18 class GpuTask : public Task {
19 public:
20     GpuTask(const char* name,
21             Reporter*,
22             TaskRunner*,
23             const Expectations&,
24             skiagm::GMRegistry::Factory,
25             SkBitmap::Config,
26             GrContextFactory::GLContextType,
27             int sampleCount);
28 
29     virtual void draw() SK_OVERRIDE;
usesGpu()30     virtual bool usesGpu() const SK_OVERRIDE { return true; }
31     virtual bool shouldSkip() const SK_OVERRIDE;
name()32     virtual SkString name() const SK_OVERRIDE { return fName; }
33 
34 private:
35     SkAutoTDelete<skiagm::GM> fGM;
36     const SkString fName;
37     const Expectations& fExpectations;
38     const SkBitmap::Config fConfig;
39     const GrContextFactory::GLContextType fContextType;
40     const int fSampleCount;
41 };
42 
43 }  // namespace DM
44 
45 #endif  // DMGpuTask_DEFINED
46