diff options
Diffstat (limited to 'chromium/third_party/skia/dm/DMGpuSupport.h')
-rw-r--r-- | chromium/third_party/skia/dm/DMGpuSupport.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/chromium/third_party/skia/dm/DMGpuSupport.h b/chromium/third_party/skia/dm/DMGpuSupport.h new file mode 100644 index 00000000000..46896b43217 --- /dev/null +++ b/chromium/third_party/skia/dm/DMGpuSupport.h @@ -0,0 +1,60 @@ +#ifndef DMGpuSupport_DEFINED +#define DMGpuSupport_DEFINED + +// Provides Ganesh to DM, +// or if it's not available, fakes it enough so most code doesn't have to know that. + +#include "SkSurface.h" + +#if SK_SUPPORT_GPU + +// Ganesh is available. Yippee! + +# include "GrContext.h" +# include "GrContextFactory.h" + +namespace DM { + +static const bool kGPUDisabled = false; + +static inline SkSurface* NewGpuSurface(GrContextFactory* grFactory, + GrContextFactory::GLContextType type, + SkImageInfo info, + int samples) { + return SkSurface::NewRenderTarget(grFactory->get(type), info, samples); +} + +} // namespace DM + +#else// !SK_SUPPORT_GPU + +// Ganesh is not available. Fake it. + +class GrContextFactory { +public: + typedef int GLContextType; + + static const GLContextType kANGLE_GLContextType = 0, + kDebug_GLContextType = 0, + kMESA_GLContextType = 0, + kNVPR_GLContextType = 0, + kNative_GLContextType = 0, + kNull_GLContextType = 0; +}; + +namespace DM { + +static const bool kGPUDisabled = true; + +static inline SkSurface* NewGpuSurface(GrContextFactory*, + GrContextFactory::GLContextType, + SkImageInfo, + int) { + return NULL; +} + +} // namespace DM + +#endif//SK_SUPPORT_GPU + +#endif//DMGpuSupport_DEFINED |