Fork: Fix gpu blacklist and blacklist ganesh on Mali-T760

This is a webview only fork. It will not work and probably break on
other platforms.

BUG=19958028

Change-Id: I969216e8dc152388836ad28b7808b8b1d8b6cf07
diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc
index 4b8fa20..981a093 100644
--- a/content/browser/browser_main_loop.cc
+++ b/content/browser/browser_main_loop.cc
@@ -587,6 +587,21 @@
   }
 #endif
 
+  bool initialize_gpu_data_manager = true;
+#if defined(OS_ANDROID)
+  // On Android, GLSurface::InitializeOneOff() must be called before initalizing
+  // the GpuDataManagerImpl as it uses the GL bindings. crbug.com/326295
+  if (!gfx::GLSurface::InitializeOneOff()) {
+    LOG(ERROR) << "GLSurface::InitializeOneOff failed";
+    initialize_gpu_data_manager = false;
+  }
+#endif
+
+  // Initialize the GpuDataManager before we set up the MessageLoops because
+  // otherwise we'll trigger the assertion about doing IO on the UI thread.
+  if (initialize_gpu_data_manager)
+    GpuDataManagerImpl::GetInstance()->Initialize();
+
 #if !defined(OS_IOS) && (!defined(GOOGLE_CHROME_BUILD) || defined(OS_ANDROID))
   // Single-process is an unsupported and not fully tested mode, so
   // don't enable it for official Chrome builds (except on Android).
@@ -992,21 +1007,6 @@
 #if !defined(OS_IOS)
   HistogramSynchronizer::GetInstance();
 
-  bool initialize_gpu_data_manager = true;
-#if defined(OS_ANDROID)
-  // On Android, GLSurface::InitializeOneOff() must be called before initalizing
-  // the GpuDataManagerImpl as it uses the GL bindings. crbug.com/326295
-  if (!gfx::GLSurface::InitializeOneOff()) {
-    LOG(ERROR) << "GLSurface::InitializeOneOff failed";
-    initialize_gpu_data_manager = false;
-  }
-#endif
-
-  // Initialize the GpuDataManager before we set up the MessageLoops because
-  // otherwise we'll trigger the assertion about doing IO on the UI thread.
-  if (initialize_gpu_data_manager)
-    GpuDataManagerImpl::GetInstance()->Initialize();
-
   bool always_uses_gpu = true;
   bool established_gpu_channel = false;
 #if defined(USE_AURA) || defined(OS_MACOSX)
diff --git a/gpu/config/software_rendering_list_json.cc b/gpu/config/software_rendering_list_json.cc
index b9f5e3a..0a11bf3 100644
--- a/gpu/config/software_rendering_list_json.cc
+++ b/gpu/config/software_rendering_list_json.cc
@@ -18,7 +18,7 @@
 {
   "name": "software rendering list",
   // Please update the version number whenever you change this file.
-  "version": "9.13",
+  "version": "9.13.0.1",
   "entries": [
     {
       "id": 1,
@@ -1182,6 +1182,21 @@
         "accelerated_2d_canvas",
         "gpu_rasterization"
       ]
+    },
+    {
+      "id": 105,
+      "description": "Disable GPU raster on Mali-T760",
+      "os": {
+        "type": "android",
+        "version": {
+          "op": ">=",
+          "value": "5.0"
+        }
+      },
+      "gl_renderer": ".*Mali-T760.*",
+      "features": [
+        "gpu_rasterization"
+      ]
     }
   ]
 }