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>
This commit is contained in:
parent
bede88e727
commit
e4679fa06a
@ -74,6 +74,8 @@ public:
|
||||
|
||||
bool avoidInstancedDrawsToFPTargets() const { return fAvoidInstancedDrawsToFPTargets; }
|
||||
|
||||
bool blacklistCoverageCounting() const { return fBlacklistCoverageCounting; }
|
||||
|
||||
bool avoidStencilBuffers() const { return fAvoidStencilBuffers; }
|
||||
|
||||
/**
|
||||
@ -210,6 +212,7 @@ protected:
|
||||
// Driver workaround
|
||||
bool fUseDrawInsteadOfClear : 1;
|
||||
bool fAvoidInstancedDrawsToFPTargets : 1;
|
||||
bool fBlacklistCoverageCounting : 1;
|
||||
bool fAvoidStencilBuffers : 1;
|
||||
|
||||
// ANGLE workaround
|
||||
|
@ -79,6 +79,7 @@ GrCaps::GrCaps(const GrContextOptions& options) {
|
||||
#endif
|
||||
fBufferMapThreshold = options.fBufferMapThreshold;
|
||||
fAvoidInstancedDrawsToFPTargets = false;
|
||||
fBlacklistCoverageCounting = false;
|
||||
fAvoidStencilBuffers = false;
|
||||
|
||||
fPreferVRAMUseOverFlushes = true;
|
||||
|
@ -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>
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user