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

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

Issue 238933009: Remove --disable-accelerated-compositing (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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
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 "content/browser/gpu/compositor_util.h" 5 #include "content/browser/gpu/compositor_util.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "build/build_config.h" 9 #include "build/build_config.h"
10 #include "cc/base/switches.h" 10 #include "cc/base/switches.h"
(...skipping 26 matching lines...) Expand all
37 !GpuDataManagerImpl::GetInstance()-> 37 !GpuDataManagerImpl::GetInstance()->
38 GetGPUInfo().SupportsAccelerated2dCanvas(), 38 GetGPUInfo().SupportsAccelerated2dCanvas(),
39 "Accelerated 2D canvas is unavailable: either disabled at the command" 39 "Accelerated 2D canvas is unavailable: either disabled at the command"
40 " line or not supported by the current system.", 40 " line or not supported by the current system.",
41 true 41 true
42 }, 42 },
43 { 43 {
44 "compositing", 44 "compositing",
45 manager->IsFeatureBlacklisted( 45 manager->IsFeatureBlacklisted(
46 gpu::GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING), 46 gpu::GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING),
47 command_line.HasSwitch(switches::kDisableAcceleratedCompositing), 47 false,
48 "Accelerated compositing has been disabled, either via about:flags or" 48 "Accelerated compositing has been disabled, either via about:flags or"
49 " command line. This adversely affects performance of all hardware" 49 " command line. This adversely affects performance of all hardware"
50 " accelerated features.", 50 " accelerated features.",
51 true 51 true
52 }, 52 },
53 { 53 {
54 "3d_css", 54 "3d_css",
55 manager->IsFeatureBlacklisted( 55 manager->IsFeatureBlacklisted(
56 gpu::GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING) || 56 gpu::GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING) ||
57 manager->IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_3D_CSS), 57 manager->IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_3D_CSS),
58 command_line.HasSwitch(switches::kDisableAcceleratedLayers), 58 command_line.HasSwitch(switches::kDisableAcceleratedLayers),
59 "Accelerated layers have been disabled at the command line.", 59 "Accelerated layers have been disabled at the command line.",
60 false 60 false
61 }, 61 },
62 { 62 {
63 "css_animation", 63 "css_animation",
64 manager->IsFeatureBlacklisted( 64 manager->IsFeatureBlacklisted(
65 gpu::GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING) || 65 gpu::GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING) ||
66 manager->IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_3D_CSS), 66 manager->IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_3D_CSS),
67 command_line.HasSwitch(cc::switches::kDisableThreadedAnimation) || 67 command_line.HasSwitch(cc::switches::kDisableThreadedAnimation) ||
68 command_line.HasSwitch(switches::kDisableAcceleratedCompositing) ||
69 command_line.HasSwitch(switches::kDisableAcceleratedLayers), 68 command_line.HasSwitch(switches::kDisableAcceleratedLayers),
70 "Accelerated CSS animation has been disabled at the command line.", 69 "Accelerated CSS animation has been disabled at the command line.",
71 true 70 true
72 }, 71 },
73 { 72 {
74 "webgl", 73 "webgl",
75 manager->IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_WEBGL), 74 manager->IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_WEBGL),
76 command_line.HasSwitch(switches::kDisableExperimentalWebGL), 75 command_line.HasSwitch(switches::kDisableExperimentalWebGL),
77 "WebGL has been disabled, either via about:flags or command line.", 76 "WebGL has been disabled, either via about:flags or command line.",
78 false 77 false
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 command_line.HasSwitch(switches::kDisableWebRtcHWEncoding), 119 command_line.HasSwitch(switches::kDisableWebRtcHWEncoding),
121 "Accelerated video encode has been disabled, either via about:flags" 120 "Accelerated video encode has been disabled, either via about:flags"
122 " or command line.", 121 " or command line.",
123 true 122 true
124 }, 123 },
125 #endif 124 #endif
126 { 125 {
127 "video", 126 "video",
128 manager->IsFeatureBlacklisted( 127 manager->IsFeatureBlacklisted(
129 gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO), 128 gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO),
130 command_line.HasSwitch(switches::kDisableAcceleratedVideo) || 129 command_line.HasSwitch(switches::kDisableAcceleratedVideo),
131 command_line.HasSwitch(switches::kDisableAcceleratedCompositing),
132 "Accelerated video presentation has been disabled, either via" 130 "Accelerated video presentation has been disabled, either via"
133 " about:flags or command line.", 131 " about:flags or command line.",
134 true 132 true
135 }, 133 },
136 #if defined(OS_CHROMEOS) 134 #if defined(OS_CHROMEOS)
137 { 135 {
138 "panel_fitting", 136 "panel_fitting",
139 manager->IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_PANEL_FITTING), 137 manager->IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_PANEL_FITTING),
140 command_line.HasSwitch(switches::kDisablePanelFitting), 138 command_line.HasSwitch(switches::kDisablePanelFitting),
141 "Panel fitting has been disabled, either via about:flags or command" 139 "Panel fitting has been disabled, either via about:flags or command"
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 // accelerated compositing is blacklisted. 174 // accelerated compositing is blacklisted.
177 if (!manager->GpuAccessAllowed(NULL) || 175 if (!manager->GpuAccessAllowed(NULL) ||
178 manager->IsFeatureBlacklisted( 176 manager->IsFeatureBlacklisted(
179 gpu::GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING)) 177 gpu::GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING))
180 return false; 178 return false;
181 179
182 // Check for SwiftShader. 180 // Check for SwiftShader.
183 if (manager->ShouldUseSwiftShader()) 181 if (manager->ShouldUseSwiftShader())
184 return false; 182 return false;
185 183
186 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
187 if (command_line.HasSwitch(switches::kDisableAcceleratedCompositing))
188 return false;
189
190 return true; 184 return true;
191 } 185 }
192 186
193 bool IsForceCompositingModeBlacklisted() { 187 bool IsForceCompositingModeBlacklisted() {
194 return GpuDataManagerImpl::GetInstance()->IsFeatureBlacklisted( 188 return GpuDataManagerImpl::GetInstance()->IsFeatureBlacklisted(
195 gpu::GPU_FEATURE_TYPE_FORCE_COMPOSITING_MODE); 189 gpu::GPU_FEATURE_TYPE_FORCE_COMPOSITING_MODE);
196 } 190 }
197 191
198 } // namespace 192 } // namespace
199 193
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 bool IsForceGpuRasterizationEnabled() { 290 bool IsForceGpuRasterizationEnabled() {
297 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); 291 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
298 292
299 if (!IsImplSidePaintingEnabled()) 293 if (!IsImplSidePaintingEnabled())
300 return false; 294 return false;
301 295
302 return command_line.HasSwitch(switches::kForceGpuRasterization); 296 return command_line.HasSwitch(switches::kForceGpuRasterization);
303 } 297 }
304 298
305 base::Value* GetFeatureStatus() { 299 base::Value* GetFeatureStatus() {
306 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
307 GpuDataManagerImpl* manager = GpuDataManagerImpl::GetInstance(); 300 GpuDataManagerImpl* manager = GpuDataManagerImpl::GetInstance();
308 std::string gpu_access_blocked_reason; 301 std::string gpu_access_blocked_reason;
309 bool gpu_access_blocked = 302 bool gpu_access_blocked =
310 !manager->GpuAccessAllowed(&gpu_access_blocked_reason); 303 !manager->GpuAccessAllowed(&gpu_access_blocked_reason);
311 304
312 base::DictionaryValue* feature_status_dict = new base::DictionaryValue(); 305 base::DictionaryValue* feature_status_dict = new base::DictionaryValue();
313 306
314 bool eof = false; 307 bool eof = false;
315 for (size_t i = 0; !eof; ++i) { 308 for (size_t i = 0; !eof; ++i) {
316 const GpuFeatureInfo gpu_feature_info = GetGpuFeatureInfo(i, &eof); 309 const GpuFeatureInfo gpu_feature_info = GetGpuFeatureInfo(i, &eof);
(...skipping 22 matching lines...) Expand all
339 } else if (gpu_feature_info.blocked || 332 } else if (gpu_feature_info.blocked ||
340 gpu_access_blocked) { 333 gpu_access_blocked) {
341 status = "unavailable"; 334 status = "unavailable";
342 if (gpu_feature_info.fallback_to_software) 335 if (gpu_feature_info.fallback_to_software)
343 status += "_software"; 336 status += "_software";
344 else 337 else
345 status += "_off"; 338 status += "_off";
346 } else { 339 } else {
347 status = "enabled"; 340 status = "enabled";
348 if (gpu_feature_info.name == "webgl" && 341 if (gpu_feature_info.name == "webgl" &&
349 (command_line.HasSwitch(switches::kDisableAcceleratedCompositing) || 342 (manager->IsFeatureBlacklisted(
350 manager->IsFeatureBlacklisted( 343 gpu::GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING)))
351 gpu::GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING)))
352 status += "_readback"; 344 status += "_readback";
353 bool has_thread = IsThreadedCompositingEnabled(); 345 bool has_thread = IsThreadedCompositingEnabled();
354 if (gpu_feature_info.name == "compositing") { 346 if (gpu_feature_info.name == "compositing") {
355 bool force_compositing = IsForceCompositingModeEnabled(); 347 bool force_compositing = IsForceCompositingModeEnabled();
356 if (force_compositing) 348 if (force_compositing)
357 status += "_force"; 349 status += "_force";
358 if (has_thread) 350 if (has_thread)
359 status += "_threaded"; 351 status += "_threaded";
360 } else if (gpu_feature_info.name == "css_animation") { 352 } else if (gpu_feature_info.name == "css_animation") {
361 if (has_thread) 353 if (has_thread)
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 return problem_list; 406 return problem_list;
415 } 407 }
416 408
417 base::Value* GetDriverBugWorkarounds() { 409 base::Value* GetDriverBugWorkarounds() {
418 base::ListValue* workaround_list = new base::ListValue(); 410 base::ListValue* workaround_list = new base::ListValue();
419 GpuDataManagerImpl::GetInstance()->GetDriverBugWorkarounds(workaround_list); 411 GpuDataManagerImpl::GetInstance()->GetDriverBugWorkarounds(workaround_list);
420 return workaround_list; 412 return workaround_list;
421 } 413 }
422 414
423 } // namespace content 415 } // namespace content
OLDNEW
« no previous file with comments | « chrome/test/gpu/gpu_feature_browsertest.cc ('k') | content/browser/gpu/gpu_data_manager_impl_private.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698