From c1ce2f7966babaae0deb150f93f1227ee5af9285 Mon Sep 17 00:00:00 2001 From: Brian Salomon Date: Thu, 1 Feb 2018 18:34:32 +0000 Subject: Revert "Redefine the meaning of sample counts in GPU backend." This reverts commit 48825b11ad25c98b9a4884d5cc0edd4e290c4409. Reason for revert: nanobench Original change's description: > Redefine the meaning of sample counts in GPU backend. > > Old: 0 -> nonMSAA > 1+ -> MSAA > > New: > 0 -> error/unsupported > 1 -> nonMSAA > 2+ -> MSAA > > We still allow 0 to mean nonMSAA in three sets of public APIs for backwards compatibility: > > 1) SkSurface factories > 2) GrBackendRenderTarget constructors > 3) GrCaps::getSampleCnt()'s requestedCount parameter > > However, we immediately clamp to 1 and treat 0 as invalid/non-renderable internally. > > This also changes the behavior when using a large sample count. We now fail in that case rather than using the largest sample available sample count. GrCaps::getSampleCount() will return 0 in this case. > > > Bug: skia: > Change-Id: Ida22c6b22c1365e563c9046b611e88bf5eb3ff33 > Reviewed-on: https://skia-review.googlesource.com/101560 > Reviewed-by: Greg Daniel > Commit-Queue: Brian Salomon TBR=egdaniel@google.com,bsalomon@google.com Change-Id: Ic257619a8a5ee9ac15419ecf10259e42daed7f82 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/102662 Reviewed-by: Brian Salomon Commit-Queue: Brian Salomon --- src/gpu/GrResourceProvider.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'src/gpu/GrResourceProvider.cpp') diff --git a/src/gpu/GrResourceProvider.cpp b/src/gpu/GrResourceProvider.cpp index 011ad6f5a9..9cf4e6c3e7 100644 --- a/src/gpu/GrResourceProvider.cpp +++ b/src/gpu/GrResourceProvider.cpp @@ -47,10 +47,6 @@ GrResourceProvider::GrResourceProvider(GrGpu* gpu, GrResourceCache* cache, GrSin } bool validate_desc(const GrSurfaceDesc& desc, const GrCaps& caps, int levelCount = 0) { - if (desc.fSampleCnt < 1) { - return false; - } - if (desc.fWidth <= 0 || desc.fHeight <= 0) { return false; } @@ -58,11 +54,11 @@ bool validate_desc(const GrSurfaceDesc& desc, const GrCaps& caps, int levelCount return false; } if (desc.fFlags & kRenderTarget_GrSurfaceFlag) { - if (!caps.isConfigRenderable(desc.fConfig, desc.fSampleCnt > 1)) { + if (!caps.isConfigRenderable(desc.fConfig, desc.fSampleCnt > 0)) { return false; } } else { - if (desc.fSampleCnt > 1) { + if (desc.fSampleCnt) { return false; } } @@ -160,6 +156,7 @@ sk_sp GrResourceProvider::createTexture(const GrSurfaceDesc& desc, sk_sp GrResourceProvider::createTexture(const GrSurfaceDesc& desc, SkBudgeted budgeted, uint32_t flags) { ASSERT_SINGLE_OWNER + if (this->isAbandoned()) { return nullptr; } -- cgit v1.2.3