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