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

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

Issue 239083006: Change ACCELERATED_COMPOSITING blacklist to GPU_COMPOSITING. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: blacklistaccel: tests 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 23 matching lines...) Expand all
34 manager->IsFeatureBlacklisted( 34 manager->IsFeatureBlacklisted(
35 gpu::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS), 35 gpu::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS),
36 command_line.HasSwitch(switches::kDisableAccelerated2dCanvas) || 36 command_line.HasSwitch(switches::kDisableAccelerated2dCanvas) ||
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 "gpu_compositing",
45 manager->IsFeatureBlacklisted( 45 manager->IsFeatureBlacklisted(
46 gpu::GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING), 46 gpu::GPU_FEATURE_TYPE_GPU_COMPOSITING),
47 false, 47 false,
48 "Accelerated compositing has been disabled, either via about:flags or" 48 "Gpu compositing has been disabled, either via about:flags or"
49 " command line. This adversely affects performance of all hardware" 49 " command line. The browser will fall back to software compositing"
50 " accelerated features.", 50 " and hardware acceleration will be unavailable.",
51 true 51 true
52 }, 52 },
53 { 53 {
54 "3d_css", 54 "3d_css",
55 manager->IsFeatureBlacklisted(
56 gpu::GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING) ||
57 manager->IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_3D_CSS), 55 manager->IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_3D_CSS),
58 command_line.HasSwitch(switches::kDisableAcceleratedLayers), 56 command_line.HasSwitch(switches::kDisableAcceleratedLayers),
59 "Accelerated layers have been disabled at the command line.", 57 "Accelerated layers have been disabled at the command line.",
60 false 58 false
61 }, 59 },
62 { 60 {
63 "css_animation", 61 "css_animation",
64 manager->IsFeatureBlacklisted(
65 gpu::GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING) ||
66 manager->IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_3D_CSS), 62 manager->IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_3D_CSS),
67 command_line.HasSwitch(cc::switches::kDisableThreadedAnimation) || 63 command_line.HasSwitch(cc::switches::kDisableThreadedAnimation) ||
68 command_line.HasSwitch(switches::kDisableAcceleratedLayers), 64 command_line.HasSwitch(switches::kDisableAcceleratedLayers),
69 "Accelerated CSS animation has been disabled at the command line.", 65 "Accelerated CSS animation has been disabled at the command line.",
70 true 66 true
71 }, 67 },
72 { 68 {
73 "webgl", 69 "webgl",
74 manager->IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_WEBGL), 70 manager->IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_WEBGL),
75 command_line.HasSwitch(switches::kDisableExperimentalWebGL), 71 command_line.HasSwitch(switches::kDisableExperimentalWebGL),
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 DCHECK(index < arraysize(kGpuFeatureInfo)); 157 DCHECK(index < arraysize(kGpuFeatureInfo));
162 *eof = (index == arraysize(kGpuFeatureInfo) - 1); 158 *eof = (index == arraysize(kGpuFeatureInfo) - 1);
163 return kGpuFeatureInfo[index]; 159 return kGpuFeatureInfo[index];
164 } 160 }
165 161
166 bool CanDoAcceleratedCompositing() { 162 bool CanDoAcceleratedCompositing() {
167 const GpuDataManagerImpl* manager = GpuDataManagerImpl::GetInstance(); 163 const GpuDataManagerImpl* manager = GpuDataManagerImpl::GetInstance();
168 164
169 // Don't use force compositing mode if gpu access has been blocked or 165 // Don't use force compositing mode if gpu access has been blocked or
170 // accelerated compositing is blacklisted. 166 // accelerated compositing is blacklisted.
171 if (!manager->GpuAccessAllowed(NULL) || 167 if (!manager->GpuAccessAllowed(NULL))
172 manager->IsFeatureBlacklisted(
173 gpu::GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING))
174 return false; 168 return false;
175 169
176 // Check for SwiftShader. 170 // Check for SwiftShader.
177 if (manager->ShouldUseSwiftShader()) 171 if (manager->ShouldUseSwiftShader())
178 return false; 172 return false;
179 173
180 return true; 174 return true;
181 } 175 }
182 176
183 } // namespace 177 } // namespace
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 } else if (gpu_feature_info.blocked || 317 } else if (gpu_feature_info.blocked ||
324 gpu_access_blocked) { 318 gpu_access_blocked) {
325 status = "unavailable"; 319 status = "unavailable";
326 if (gpu_feature_info.fallback_to_software) 320 if (gpu_feature_info.fallback_to_software)
327 status += "_software"; 321 status += "_software";
328 else 322 else
329 status += "_off"; 323 status += "_off";
330 } else { 324 } else {
331 status = "enabled"; 325 status = "enabled";
332 if (gpu_feature_info.name == "webgl" && 326 if (gpu_feature_info.name == "webgl" &&
333 (manager->IsFeatureBlacklisted( 327 manager->IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_GPU_COMPOSITING))
334 gpu::GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING)))
335 status += "_readback"; 328 status += "_readback";
336 bool has_thread = IsThreadedCompositingEnabled(); 329 bool has_thread = IsThreadedCompositingEnabled();
337 if (gpu_feature_info.name == "compositing") { 330 if (gpu_feature_info.name == "compositing") {
338 bool force_compositing = IsForceCompositingModeEnabled(); 331 bool force_compositing = IsForceCompositingModeEnabled();
339 if (force_compositing) 332 if (force_compositing)
340 status += "_force"; 333 status += "_force";
341 if (has_thread) 334 if (has_thread)
342 status += "_threaded"; 335 status += "_threaded";
343 } else if (gpu_feature_info.name == "css_animation") { 336 } else if (gpu_feature_info.name == "css_animation") {
344 if (has_thread) 337 if (has_thread)
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 return problem_list; 390 return problem_list;
398 } 391 }
399 392
400 base::Value* GetDriverBugWorkarounds() { 393 base::Value* GetDriverBugWorkarounds() {
401 base::ListValue* workaround_list = new base::ListValue(); 394 base::ListValue* workaround_list = new base::ListValue();
402 GpuDataManagerImpl::GetInstance()->GetDriverBugWorkarounds(workaround_list); 395 GpuDataManagerImpl::GetInstance()->GetDriverBugWorkarounds(workaround_list);
403 return workaround_list; 396 return workaround_list;
404 } 397 }
405 398
406 } // namespace content 399 } // 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