Index: gpu/command_buffer/service/gles2_cmd_decoder.cc |
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
index 951bbd62406e49e96adfa62320ad201a7f37cd24..7bbe050d06ef042c356e1f877bf81a9530ad367b 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
@@ -67,6 +67,10 @@ |
#include "ui/gl/gl_implementation.h" |
#include "ui/gl/gl_surface.h" |
+#if defined (OS_ANDROID) |
+#include "base/sys_info.h" |
+#endif |
+ |
#if defined(OS_MACOSX) |
#include <IOSurface/IOSurfaceAPI.h> |
// Note that this must be included after gl_bindings.h to avoid conflicts. |
@@ -11326,7 +11330,12 @@ void GLES2DecoderImpl::MarkContextLost(error::ContextLostReason reason) { |
// Some D3D drivers cannot recover from device lost in the GPU process |
// sandbox. Allow a new GPU process to launch. |
- if (workarounds().exit_on_context_lost) { |
+ if (workarounds().exit_on_context_lost |
+#if defined(OS_ANDROID) |
+ // Don't crash the browser. |
+ && !base::SysInfo::IsLowEndDevice() |
+#endif |
+ ) { |
LOG(ERROR) << "Exiting GPU process because some drivers cannot reset" |
Zhenyao Mo
2015/06/04 00:58:13
The log message and the above comment are all abou
|
<< " a D3D device in the Chrome GPU process sandbox."; |
#if defined(OS_WIN) |