diff options
author | 2017-09-29 13:58:26 -0600 | |
---|---|---|
committer | 2017-09-29 20:25:34 +0000 | |
commit | e4679fa06a1ab57de15f20cff56911599fa2a73e (patch) | |
tree | 395d0374a1a2faf98895e7c9d8d0db5cd8a4d3fe /src/gpu | |
parent | bede88e72757ef9f30fa1aa0e62527d841da269c (diff) |
CCPR: Blacklist Mali GPUs and Vulkan while we work through issues
Bug: skia:
Change-Id: I59dfb1c839a66a6aa6c954e4a544930fc1376a22
Reviewed-on: https://skia-review.googlesource.com/53560
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Diffstat (limited to 'src/gpu')
-rw-r--r-- | src/gpu/GrCaps.cpp | 1 | ||||
-rw-r--r-- | src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp | 3 | ||||
-rw-r--r-- | src/gpu/gl/GrGLCaps.cpp | 5 | ||||
-rw-r--r-- | src/gpu/vk/GrVkCaps.cpp | 1 |
4 files changed, 9 insertions, 1 deletions
diff --git a/src/gpu/GrCaps.cpp b/src/gpu/GrCaps.cpp index 3566b4ebf4..a0e435a9c3 100644 --- a/src/gpu/GrCaps.cpp +++ b/src/gpu/GrCaps.cpp @@ -79,6 +79,7 @@ GrCaps::GrCaps(const GrContextOptions& options) { #endif fBufferMapThreshold = options.fBufferMapThreshold; fAvoidInstancedDrawsToFPTargets = false; + fBlacklistCoverageCounting = false; fAvoidStencilBuffers = false; fPreferVRAMUseOverFlushes = true; diff --git a/src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp b/src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp index 9c41a9a4e1..583f39b321 100644 --- a/src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp +++ b/src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp @@ -31,7 +31,8 @@ bool GrCoverageCountingPathRenderer::IsSupported(const GrCaps& caps) { shaderCaps.maxVertexSamplers() >= 1 && caps.instanceAttribSupport() && caps.isConfigTexturable(kAlpha_half_GrPixelConfig) && - caps.isConfigRenderable(kAlpha_half_GrPixelConfig, /*withMSAA=*/false); + caps.isConfigRenderable(kAlpha_half_GrPixelConfig, /*withMSAA=*/false) && + !caps.blacklistCoverageCounting(); } sk_sp<GrCoverageCountingPathRenderer> diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp index 6193814bbe..d476586316 100644 --- a/src/gpu/gl/GrGLCaps.cpp +++ b/src/gpu/gl/GrGLCaps.cpp @@ -388,6 +388,11 @@ void GrGLCaps::init(const GrContextOptions& contextOptions, fPreferClientSideDynamicBuffers = true; } + // Mali GPUs have serious issues with CCPR. Blacklisting until we can look into workarounds. + if (kARM_GrGLVendor == ctxInfo.vendor()) { + fBlacklistCoverageCounting = true; + } + if (!contextOptions.fAvoidStencilBuffers) { // To reduce surface area, if we avoid stencil buffers, we also disable MSAA. this->initFSAASupport(contextOptions, ctxInfo, gli); diff --git a/src/gpu/vk/GrVkCaps.cpp b/src/gpu/vk/GrVkCaps.cpp index 945f87f6de..c92c7d59f9 100644 --- a/src/gpu/vk/GrVkCaps.cpp +++ b/src/gpu/vk/GrVkCaps.cpp @@ -36,6 +36,7 @@ GrVkCaps::GrVkCaps(const GrContextOptions& contextOptions, const GrVkInterface* fInstanceAttribSupport = true; fUseDrawInsteadOfClear = false; + fBlacklistCoverageCounting = true; // blacklisting ccpr until we work through a few issues. fFenceSyncSupport = true; // always available in Vulkan fCrossContextTextureSupport = false; |