aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
diff options
context:
space:
mode:
authorGravatar Chris Dalton <csmartdalton@google.com>2017-09-29 13:58:26 -0600
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-09-29 20:25:34 +0000
commite4679fa06a1ab57de15f20cff56911599fa2a73e (patch)
tree395d0374a1a2faf98895e7c9d8d0db5cd8a4d3fe /src/gpu
parentbede88e72757ef9f30fa1aa0e62527d841da269c (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.cpp1
-rw-r--r--src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp3
-rw-r--r--src/gpu/gl/GrGLCaps.cpp5
-rw-r--r--src/gpu/vk/GrVkCaps.cpp1
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;