diff options
author | Brian Salomon <bsalomon@google.com> | 2018-02-02 13:51:50 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-02-02 23:37:59 +0000 |
commit | 5bb82cbecd740d21b92e8d2944280ab6eb6af7a6 (patch) | |
tree | 8171a4ea5d7f72dbba276b58a89a7e115066f24c /src/gpu/mock/GrMockCaps.h | |
parent | 1e5ef4f81ca18cd9448426891cda5120cea51de8 (diff) |
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 <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/mock/GrMockCaps.h')
-rw-r--r-- | src/gpu/mock/GrMockCaps.h | 34 |
1 files changed, 28 insertions, 6 deletions
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; }; |