CCPR: Block older Intel/Mesa setups

TBR=bsalomon@google.com

Bug: skia:7134
Change-Id: I71af6c8ca75804f7ac6d187ecdc1467cad686494
Reviewed-on: https://skia-review.googlesource.com/56941
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
This commit is contained in:
Chris Dalton 2017-10-07 14:37:57 -06:00 committed by Skia Commit-Bot
parent eeadcc1b5c
commit 06cd6668f6
2 changed files with 15 additions and 5 deletions

View File

@ -404,15 +404,21 @@ 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()) {
// Mali GPUs have rendering issues with CCPR. Blacklisting until we look into workarounds.
fBlacklistCoverageCounting = true;
}
if (kIntel_GrGLVendor == ctxInfo.vendor()) {
if (kIntel_GrGLDriver == ctxInfo.driver()) {
// Intel HD4400, HD4600, and Iris6100 crash on the bots.
fBlacklistCoverageCounting = kIntel4xxx_GrGLRenderer == ctxInfo.renderer() ||
kIntel6xxx_GrGLRenderer == ctxInfo.renderer();
} else if (kMesa_GrGLDriver == ctxInfo.driver()) {
// Blocking old Intel/Mesa setups while we investigate
// https://bugs.chromium.org/p/skia/issues/detail?id=7134.
fBlacklistCoverageCounting = version < GR_GL_VER(4,0);
}
}
if (!contextOptions.fAvoidStencilBuffers) {

View File

@ -133,6 +133,10 @@ void GrGLGetDriverInfo(GrGLStandard standard,
}
int n = sscanf(versionString, "%d.%d Mesa %d.%d",
&major, &minor, &driverMajor, &driverMinor);
if (4 != n) {
n = sscanf(versionString, "%d.%d (Core Profile) Mesa %d.%d",
&major, &minor, &driverMajor, &driverMinor);
}
if (4 == n) {
*outDriver = kMesa_GrGLDriver;
*outVersion = GR_GL_DRIVER_VER(driverMajor, driverMinor);