From 5bb82cbecd740d21b92e8d2944280ab6eb6af7a6 Mon Sep 17 00:00:00 2001 From: Brian Salomon Date: Fri, 2 Feb 2018 13:51:50 -0500 Subject: Revert "Revert "Revert "Revert "Redefine the meaning of sample counts in GPU backend."""" This reverts commit 18c52a7b52211de5d0dcd86dc048adef758c6c75. Also relands "More sample count cleanup:" and "Add new GrContext queries for imagability, surfacability, and max sample count of color types" Bug: skia: Change-Id: I4028105a3a1f16ce3944e134619eb6245af6b947 Reviewed-on: https://skia-review.googlesource.com/102940 Reviewed-by: Brian Salomon Commit-Queue: Brian Salomon --- src/gpu/mock/GrMockCaps.h | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) (limited to 'src/gpu/mock/GrMockCaps.h') diff --git a/src/gpu/mock/GrMockCaps.h b/src/gpu/mock/GrMockCaps.h index edec5563c4..1e448516d7 100644 --- a/src/gpu/mock/GrMockCaps.h +++ b/src/gpu/mock/GrMockCaps.h @@ -33,19 +33,39 @@ public: this->applyOptionsOverrides(contextOptions); } - int getSampleCount(int /*requestCount*/, GrPixelConfig /*config*/) const override { - return 0; - } bool isConfigTexturable(GrPixelConfig config) const override { return fOptions.fConfigOptions[config].fTexturable; } - bool isConfigRenderable(GrPixelConfig config, bool withMSAA) const override { - return fOptions.fConfigOptions[config].fRenderable[withMSAA]; - } + bool isConfigCopyable(GrPixelConfig config) const override { return false; } + int getRenderTargetSampleCount(int requestCount, GrPixelConfig config) const override { + requestCount = SkTMax(requestCount, 1); + switch (fOptions.fConfigOptions[config].fRenderability) { + case GrMockOptions::ConfigOptions::Renderability::kNo: + return 0; + case GrMockOptions::ConfigOptions::Renderability::kNonMSAA: + return requestCount > 1 ? 0 : 1; + case GrMockOptions::ConfigOptions::Renderability::kMSAA: + return requestCount > kMaxSampleCnt ? 0 : GrNextPow2(requestCount); + } + return 0; + } + + int maxRenderTargetSampleCount(GrPixelConfig config) const override { + switch (fOptions.fConfigOptions[config].fRenderability) { + case GrMockOptions::ConfigOptions::Renderability::kNo: + return 0; + case GrMockOptions::ConfigOptions::Renderability::kNonMSAA: + return 1; + case GrMockOptions::ConfigOptions::Renderability::kMSAA: + return kMaxSampleCnt; + } + return 0; + } + bool initDescForDstCopy(const GrRenderTargetProxy* src, GrSurfaceDesc* desc, bool* rectsMustMatch, bool* disallowSubrect) const override { return false; @@ -62,6 +82,8 @@ public: } private: + static const int kMaxSampleCnt = 16; + GrMockOptions fOptions; typedef GrCaps INHERITED; }; -- cgit v1.2.3