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