| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |