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

Side by Side Diff: chrome/gpu/gpu_main.cc

Issue 4641003: Fixed regression in order of initialization on Linux in r65461 causing... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 years, 1 month 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 | « no previous file | 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 <stdlib.h> 5 #include <stdlib.h>
6 6
7 #include "app/app_switches.h" 7 #include "app/app_switches.h"
8 #include "app/gfx/gl/gl_context.h" 8 #include "app/gfx/gl/gl_context.h"
9 #include "app/gfx/gl/gl_implementation.h" 9 #include "app/gfx/gl/gl_implementation.h"
10 #include "base/environment.h" 10 #include "base/environment.h"
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 PlatformThread::SetName("CrGpuMain"); 83 PlatformThread::SetName("CrGpuMain");
84 84
85 #if defined(OS_WIN) 85 #if defined(OS_WIN)
86 win_util::ScopedCOMInitializer com_initializer; 86 win_util::ScopedCOMInitializer com_initializer;
87 #endif 87 #endif
88 88
89 #if defined(USE_X11) 89 #if defined(USE_X11)
90 SetGpuX11ErrorHandlers(); 90 SetGpuX11ErrorHandlers();
91 #endif 91 #endif
92 92
93 // On Linux the GpuThread constructor performs certain
94 // initialization that is required before accessing the default X
95 // display.
96 GpuProcess gpu_process;
97 GpuThread* gpu_thread = new GpuThread;
98 gpu_process.set_main_thread(gpu_thread);
99
93 // Load the GL implementation and locate the bindings before starting as 100 // Load the GL implementation and locate the bindings before starting as
94 // this can take a lot of time and the GPU watchdog might terminate the GPU 101 // this can take a lot of time and the GPU watchdog might terminate the GPU
95 // process. 102 // process.
96 if (!gfx::GLContext::InitializeOneOff()) 103 if (!gfx::GLContext::InitializeOneOff())
97 return EXIT_FAILURE; 104 return EXIT_FAILURE;
98 105
99 GpuProcess gpu_process;
100 GpuThread* gpu_thread = new GpuThread;
101 gpu_process.set_main_thread(gpu_thread);
102
103 // Only enable this experimental feaure for a subset of users. 106 // Only enable this experimental feaure for a subset of users.
104 scoped_refptr<base::FieldTrial> watchdog_trial( 107 scoped_refptr<base::FieldTrial> watchdog_trial(
105 new base::FieldTrial("GpuWatchdogTrial", 100)); 108 new base::FieldTrial("GpuWatchdogTrial", 100));
106 int watchdog_timeout = 0; 109 int watchdog_timeout = 0;
107 for (int i = kMinGpuTimeout; i <= kMaxGpuTimeout; ++i) { 110 for (int i = kMinGpuTimeout; i <= kMaxGpuTimeout; ++i) {
108 int group = watchdog_trial->AppendGroup(StringPrintf("%dsecs", i), 111 int group = watchdog_trial->AppendGroup(StringPrintf("%dsecs", i),
109 kFieldTrialSize); 112 kFieldTrialSize);
110 if (group == watchdog_trial->group()) { 113 if (group == watchdog_trial->group()) {
111 watchdog_timeout = i; 114 watchdog_timeout = i;
112 break; 115 break;
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 // initialization time is recorded in the GPU info. 152 // initialization time is recorded in the GPU info.
150 gpu_thread->Init(start_time); 153 gpu_thread->Init(start_time);
151 154
152 main_message_loop.Run(); 155 main_message_loop.Run();
153 156
154 if (enable_watchdog) 157 if (enable_watchdog)
155 watchdog_thread->Stop(); 158 watchdog_thread->Stop();
156 159
157 return 0; 160 return 0;
158 } 161 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698