#ifndef DMGpuTask_DEFINED #define DMGpuTask_DEFINED #include "DMReporter.h" #include "DMTask.h" #include "DMTaskRunner.h" #include "GrContextFactory.h" #include "SkBitmap.h" #include "SkString.h" #include "SkTemplates.h" #include "gm.h" #include "gm_expectations.h" // This is the main entry point for drawing GMs with the GPU. namespace DM { class GpuTask : public Task { public: GpuTask(const char* name, Reporter*, TaskRunner*, const skiagm::ExpectationsSource&, skiagm::GMRegistry::Factory, SkBitmap::Config, GrContextFactory::GLContextType, int sampleCount); virtual void draw() SK_OVERRIDE; virtual bool usesGpu() const SK_OVERRIDE { return true; } virtual bool shouldSkip() const SK_OVERRIDE; virtual SkString name() const SK_OVERRIDE { return fName; } private: SkAutoTDelete fGM; const SkString fName; const skiagm::Expectations fExpectations; const SkBitmap::Config fConfig; const GrContextFactory::GLContextType fContextType; const int fSampleCount; }; } // namespace DM #endif // DMGpuTask_DEFINED