diff options
author | Brian Salomon <bsalomon@google.com> | 2018-02-02 20:32:49 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-02-03 01:59:59 +0000 |
commit | bdecacfbe47bc7211336bb847bb33c00ef85ea3e (patch) | |
tree | fdaac47f9254d9a8e3de61604b899eae8cb718ff /src/gpu/GrContext.cpp | |
parent | 816acee9be62d9de323ff5144017451e443b3329 (diff) | |
download | platform_external_skqp-bdecacfbe47bc7211336bb847bb33c00ef85ea3e.tar.gz platform_external_skqp-bdecacfbe47bc7211336bb847bb33c00ef85ea3e.tar.bz2 platform_external_skqp-bdecacfbe47bc7211336bb847bb33c00ef85ea3e.zip |
Revert "Revert "Revert "Revert "Revert "Revert "Redefine the meaning of sample counts in GPU backend.""""""
This reverts commit 3a2cc2c2ec124de36d2544b2a523ef1dd317ca32.
Fix code with samplecnt=0 that slipped in between trybots/CQ and landing of previous version
Change-Id: Iab19f2e8d1e9901601c8c76244d7a88c5d707fab
Reviewed-on: https://skia-review.googlesource.com/103181
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/GrContext.cpp')
-rw-r--r-- | src/gpu/GrContext.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/gpu/GrContext.cpp b/src/gpu/GrContext.cpp index b427e70beb..05908f4889 100644 --- a/src/gpu/GrContext.cpp +++ b/src/gpu/GrContext.cpp @@ -420,6 +420,18 @@ size_t GrContext::getResourceCachePurgeableBytes() const { //////////////////////////////////////////////////////////////////////////////// +bool GrContext::colorTypeSupportedAsImage(SkColorType colorType) const { + GrPixelConfig config = SkImageInfo2GrPixelConfig(colorType, nullptr, *this->caps()); + return this->caps()->isConfigTexturable(config); +} + +int GrContext::maxSurfaceSampleCountForColorType(SkColorType colorType) const { + GrPixelConfig config = SkImageInfo2GrPixelConfig(colorType, nullptr, *this->caps()); + return this->caps()->maxRenderTargetSampleCount(config); +} + +//////////////////////////////////////////////////////////////////////////////// + void GrContext::TextBlobCacheOverBudgetCB(void* data) { SkASSERT(data); // TextBlobs are drawn at the SkGpuDevice level, therefore they cannot rely on @@ -862,6 +874,7 @@ sk_sp<GrRenderTargetContext> GrContextPriv::makeBackendTextureRenderTargetContex sk_sp<SkColorSpace> colorSpace, const SkSurfaceProps* props) { ASSERT_SINGLE_OWNER_PRIV + SkASSERT(sampleCnt > 0); sk_sp<GrTextureProxy> proxy(this->proxyProvider()->createWrappedTextureProxy(tex, origin, sampleCnt)); @@ -898,7 +911,7 @@ sk_sp<GrRenderTargetContext> GrContextPriv::makeBackendTextureAsRenderTargetRend sk_sp<SkColorSpace> colorSpace, const SkSurfaceProps* props) { ASSERT_SINGLE_OWNER_PRIV - + SkASSERT(sampleCnt > 0); sk_sp<GrSurfaceProxy> proxy(this->proxyProvider()->createWrappedRenderTargetProxy(tex, origin, sampleCnt)); if (!proxy) { @@ -949,7 +962,8 @@ sk_sp<GrRenderTargetContext> GrContext::makeDeferredRenderTargetContextWithFallb GrSurfaceOrigin origin, const SkSurfaceProps* surfaceProps, SkBudgeted budgeted) { - if (!this->caps()->isConfigRenderable(config, sampleCnt > 0)) { + SkASSERT(sampleCnt > 0); + if (0 == this->caps()->getRenderTargetSampleCount(sampleCnt, config)) { config = GrPixelConfigFallback(config); } @@ -968,6 +982,7 @@ sk_sp<GrRenderTargetContext> GrContext::makeDeferredRenderTargetContext( GrSurfaceOrigin origin, const SkSurfaceProps* surfaceProps, SkBudgeted budgeted) { + SkASSERT(sampleCnt > 0); if (this->abandoned()) { return nullptr; } |