diff options
Diffstat (limited to 'include/gpu/GrContext.h')
-rw-r--r-- | include/gpu/GrContext.h | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/include/gpu/GrContext.h b/include/gpu/GrContext.h index f85efc4940..d0ca90e0f0 100644 --- a/include/gpu/GrContext.h +++ b/include/gpu/GrContext.h @@ -216,6 +216,26 @@ public: /** Access the context capabilities */ const GrCaps* caps() const { return fCaps.get(); } + /** + * Can a SkImage be created with the given color type. + */ + bool colorTypeSupportedAsImage(SkColorType) const; + + /** + * Can a SkSurface be created with the given color type. To check whether MSAA is supported + * use maxSurfaceSampleCountForColorType(). + */ + bool colorTypeSupportedAsSurface(SkColorType colorType) const { + return this->maxSurfaceSampleCountForColorType(colorType) > 0; + } + + /** + * Gets the maximum supported sample count for a color type. 1 is returned if only non-MSAA + * rendering is supported for the color type. 0 is returned if rendering to this color type + * is not supported at all. + */ + int maxSurfaceSampleCountForColorType(SkColorType) const; + /* * Create a new render target context backed by a deferred-style * GrRenderTargetProxy. We guarantee that "asTextureProxy" will succeed for @@ -226,7 +246,7 @@ public: int width, int height, GrPixelConfig config, sk_sp<SkColorSpace> colorSpace, - int sampleCnt = 0, + int sampleCnt = 1, GrMipMapped = GrMipMapped::kNo, GrSurfaceOrigin origin = kBottomLeft_GrSurfaceOrigin, const SkSurfaceProps* surfaceProps = nullptr, @@ -242,7 +262,7 @@ public: int width, int height, GrPixelConfig config, sk_sp<SkColorSpace> colorSpace, - int sampleCnt = 0, + int sampleCnt = 1, GrMipMapped = GrMipMapped::kNo, GrSurfaceOrigin origin = kBottomLeft_GrSurfaceOrigin, const SkSurfaceProps* surfaceProps = nullptr, |