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

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

Issue 12593005: Add a user pref in Settings to disable all GPU features. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 9 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
« no previous file with comments | « content/browser/gpu/gpu_data_manager_impl.cc ('k') | content/browser/gpu/gpu_process_host.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "base/message_loop.h" 5 #include "base/message_loop.h"
6 #include "base/run_loop.h" 6 #include "base/run_loop.h"
7 #include "base/time.h" 7 #include "base/time.h"
8 #include "content/browser/gpu/gpu_data_manager_impl.h" 8 #include "content/browser/gpu/gpu_data_manager_impl.h"
9 #include "content/public/browser/gpu_data_manager_observer.h" 9 #include "content/public/browser/gpu_data_manager_observer.h"
10 #include "content/public/common/gpu_info.h" 10 #include "content/public/common/gpu_info.h"
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 EXPECT_TRUE(manager->GpuAccessAllowed()); 187 EXPECT_TRUE(manager->GpuAccessAllowed());
188 EXPECT_EQ(0, manager->GetBlacklistedFeatures()); 188 EXPECT_EQ(0, manager->GetBlacklistedFeatures());
189 189
190 // Now assume gpu process launches and full GPU info is collected. 190 // Now assume gpu process launches and full GPU info is collected.
191 gpu_info.gl_renderer = "NVIDIA GeForce GT 120"; 191 gpu_info.gl_renderer = "NVIDIA GeForce GT 120";
192 manager->UpdateGpuInfo(gpu_info); 192 manager->UpdateGpuInfo(gpu_info);
193 EXPECT_TRUE(manager->GpuAccessAllowed()); 193 EXPECT_TRUE(manager->GpuAccessAllowed());
194 EXPECT_EQ(0, manager->GetBlacklistedFeatures()); 194 EXPECT_EQ(0, manager->GetBlacklistedFeatures());
195 } 195 }
196 196
197 TEST_F(GpuDataManagerImplTest, BlacklistCard) { 197 TEST_F(GpuDataManagerImplTest, DisableHardwareAcceleration) {
198 ScopedGpuDataManagerImpl manager; 198 ScopedGpuDataManagerImpl manager;
199 ASSERT_TRUE(manager.get()); 199 ASSERT_TRUE(manager.get());
200 EXPECT_EQ(0, manager->GetBlacklistedFeatures()); 200 EXPECT_EQ(0, manager->GetBlacklistedFeatures());
201 EXPECT_TRUE(manager->GpuAccessAllowed()); 201 EXPECT_TRUE(manager->GpuAccessAllowed());
202 202
203 manager->BlacklistCard(); 203 manager->DisableHardwareAcceleration();
204 EXPECT_FALSE(manager->GpuAccessAllowed()); 204 EXPECT_FALSE(manager->GpuAccessAllowed());
205 EXPECT_EQ(GPU_FEATURE_TYPE_ALL, manager->GetBlacklistedFeatures()); 205 EXPECT_EQ(GPU_FEATURE_TYPE_ALL, manager->GetBlacklistedFeatures());
206 } 206 }
207 207
208 TEST_F(GpuDataManagerImplTest, SoftwareRendering) { 208 TEST_F(GpuDataManagerImplTest, SoftwareRendering) {
209 // Blacklist, then register SwiftShader. 209 // Blacklist, then register SwiftShader.
210 ScopedGpuDataManagerImpl manager; 210 ScopedGpuDataManagerImpl manager;
211 ASSERT_TRUE(manager.get()); 211 ASSERT_TRUE(manager.get());
212 EXPECT_EQ(0, manager->GetBlacklistedFeatures()); 212 EXPECT_EQ(0, manager->GetBlacklistedFeatures());
213 EXPECT_TRUE(manager->GpuAccessAllowed()); 213 EXPECT_TRUE(manager->GpuAccessAllowed());
214 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); 214 EXPECT_FALSE(manager->ShouldUseSoftwareRendering());
215 215
216 manager->BlacklistCard(); 216 manager->DisableHardwareAcceleration();
217 EXPECT_FALSE(manager->GpuAccessAllowed()); 217 EXPECT_FALSE(manager->GpuAccessAllowed());
218 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); 218 EXPECT_FALSE(manager->ShouldUseSoftwareRendering());
219 219
220 // If software rendering is enabled, even if we blacklist GPU, 220 // If software rendering is enabled, even if we blacklist GPU,
221 // GPU process is still allowed. 221 // GPU process is still allowed.
222 const base::FilePath test_path(FILE_PATH_LITERAL("AnyPath")); 222 const base::FilePath test_path(FILE_PATH_LITERAL("AnyPath"));
223 manager->RegisterSwiftShaderPath(test_path); 223 manager->RegisterSwiftShaderPath(test_path);
224 EXPECT_TRUE(manager->ShouldUseSoftwareRendering()); 224 EXPECT_TRUE(manager->ShouldUseSoftwareRendering());
225 EXPECT_TRUE(manager->GpuAccessAllowed()); 225 EXPECT_TRUE(manager->GpuAccessAllowed());
226 EXPECT_EQ(GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS, 226 EXPECT_EQ(GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS,
227 manager->GetBlacklistedFeatures()); 227 manager->GetBlacklistedFeatures());
228 } 228 }
229 229
230 TEST_F(GpuDataManagerImplTest, SoftwareRendering2) { 230 TEST_F(GpuDataManagerImplTest, SoftwareRendering2) {
231 // Register SwiftShader, then blacklist. 231 // Register SwiftShader, then blacklist.
232 ScopedGpuDataManagerImpl manager; 232 ScopedGpuDataManagerImpl manager;
233 ASSERT_TRUE(manager.get()); 233 ASSERT_TRUE(manager.get());
234 EXPECT_EQ(0, manager->GetBlacklistedFeatures()); 234 EXPECT_EQ(0, manager->GetBlacklistedFeatures());
235 EXPECT_TRUE(manager->GpuAccessAllowed()); 235 EXPECT_TRUE(manager->GpuAccessAllowed());
236 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); 236 EXPECT_FALSE(manager->ShouldUseSoftwareRendering());
237 237
238 const base::FilePath test_path(FILE_PATH_LITERAL("AnyPath")); 238 const base::FilePath test_path(FILE_PATH_LITERAL("AnyPath"));
239 manager->RegisterSwiftShaderPath(test_path); 239 manager->RegisterSwiftShaderPath(test_path);
240 EXPECT_EQ(0, manager->GetBlacklistedFeatures()); 240 EXPECT_EQ(0, manager->GetBlacklistedFeatures());
241 EXPECT_TRUE(manager->GpuAccessAllowed()); 241 EXPECT_TRUE(manager->GpuAccessAllowed());
242 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); 242 EXPECT_FALSE(manager->ShouldUseSoftwareRendering());
243 243
244 manager->BlacklistCard(); 244 manager->DisableHardwareAcceleration();
245 EXPECT_TRUE(manager->GpuAccessAllowed()); 245 EXPECT_TRUE(manager->GpuAccessAllowed());
246 EXPECT_TRUE(manager->ShouldUseSoftwareRendering()); 246 EXPECT_TRUE(manager->ShouldUseSoftwareRendering());
247 EXPECT_EQ(GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS, 247 EXPECT_EQ(GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS,
248 manager->GetBlacklistedFeatures()); 248 manager->GetBlacklistedFeatures());
249 } 249 }
250 250
251 TEST_F(GpuDataManagerImplTest, GpuInfoUpdate) { 251 TEST_F(GpuDataManagerImplTest, GpuInfoUpdate) {
252 ScopedGpuDataManagerImpl manager; 252 ScopedGpuDataManagerImpl manager;
253 ASSERT_TRUE(manager.get()); 253 ASSERT_TRUE(manager.get());
254 254
(...skipping 12 matching lines...) Expand all
267 base::RunLoop run_loop; 267 base::RunLoop run_loop;
268 run_loop.RunUntilIdle(); 268 run_loop.RunUntilIdle();
269 } 269 }
270 EXPECT_TRUE(observer.gpu_info_updated()); 270 EXPECT_TRUE(observer.gpu_info_updated());
271 } 271 }
272 272
273 TEST_F(GpuDataManagerImplTest, NoGpuInfoUpdateWithSoftwareRendering) { 273 TEST_F(GpuDataManagerImplTest, NoGpuInfoUpdateWithSoftwareRendering) {
274 ScopedGpuDataManagerImpl manager; 274 ScopedGpuDataManagerImpl manager;
275 ASSERT_TRUE(manager.get()); 275 ASSERT_TRUE(manager.get());
276 276
277 manager->BlacklistCard(); 277 manager->DisableHardwareAcceleration();
278 const base::FilePath test_path(FILE_PATH_LITERAL("AnyPath")); 278 const base::FilePath test_path(FILE_PATH_LITERAL("AnyPath"));
279 manager->RegisterSwiftShaderPath(test_path); 279 manager->RegisterSwiftShaderPath(test_path);
280 EXPECT_TRUE(manager->ShouldUseSoftwareRendering()); 280 EXPECT_TRUE(manager->ShouldUseSoftwareRendering());
281 EXPECT_TRUE(manager->GpuAccessAllowed()); 281 EXPECT_TRUE(manager->GpuAccessAllowed());
282 282
283 { 283 {
284 base::RunLoop run_loop; 284 base::RunLoop run_loop;
285 run_loop.RunUntilIdle(); 285 run_loop.RunUntilIdle();
286 } 286 }
287 287
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 // Now assume browser gets GL strings from local state. 556 // Now assume browser gets GL strings from local state.
557 // SetGLStrings() has no effects because GPUInfo already got these strings. 557 // SetGLStrings() has no effects because GPUInfo already got these strings.
558 // (Otherwise the entry should not apply.) 558 // (Otherwise the entry should not apply.)
559 manager->SetGLStrings(kGLVendorMesa, kGLRendererMesa, kGLVersionMesa802); 559 manager->SetGLStrings(kGLVendorMesa, kGLRendererMesa, kGLVersionMesa802);
560 EXPECT_TRUE(manager->GpuAccessAllowed()); 560 EXPECT_TRUE(manager->GpuAccessAllowed());
561 EXPECT_EQ(GPU_FEATURE_TYPE_WEBGL, manager->GetBlacklistedFeatures()); 561 EXPECT_EQ(GPU_FEATURE_TYPE_WEBGL, manager->GetBlacklistedFeatures());
562 } 562 }
563 #endif // OS_LINUX 563 #endif // OS_LINUX
564 564
565 } // namespace content 565 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/gpu/gpu_data_manager_impl.cc ('k') | content/browser/gpu/gpu_process_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698