aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Robert Phillips <robertphillips@google.com>2017-10-04 18:03:24 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-10-05 11:31:03 +0000
commit3a9305383169524488cb84e9bd5dba95520c3ca7 (patch)
treebd5d8fb379bb061b763a105672535ceb19614fd7 /src
parent01f8e41c1368bfd60d3f011cb5aa9cc478799e63 (diff)
Always use draws instead of clears for ANGLE D3D11
At least for my repro case on a Z620 with an nVidia Quadro K620 and recent drivers, this eliminates the noise artifacts. It appears that full target clears are broken in ANGLE D3D11. Note I was never able to repro the bug in the D3D9 or openGL configs. The bug reproed for both the ES2 and ES3 ANGLE D3D11 configs though. Bug: 768134 Change-Id: I68e5fa0dc5e84b31d1d01a1e4b86132ab12a2e09 Reviewed-on: https://skia-review.googlesource.com/55381 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/gpu/gl/GrGLCaps.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp
index d476586316..d1a0a95942 100644
--- a/src/gpu/gl/GrGLCaps.cpp
+++ b/src/gpu/gl/GrGLCaps.cpp
@@ -537,8 +537,9 @@ void GrGLCaps::init(const GrContextOptions& contextOptions,
}
// See crbug.com/755871. This could probably be narrowed to just partial clears as the driver
// bugs seems to involve clearing too much and not skipping the clear.
- if (GrGLANGLEBackend::kD3D11 == ctxInfo.angleBackend() &&
- GrGLANGLERenderer::kIvyBridge == ctxInfo.angleRenderer()) {
+ // See crbug.com/768134. This is also needed for full clears and was seen on an nVidia K620
+ // but only for D3D11 ANGLE.
+ if (GrGLANGLEBackend::kD3D11 == ctxInfo.angleBackend()) {
fUseDrawInsteadOfClear = true;
}