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

Side by Side Diff: content/browser/gpu/gpu_data_manager.cc

Issue 8474007: Disable accelerated 2d canvas and put it back as an option in about:flags. (Closed) Base URL: svn://svn.chromium.org/chrome/branches/912/src/
Patch Set: Created 9 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "content/browser/gpu/gpu_data_manager.h" 5 #include "content/browser/gpu/gpu_data_manager.h"
6 6
7 #if defined(OS_MACOSX) 7 #if defined(OS_MACOSX)
8 #include <CoreGraphics/CGDisplayConfiguration.h> 8 #include <CoreGraphics/CGDisplayConfiguration.h>
9 #endif 9 #endif
10 10
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 entry_index += 2; 141 entry_index += 2;
142 break; 142 break;
143 } 143 }
144 return entry_index; 144 return entry_index;
145 } 145 }
146 #endif // OS_WIN 146 #endif // OS_WIN
147 147
148 } // namespace anonymous 148 } // namespace anonymous
149 149
150 GpuDataManager::UserFlags::UserFlags() 150 GpuDataManager::UserFlags::UserFlags()
151 : disable_accelerated_2d_canvas_(false), 151 : disable_accelerated_2d_canvas_(true),
152 disable_accelerated_compositing_(false), 152 disable_accelerated_compositing_(false),
153 disable_accelerated_layers_(false), 153 disable_accelerated_layers_(false),
154 disable_experimental_webgl_(false), 154 disable_experimental_webgl_(false),
155 disable_gl_multisampling_(false), 155 disable_gl_multisampling_(false),
156 ignore_gpu_blacklist_(false) { 156 ignore_gpu_blacklist_(false) {
157 } 157 }
158 158
159 void GpuDataManager::UserFlags::Initialize() { 159 void GpuDataManager::UserFlags::Initialize() {
160 const CommandLine& browser_command_line = 160 const CommandLine& browser_command_line =
161 *CommandLine::ForCurrentProcess(); 161 *CommandLine::ForCurrentProcess();
162 162
163 disable_accelerated_2d_canvas_ = browser_command_line.HasSwitch( 163 disable_accelerated_2d_canvas_ = !browser_command_line.HasSwitch(
164 switches::kDisableAccelerated2dCanvas); 164 switches::kEnableAccelerated2dCanvas);
165 disable_accelerated_compositing_ = browser_command_line.HasSwitch( 165 disable_accelerated_compositing_ = browser_command_line.HasSwitch(
166 switches::kDisableAcceleratedCompositing); 166 switches::kDisableAcceleratedCompositing);
167 disable_accelerated_layers_ = browser_command_line.HasSwitch( 167 disable_accelerated_layers_ = browser_command_line.HasSwitch(
168 switches::kDisableAcceleratedLayers); 168 switches::kDisableAcceleratedLayers);
169 disable_experimental_webgl_ = browser_command_line.HasSwitch( 169 disable_experimental_webgl_ = browser_command_line.HasSwitch(
170 switches::kDisableExperimentalWebGL); 170 switches::kDisableExperimentalWebGL);
171 disable_gl_multisampling_ = browser_command_line.HasSwitch( 171 disable_gl_multisampling_ = browser_command_line.HasSwitch(
172 switches::kDisableGLMultisampling); 172 switches::kDisableGLMultisampling);
173 173
174 ignore_gpu_blacklist_ = browser_command_line.HasSwitch( 174 ignore_gpu_blacklist_ = browser_command_line.HasSwitch(
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 259
260 uint32 flags = GetGpuFeatureFlags().flags(); 260 uint32 flags = GetGpuFeatureFlags().flags();
261 DictionaryValue* status = new DictionaryValue(); 261 DictionaryValue* status = new DictionaryValue();
262 262
263 const GpuFeatureInfo kGpuFeatureInfo[] = { 263 const GpuFeatureInfo kGpuFeatureInfo[] = {
264 { 264 {
265 "2d_canvas", 265 "2d_canvas",
266 flags & GpuFeatureFlags::kGpuFeatureAccelerated2dCanvas, 266 flags & GpuFeatureFlags::kGpuFeatureAccelerated2dCanvas,
267 user_flags_.disable_accelerated_2d_canvas() || 267 user_flags_.disable_accelerated_2d_canvas() ||
268 !supportsAccelerated2dCanvas(), 268 !supportsAccelerated2dCanvas(),
269 "Accelerated 2D canvas is unavailable: either disabled at the command" 269 "Accelerated 2D canvas is unavailable: either not enabled via"
270 " line or not supported by the current system.", 270 " about:flags or not supported by the current system.",
271 true 271 true
272 }, 272 },
273 { 273 {
274 "compositing", 274 "compositing",
275 flags & GpuFeatureFlags::kGpuFeatureAcceleratedCompositing, 275 flags & GpuFeatureFlags::kGpuFeatureAcceleratedCompositing,
276 user_flags_.disable_accelerated_compositing(), 276 user_flags_.disable_accelerated_compositing(),
277 "Accelerated compositing has been disabled, either via about:flags or" 277 "Accelerated compositing has been disabled, either via about:flags or"
278 " command line. This adversely affects performance of all hardware" 278 " command line. This adversely affects performance of all hardware"
279 " accelerated features.", 279 " accelerated features.",
280 true 280 true
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 command_line->AppendSwitch(switches::kDisableExperimentalWebGL); 439 command_line->AppendSwitch(switches::kDisableExperimentalWebGL);
440 if (!command_line->HasSwitch(switches::kDisablePepper3dForUntrustedUse)) 440 if (!command_line->HasSwitch(switches::kDisablePepper3dForUntrustedUse))
441 command_line->AppendSwitch(switches::kDisablePepper3dForUntrustedUse); 441 command_line->AppendSwitch(switches::kDisablePepper3dForUntrustedUse);
442 } 442 }
443 if ((flags & GpuFeatureFlags::kGpuFeatureMultisampling) && 443 if ((flags & GpuFeatureFlags::kGpuFeatureMultisampling) &&
444 !command_line->HasSwitch(switches::kDisableGLMultisampling)) 444 !command_line->HasSwitch(switches::kDisableGLMultisampling))
445 command_line->AppendSwitch(switches::kDisableGLMultisampling); 445 command_line->AppendSwitch(switches::kDisableGLMultisampling);
446 if ((flags & GpuFeatureFlags::kGpuFeatureAcceleratedCompositing) && 446 if ((flags & GpuFeatureFlags::kGpuFeatureAcceleratedCompositing) &&
447 !command_line->HasSwitch(switches::kDisableAcceleratedCompositing)) 447 !command_line->HasSwitch(switches::kDisableAcceleratedCompositing))
448 command_line->AppendSwitch(switches::kDisableAcceleratedCompositing); 448 command_line->AppendSwitch(switches::kDisableAcceleratedCompositing);
449 if ((flags & GpuFeatureFlags::kGpuFeatureAccelerated2dCanvas) &&
450 !command_line->HasSwitch(switches::kDisableAccelerated2dCanvas))
451 command_line->AppendSwitch(switches::kDisableAccelerated2dCanvas);
452 } 449 }
453 450
454 void GpuDataManager::AppendGpuCommandLine( 451 void GpuDataManager::AppendGpuCommandLine(
455 CommandLine* command_line) { 452 CommandLine* command_line) {
456 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 453 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
457 DCHECK(command_line); 454 DCHECK(command_line);
458 455
459 uint32 flags = gpu_feature_flags_.flags(); 456 uint32 flags = gpu_feature_flags_.flags();
460 if ((flags & GpuFeatureFlags::kGpuFeatureMultisampling) && 457 if ((flags & GpuFeatureFlags::kGpuFeatureMultisampling) &&
461 !command_line->HasSwitch(switches::kDisableGLMultisampling)) 458 !command_line->HasSwitch(switches::kDisableGLMultisampling))
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
703 bool GpuDataManager::supportsAccelerated2dCanvas() const { 700 bool GpuDataManager::supportsAccelerated2dCanvas() const {
704 if (gpu_info_.can_lose_context) 701 if (gpu_info_.can_lose_context)
705 return false; 702 return false;
706 #if defined(USE_SKIA) 703 #if defined(USE_SKIA)
707 return true; 704 return true;
708 #else 705 #else
709 return false; 706 return false;
710 #endif 707 #endif
711 } 708 }
712 709
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698