blob: 46b4c981bcf5ebed3ac02028006424b53b82d33a [file] [log] [blame]
commit-bot@chromium.orgef57b7e2014-02-28 20:31:31 +00001#ifndef DMGpuGMTask_DEFINED
2#define DMGpuGMTask_DEFINED
3
4#include "DMExpectations.h"
commit-bot@chromium.org787227d2014-03-26 21:26:15 +00005#include "DMGpuSupport.h"
commit-bot@chromium.orgef57b7e2014-02-28 20:31:31 +00006#include "DMReporter.h"
7#include "DMTask.h"
8#include "DMTaskRunner.h"
commit-bot@chromium.orgef57b7e2014-02-28 20:31:31 +00009#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*,
commit-bot@chromium.orgef57b7e2014-02-28 20:31:31 +000023 skiagm::GMRegistry::Factory,
mtkleine4d3e602014-06-06 09:28:43 -070024 const Expectations&,
commit-bot@chromium.orgef57b7e2014-02-28 20:31:31 +000025 GrContextFactory::GLContextType,
kkinnunen80549fc2014-06-30 06:36:31 -070026 GrGLStandard gpuAPI,
commit-bot@chromium.orgef57b7e2014-02-28 20:31:31 +000027 int sampleCount);
28
29 virtual void draw(GrContextFactory*) SK_OVERRIDE;
30 virtual bool shouldSkip() const SK_OVERRIDE;
31 virtual SkString name() const SK_OVERRIDE { return fName; }
32
33private:
34 SkAutoTDelete<skiagm::GM> fGM;
35 const SkString fName;
36 const Expectations& fExpectations;
37 const GrContextFactory::GLContextType fContextType;
kkinnunen80549fc2014-06-30 06:36:31 -070038 GrGLStandard fGpuAPI;
commit-bot@chromium.orgef57b7e2014-02-28 20:31:31 +000039 const int fSampleCount;
40};
41
42} // namespace DM
43
44#endif // DMGpuGMTask_DEFINED