| Index: content/browser/gpu/gpu_data_manager_impl_private.cc
|
| ===================================================================
|
| --- content/browser/gpu/gpu_data_manager_impl_private.cc (revision 221099)
|
| +++ content/browser/gpu/gpu_data_manager_impl_private.cc (working copy)
|
| @@ -42,6 +42,7 @@
|
| #include "base/win/windows_version.h"
|
| #endif // OS_WIN
|
| #if defined(OS_ANDROID)
|
| +#include "base/android/build_info.h"
|
| #include "ui/gfx/android/device_display_info.h"
|
| #endif // OS_ANDROID
|
|
|
| @@ -278,12 +279,15 @@
|
| bool is_nexus10 =
|
| gpu_info.machine_model.find("Nexus 10") != std::string::npos;
|
|
|
| + int sdk_int = base::android::BuildInfo::GetInstance()->sdk_int();
|
| +
|
| // IMG: avoid context switching perf problems, crashes with share groups
|
| // Mali-T604: http://crbug.com/154715
|
| // QualComm, NVIDIA: Crashes with share groups
|
| - if (is_vivante || is_img || is_mali_t604 || is_nvidia || is_qualcomm ||
|
| - is_broadcom)
|
| + if (is_vivante || is_img || is_mali_t604 ||
|
| + ((is_nvidia || is_qualcomm) && sdk_int < 18) || is_broadcom) {
|
| command_line->AppendSwitch(switches::kEnableVirtualGLContexts);
|
| + }
|
|
|
| gfx::DeviceDisplayInfo info;
|
| int default_tile_size = 256;
|
|
|