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

Side by Side Diff: content/browser/gpu_process_host.cc

Issue 6623063: Connect up --disable-gl-multisampling to command buffer (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Fix style. Created 9 years, 9 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 | « content/browser/gpu_process_host.h ('k') | gpu/command_buffer/client/gles2_demo.cc » ('j') | 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 #if defined(OS_WIN) 5 #if defined(OS_WIN)
6 #include <windows.h> 6 #include <windows.h>
7 #endif 7 #endif
8 8
9 #include "content/browser/gpu_process_host.h" 9 #include "content/browser/gpu_process_host.h"
10 10
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 gpu_thread_.reset(); 95 gpu_thread_.reset();
96 } 96 }
97 97
98 private: 98 private:
99 scoped_ptr<GpuThread> gpu_thread_; 99 scoped_ptr<GpuThread> gpu_thread_;
100 std::string channel_id_; 100 std::string channel_id_;
101 DISALLOW_COPY_AND_ASSIGN(GpuMainThread); 101 DISALLOW_COPY_AND_ASSIGN(GpuMainThread);
102 }; 102 };
103 103
104 // static 104 // static
105 GpuProcessHost* GpuProcessHost::Create(int host_id) { 105 GpuProcessHost* GpuProcessHost::Create(
106 int host_id,
107 const GpuFeatureFlags& gpu_feature_flags) {
106 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 108 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
107 109
108 GpuProcessHost* host = new GpuProcessHost(host_id); 110 GpuProcessHost* host = new GpuProcessHost(host_id, gpu_feature_flags);
109 if (!host->Init()) { 111 if (!host->Init()) {
110 delete host; 112 delete host;
111 return NULL; 113 return NULL;
112 } 114 }
113 115
114 return host; 116 return host;
115 } 117 }
116 118
117 // static 119 // static
118 GpuProcessHost* GpuProcessHost::FromID(int host_id) { 120 GpuProcessHost* GpuProcessHost::FromID(int host_id) {
119 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 121 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
120 122
121 if (host_id == 0) 123 if (host_id == 0)
122 return NULL; 124 return NULL;
123 125
124 return g_hosts_by_id.Lookup(host_id); 126 return g_hosts_by_id.Lookup(host_id);
125 } 127 }
126 128
127 GpuProcessHost::GpuProcessHost(int host_id) 129 GpuProcessHost::GpuProcessHost(
130 int host_id,
131 const GpuFeatureFlags& gpu_feature_flags)
128 : BrowserChildProcessHost(GPU_PROCESS, NULL), 132 : BrowserChildProcessHost(GPU_PROCESS, NULL),
129 host_id_(host_id) { 133 host_id_(host_id),
134 gpu_feature_flags_(gpu_feature_flags) {
130 g_hosts_by_id.AddWithID(this, host_id_); 135 g_hosts_by_id.AddWithID(this, host_id_);
131 } 136 }
132 137
133 GpuProcessHost::~GpuProcessHost() { 138 GpuProcessHost::~GpuProcessHost() {
134 139
135 DCHECK(CalledOnValidThread()); 140 DCHECK(CalledOnValidThread());
136 141
137 g_hosts_by_id.Remove(host_id_); 142 g_hosts_by_id.Remove(host_id_);
138 143
139 BrowserThread::PostTask(BrowserThread::UI, 144 BrowserThread::PostTask(BrowserThread::UI,
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 switches::kDisableLogging, 294 switches::kDisableLogging,
290 switches::kEnableAcceleratedDecoding, 295 switches::kEnableAcceleratedDecoding,
291 switches::kEnableLogging, 296 switches::kEnableLogging,
292 #if defined(OS_MACOSX) 297 #if defined(OS_MACOSX)
293 switches::kEnableSandboxLogging, 298 switches::kEnableSandboxLogging,
294 #endif 299 #endif
295 switches::kGpuStartupDialog, 300 switches::kGpuStartupDialog,
296 switches::kLoggingLevel, 301 switches::kLoggingLevel,
297 switches::kNoGpuSandbox, 302 switches::kNoGpuSandbox,
298 switches::kNoSandbox, 303 switches::kNoSandbox,
304 switches::kDisableGLMultisampling,
299 }; 305 };
300 cmd_line->CopySwitchesFrom(browser_command_line, kSwitchNames, 306 cmd_line->CopySwitchesFrom(browser_command_line, kSwitchNames,
301 arraysize(kSwitchNames)); 307 arraysize(kSwitchNames));
302 308
309 if (gpu_feature_flags_.flags() & GpuFeatureFlags::kGpuFeatureMultisampling) {
310 cmd_line->AppendSwitch(switches::kDisableGLMultisampling);
311 }
312
303 // If specified, prepend a launcher program to the command line. 313 // If specified, prepend a launcher program to the command line.
304 if (!gpu_launcher.empty()) 314 if (!gpu_launcher.empty())
305 cmd_line->PrependWrapper(gpu_launcher); 315 cmd_line->PrependWrapper(gpu_launcher);
306 316
307 Launch( 317 Launch(
308 #if defined(OS_WIN) 318 #if defined(OS_WIN)
309 FilePath(), 319 FilePath(),
310 #elif defined(OS_POSIX) 320 #elif defined(OS_POSIX)
311 false, // Never use the zygote (GPU plugin can't be sandboxed). 321 false, // Never use the zygote (GPU plugin can't be sandboxed).
312 base::environment_vector(), 322 base::environment_vector(),
313 #endif 323 #endif
314 cmd_line); 324 cmd_line);
315 325
316 UMA_HISTOGRAM_ENUMERATION("GPU.GPUProcessLifetimeEvents", 326 UMA_HISTOGRAM_ENUMERATION("GPU.GPUProcessLifetimeEvents",
317 LAUNCHED, GPU_PROCESS_LIFETIME_EVENT_MAX); 327 LAUNCHED, GPU_PROCESS_LIFETIME_EVENT_MAX);
318 return true; 328 return true;
319 } 329 }
OLDNEW
« no previous file with comments | « content/browser/gpu_process_host.h ('k') | gpu/command_buffer/client/gles2_demo.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698