Home | History | Annotate | Download | only in dm
      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