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; 30 virtual bool usesGpu() const SK_OVERRIDE { return true; } 31 virtual bool shouldSkip() const SK_OVERRIDE; 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