diff options
author | Chris Dalton <csmartdalton@google.com> | 2018-07-20 12:21:14 -0600 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-07-20 18:58:46 +0000 |
commit | 1c1391c2f6991d3250f7c45a360fa13bf60e07d7 (patch) | |
tree | a3175276f92ce53389dc4b669730f77854ce24cf /src | |
parent | 46656e298b9ff858f5dc48498610786c73914cc8 (diff) |
ccpr: Blacklist Sandy Bridge
Bug: skia:8162
Change-Id: I254b31d5b5fc105f80e8a006a885d4110800383a
Reviewed-on: https://skia-review.googlesource.com/142792
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/gpu/gl/GrGLCaps.cpp | 8 | ||||
-rw-r--r-- | src/gpu/gl/GrGLUtil.cpp | 7 | ||||
-rw-r--r-- | src/gpu/gl/GrGLUtil.h | 2 |
3 files changed, 17 insertions, 0 deletions
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp index 495b862a11..91ed24738d 100644 --- a/src/gpu/gl/GrGLCaps.cpp +++ b/src/gpu/gl/GrGLCaps.cpp @@ -2673,6 +2673,14 @@ void GrGLCaps::applyDriverCorrectnessWorkarounds(const GrGLContextInfo& ctxInfo, if (kPowerVRRogue_GrGLRenderer == ctxInfo.renderer()) { fBlacklistCoverageCounting = true; } + + // CCPR edge AA is busted on Sandy Bridge. + // http://skbug.com/8162 + if (kIntelSandyBridge_GrGLRenderer == ctxInfo.renderer() || + (kANGLE_GrGLRenderer == ctxInfo.renderer() && + GrGLANGLERenderer::kSandyBridge == ctxInfo.angleRenderer())) { + fBlacklistCoverageCounting = true; + } } void GrGLCaps::onApplyOptionsOverrides(const GrContextOptions& options) { diff --git a/src/gpu/gl/GrGLUtil.cpp b/src/gpu/gl/GrGLUtil.cpp index 3732b481a9..08b7464553 100644 --- a/src/gpu/gl/GrGLUtil.cpp +++ b/src/gpu/gl/GrGLUtil.cpp @@ -387,6 +387,9 @@ GrGLRenderer GrGLGetRendererFromStrings(const char* rendererString, if (intelNumber >= 6000 && intelNumber < 7000) { return kIntel6xxx_GrGLRenderer; } + if (intelNumber >= 2000 && intelNumber < 4000) { + return kIntelSandyBridge_GrGLRenderer; + } if (intelNumber >= 500 && intelNumber < 600) { return kIntelSkylake_GrGLRenderer; } @@ -449,6 +452,10 @@ void GrGLGetANGLEInfoFromString(const char* rendererString, GrGLANGLEBackend* ba (1 == sscanf(modelStr, "HD Graphics %i", &modelNumber) || 1 == sscanf(modelStr, "HD Graphics P%i", &modelNumber))) { switch (modelNumber) { + case 2000: + case 3000: + *renderer = GrGLANGLERenderer::kSandyBridge; + break; case 4000: case 2500: *renderer = GrGLANGLERenderer::kIvyBridge; diff --git a/src/gpu/gl/GrGLUtil.h b/src/gpu/gl/GrGLUtil.h index 909c8fd7d5..98b81a19dc 100644 --- a/src/gpu/gl/GrGLUtil.h +++ b/src/gpu/gl/GrGLUtil.h @@ -64,6 +64,7 @@ enum GrGLRenderer { kIntel4xxx_GrGLRenderer, /** Either HD 6xxx or Iris 6xxx */ kIntel6xxx_GrGLRenderer, + kIntelSandyBridge_GrGLRenderer, kIntelSkylake_GrGLRenderer, kGalliumLLVM_GrGLRenderer, kMali4xx_GrGLRenderer, @@ -102,6 +103,7 @@ enum class GrGLANGLEVendor { enum class GrGLANGLERenderer { kUnknown, + kSandyBridge, kIvyBridge, kSkylake }; |