Don't do discards when on Adreno4xx due to driver bug.

BUG=skia:

Review URL: https://codereview.chromium.org/1126423006
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp
index 06ebe3d..368e536 100644
--- a/src/gpu/gl/GrGLCaps.cpp
+++ b/src/gpu/gl/GrGLCaps.cpp
@@ -219,9 +219,12 @@
         fUseNonVBOVertexAndIndexDynamicData = true;
     }
 
-    if ((kGL_GrGLStandard == standard && version >= GR_GL_VER(4,3)) ||
-        (kGLES_GrGLStandard == standard && version >= GR_GL_VER(3,0)) ||
-        ctxInfo.hasExtension("GL_ARB_invalidate_subdata")) {
+    // A driver but on the nexus 6 causes incorrect dst copies when invalidate is called beforehand.
+    // Thus we are blacklisting this extension for now on Adreno4xx devices.
+    if (kAdreno4xx_GrGLRenderer != ctxInfo.renderer() &&
+        ((kGL_GrGLStandard == standard && version >= GR_GL_VER(4,3)) ||
+         (kGLES_GrGLStandard == standard && version >= GR_GL_VER(3,0)) ||
+         ctxInfo.hasExtension("GL_ARB_invalidate_subdata"))) {
         fDiscardRenderTargetSupport = true;
         fInvalidateFBType = kInvalidate_InvalidateFBType;
     } else if (ctxInfo.hasExtension("GL_EXT_discard_framebuffer")) {