1#ifndef DMGpuGMTask_DEFINED 2#define DMGpuGMTask_DEFINED 3 4#include "DMExpectations.h" 5#include "DMGpuSupport.h" 6#include "DMReporter.h" 7#include "DMTask.h" 8#include "DMTaskRunner.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 16namespace DM { 17 18class GpuGMTask : public GpuTask { 19public: 20 GpuGMTask(const char* config, 21 Reporter*, 22 TaskRunner*, 23 skiagm::GMRegistry::Factory, 24 const Expectations&, 25 GrContextFactory::GLContextType, 26 int sampleCount); 27 28 virtual void draw(GrContextFactory*) SK_OVERRIDE; 29 virtual bool shouldSkip() const SK_OVERRIDE; 30 virtual SkString name() const SK_OVERRIDE { return fName; } 31 32private: 33 SkAutoTDelete<skiagm::GM> fGM; 34 const SkString fName; 35 const Expectations& fExpectations; 36 const GrContextFactory::GLContextType fContextType; 37 const int fSampleCount; 38}; 39 40} // namespace DM 41 42#endif // DMGpuGMTask_DEFINED 43