Chromium Code Reviews| 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) |