Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(71)

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_decoder.cc

Issue 12617020: Windows: On context lost, GPU process exits. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « gpu/command_buffer/service/feature_info.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" 5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h"
6 6
7 #include <stdio.h> 7 #include <stdio.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <list> 10 #include <list>
(...skipping 2835 matching lines...) Expand 10 before | Expand all | Expand 10 after
2846 } 2846 }
2847 2847
2848 // } // anonymous namespace 2848 // } // anonymous namespace
2849 2849
2850 bool GLES2DecoderImpl::MakeCurrent() { 2850 bool GLES2DecoderImpl::MakeCurrent() {
2851 if (!context_.get() || !context_->MakeCurrent(surface_.get())) 2851 if (!context_.get() || !context_->MakeCurrent(surface_.get()))
2852 return false; 2852 return false;
2853 2853
2854 if (WasContextLost()) { 2854 if (WasContextLost()) {
2855 LOG(ERROR) << " GLES2DecoderImpl: Context lost during MakeCurrent."; 2855 LOG(ERROR) << " GLES2DecoderImpl: Context lost during MakeCurrent.";
2856
2857 // Some D3D drivers cannot recover from device lost in the GPU process
2858 // sandbox. Allow a new GPU process to launch.
2859 if (workarounds().exit_on_context_lost) {
2860 LOG(ERROR) << "Exiting GPU process because some drivers cannot reset"
2861 << " a D3D device in the Chrome GPU process sandbox.";
2862 exit(0);
2863 }
2864
2856 return false; 2865 return false;
2857 } 2866 }
2858 2867
2859 ProcessFinishedAsyncTransfers(); 2868 ProcessFinishedAsyncTransfers();
2860 if (workarounds().flush_on_context_switch) 2869 if (workarounds().flush_on_context_switch)
2861 glFlush(); 2870 glFlush();
2862 2871
2863 return true; 2872 return true;
2864 } 2873 }
2865 2874
(...skipping 7600 matching lines...) Expand 10 before | Expand all | Expand 10 after
10466 return error::kNoError; 10475 return error::kNoError;
10467 } 10476 }
10468 10477
10469 // Include the auto-generated part of this file. We split this because it means 10478 // Include the auto-generated part of this file. We split this because it means
10470 // we can easily edit the non-auto generated parts right here in this file 10479 // we can easily edit the non-auto generated parts right here in this file
10471 // instead of having to edit some template or the code generator. 10480 // instead of having to edit some template or the code generator.
10472 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" 10481 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h"
10473 10482
10474 } // namespace gles2 10483 } // namespace gles2
10475 } // namespace gpu 10484 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/feature_info.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698