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

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

Issue 234443002: Remove enable-software-compositing command-line flag. (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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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_impl_private.h" 5 #include "content/browser/gpu/gpu_data_manager_impl_private.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
(...skipping 627 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 command_line->AppendSwitch(switches::kDisableAcceleratedCompositing); 638 command_line->AppendSwitch(switches::kDisableAcceleratedCompositing);
639 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE) && 639 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE) &&
640 !command_line->HasSwitch(switches::kDisableAcceleratedVideoDecode)) 640 !command_line->HasSwitch(switches::kDisableAcceleratedVideoDecode))
641 command_line->AppendSwitch(switches::kDisableAcceleratedVideoDecode); 641 command_line->AppendSwitch(switches::kDisableAcceleratedVideoDecode);
642 #if defined(ENABLE_WEBRTC) 642 #if defined(ENABLE_WEBRTC)
643 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE) && 643 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE) &&
644 !command_line->HasSwitch(switches::kDisableWebRtcHWEncoding)) 644 !command_line->HasSwitch(switches::kDisableWebRtcHWEncoding))
645 command_line->AppendSwitch(switches::kDisableWebRtcHWEncoding); 645 command_line->AppendSwitch(switches::kDisableWebRtcHWEncoding);
646 #endif 646 #endif
647 647
648 if (use_software_compositor_ &&
649 !command_line->HasSwitch(switches::kEnableSoftwareCompositing))
650 command_line->AppendSwitch(switches::kEnableSoftwareCompositing);
651
652 #if defined(USE_AURA) 648 #if defined(USE_AURA)
653 if (!CanUseGpuBrowserCompositor()) 649 if (!CanUseGpuBrowserCompositor())
654 command_line->AppendSwitch(switches::kDisableGpuCompositing); 650 command_line->AppendSwitch(switches::kDisableGpuCompositing);
655 #endif 651 #endif
656 } 652 }
657 653
658 void GpuDataManagerImplPrivate::AppendGpuCommandLine( 654 void GpuDataManagerImplPrivate::AppendGpuCommandLine(
659 CommandLine* command_line) const { 655 CommandLine* command_line) const {
660 DCHECK(command_line); 656 DCHECK(command_line);
661 657
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
737 command_line->AppendSwitch( 733 command_line->AppendSwitch(
738 switches::kDisableCoreAnimationPlugins); 734 switches::kDisableCoreAnimationPlugins);
739 } 735 }
740 #endif 736 #endif
741 } 737 }
742 738
743 void GpuDataManagerImplPrivate::UpdateRendererWebPrefs( 739 void GpuDataManagerImplPrivate::UpdateRendererWebPrefs(
744 WebPreferences* prefs) const { 740 WebPreferences* prefs) const {
745 DCHECK(prefs); 741 DCHECK(prefs);
746 742
747 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING))
748 prefs->accelerated_compositing_enabled = false;
749 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_WEBGL)) { 743 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_WEBGL)) {
750 prefs->experimental_webgl_enabled = false; 744 prefs->experimental_webgl_enabled = false;
751 prefs->pepper_3d_enabled = false; 745 prefs->pepper_3d_enabled = false;
752 } 746 }
753 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_FLASH3D)) 747 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_FLASH3D))
754 prefs->flash_3d_enabled = false; 748 prefs->flash_3d_enabled = false;
755 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_FLASH_STAGE3D)) { 749 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_FLASH_STAGE3D)) {
756 prefs->flash_stage3d_enabled = false; 750 prefs->flash_stage3d_enabled = false;
757 prefs->flash_stage3d_baseline_enabled = false; 751 prefs->flash_stage3d_baseline_enabled = false;
758 } 752 }
759 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_FLASH_STAGE3D_BASELINE)) 753 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_FLASH_STAGE3D_BASELINE))
760 prefs->flash_stage3d_baseline_enabled = false; 754 prefs->flash_stage3d_baseline_enabled = false;
761 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS)) 755 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS))
762 prefs->accelerated_2d_canvas_enabled = false; 756 prefs->accelerated_2d_canvas_enabled = false;
763 if (IsDriverBugWorkaroundActive(gpu::DISABLE_MULTISAMPLING) || 757 if (IsDriverBugWorkaroundActive(gpu::DISABLE_MULTISAMPLING) ||
764 (IsDriverBugWorkaroundActive(gpu::DISABLE_MULTIMONITOR_MULTISAMPLING) && 758 (IsDriverBugWorkaroundActive(gpu::DISABLE_MULTIMONITOR_MULTISAMPLING) &&
765 display_count_ > 1)) 759 display_count_ > 1))
766 prefs->gl_multisampling_enabled = false; 760 prefs->gl_multisampling_enabled = false;
767 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_3D_CSS)) {
768 prefs->accelerated_compositing_for_3d_transforms_enabled = false;
769 prefs->accelerated_compositing_for_animation_enabled = false;
770 }
771 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO))
772 prefs->accelerated_compositing_for_video_enabled = false;
773 761
774 // Accelerated video and animation are slower than regular when using 762 prefs->force_compositing_mode = true;
775 // SwiftShader. 3D CSS or Pepper 3D may also be too slow to be worthwhile. 763 prefs->accelerated_compositing_enabled = true;
776 if (ShouldUseSwiftShader()) { 764 prefs->accelerated_compositing_for_3d_transforms_enabled = true;
777 prefs->accelerated_compositing_for_video_enabled = false; 765 prefs->accelerated_compositing_for_animation_enabled = true;
778 prefs->accelerated_compositing_for_animation_enabled = false; 766 prefs->accelerated_compositing_for_plugins_enabled = true;
779 prefs->accelerated_compositing_for_3d_transforms_enabled = false; 767 prefs->accelerated_compositing_for_video_enabled = true;
780 prefs->accelerated_compositing_for_plugins_enabled = false;
781 prefs->pepper_3d_enabled = false;
782 }
783
784 if (use_software_compositor_) {
785 prefs->force_compositing_mode = true;
786 prefs->accelerated_compositing_enabled = true;
787 prefs->accelerated_compositing_for_3d_transforms_enabled = true;
788 prefs->accelerated_compositing_for_animation_enabled = true;
789 prefs->accelerated_compositing_for_plugins_enabled = true;
790 prefs->accelerated_compositing_for_video_enabled = true;
791 }
792 768
793 #if defined(USE_AURA) 769 #if defined(USE_AURA)
794 if (!CanUseGpuBrowserCompositor()) { 770 if (!CanUseGpuBrowserCompositor()) {
795 prefs->accelerated_2d_canvas_enabled = false; 771 prefs->accelerated_2d_canvas_enabled = false;
796 prefs->pepper_3d_enabled = false; 772 prefs->pepper_3d_enabled = false;
797 } 773 }
798 #endif 774 #endif
799 775
800 if (!IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE) && 776 if (!IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE) &&
801 !CommandLine::ForCurrentProcess()->HasSwitch( 777 !CommandLine::ForCurrentProcess()->HasSwitch(
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
957 : complete_gpu_info_already_requested_(false), 933 : complete_gpu_info_already_requested_(false),
958 observer_list_(new GpuDataManagerObserverList), 934 observer_list_(new GpuDataManagerObserverList),
959 use_swiftshader_(false), 935 use_swiftshader_(false),
960 card_blacklisted_(false), 936 card_blacklisted_(false),
961 update_histograms_(true), 937 update_histograms_(true),
962 window_count_(0), 938 window_count_(0),
963 domain_blocking_enabled_(true), 939 domain_blocking_enabled_(true),
964 owner_(owner), 940 owner_(owner),
965 display_count_(0), 941 display_count_(0),
966 gpu_process_accessible_(true), 942 gpu_process_accessible_(true),
967 use_software_compositor_(false),
968 finalized_(false) { 943 finalized_(false) {
969 DCHECK(owner_); 944 DCHECK(owner_);
970 CommandLine* command_line = CommandLine::ForCurrentProcess(); 945 CommandLine* command_line = CommandLine::ForCurrentProcess();
971 if (command_line->HasSwitch(switches::kDisableAcceleratedCompositing)) { 946 if (command_line->HasSwitch(switches::kDisableAcceleratedCompositing)) {
972 command_line->AppendSwitch(switches::kDisableAccelerated2dCanvas); 947 command_line->AppendSwitch(switches::kDisableAccelerated2dCanvas);
973 command_line->AppendSwitch(switches::kDisableAcceleratedLayers); 948 command_line->AppendSwitch(switches::kDisableAcceleratedLayers);
974 } 949 }
975 if (command_line->HasSwitch(switches::kDisableGpu)) 950 if (command_line->HasSwitch(switches::kDisableGpu))
976 DisableHardwareAcceleration(); 951 DisableHardwareAcceleration();
977 if (command_line->HasSwitch(switches::kEnableSoftwareCompositing))
978 use_software_compositor_ = true;
979 #if defined(USE_AURA) || defined(OS_MACOSX)
980 use_software_compositor_ = true;
981 #endif
982 952
983 #if defined(OS_MACOSX) 953 #if defined(OS_MACOSX)
984 CGGetActiveDisplayList (0, NULL, &display_count_); 954 CGGetActiveDisplayList (0, NULL, &display_count_);
985 CGDisplayRegisterReconfigurationCallback(DisplayReconfigCallback, owner_); 955 CGDisplayRegisterReconfigurationCallback(DisplayReconfigCallback, owner_);
986 #endif // OS_MACOSX 956 #endif // OS_MACOSX
987 957
988 // For testing only. 958 // For testing only.
989 if (command_line->HasSwitch(switches::kDisableDomainBlockingFor3DAPIs)) { 959 if (command_line->HasSwitch(switches::kDisableDomainBlockingFor3DAPIs)) {
990 domain_blocking_enabled_ = false; 960 domain_blocking_enabled_ = false;
991 } 961 }
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
1190 1160
1191 void GpuDataManagerImplPrivate::OnGpuProcessInitFailure() { 1161 void GpuDataManagerImplPrivate::OnGpuProcessInitFailure() {
1192 gpu_process_accessible_ = false; 1162 gpu_process_accessible_ = false;
1193 gpu_info_.finalized = true; 1163 gpu_info_.finalized = true;
1194 complete_gpu_info_already_requested_ = true; 1164 complete_gpu_info_already_requested_ = true;
1195 // Some observers might be waiting. 1165 // Some observers might be waiting.
1196 NotifyGpuInfoUpdate(); 1166 NotifyGpuInfoUpdate();
1197 } 1167 }
1198 1168
1199 } // namespace content 1169 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/gpu/gpu_data_manager_impl_private.h ('k') | content/browser/renderer_host/render_process_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698