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

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

Issue 13983014: [CLOSED] Cleaning up the plethora of switches for GPU vs software vs SwiftShader. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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
« no previous file with comments | « content/browser/gpu/gpu_data_manager_impl.cc ('k') | content/browser/gpu/gpu_internals_ui.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/command_line.h" 5 #include "base/command_line.h"
6 #include "base/message_loop.h" 6 #include "base/message_loop.h"
7 #include "base/run_loop.h" 7 #include "base/run_loop.h"
8 #include "base/time.h" 8 #include "base/time.h"
9 #include "content/browser/gpu/gpu_data_manager_impl.h" 9 #include "content/browser/gpu/gpu_data_manager_impl.h"
10 #include "content/public/browser/gpu_data_manager_observer.h" 10 #include "content/public/browser/gpu_data_manager_observer.h"
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 ASSERT_TRUE(manager.get()); 207 ASSERT_TRUE(manager.get());
208 EXPECT_EQ(0u, manager->GetBlacklistedFeatureCount()); 208 EXPECT_EQ(0u, manager->GetBlacklistedFeatureCount());
209 EXPECT_TRUE(manager->GpuAccessAllowed()); 209 EXPECT_TRUE(manager->GpuAccessAllowed());
210 210
211 manager->DisableHardwareAcceleration(); 211 manager->DisableHardwareAcceleration();
212 EXPECT_FALSE(manager->GpuAccessAllowed()); 212 EXPECT_FALSE(manager->GpuAccessAllowed());
213 EXPECT_EQ(static_cast<size_t>(NUMBER_OF_GPU_FEATURE_TYPES), 213 EXPECT_EQ(static_cast<size_t>(NUMBER_OF_GPU_FEATURE_TYPES),
214 manager->GetBlacklistedFeatureCount()); 214 manager->GetBlacklistedFeatureCount());
215 } 215 }
216 216
217 TEST_F(GpuDataManagerImplTest, SoftwareRendering) { 217 TEST_F(GpuDataManagerImplTest, SwiftShaderRendering) {
218 // Blacklist, then register SwiftShader. 218 // Blacklist, then register SwiftShader.
219 ScopedGpuDataManagerImpl manager; 219 ScopedGpuDataManagerImpl manager;
220 ASSERT_TRUE(manager.get()); 220 ASSERT_TRUE(manager.get());
221 EXPECT_EQ(0u, manager->GetBlacklistedFeatureCount()); 221 EXPECT_EQ(0u, manager->GetBlacklistedFeatureCount());
222 EXPECT_TRUE(manager->GpuAccessAllowed()); 222 EXPECT_TRUE(manager->GpuAccessAllowed());
223 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); 223 EXPECT_FALSE(manager->ShouldUseSwiftShader());
224 224
225 manager->DisableHardwareAcceleration(); 225 manager->DisableHardwareAcceleration();
226 EXPECT_FALSE(manager->GpuAccessAllowed()); 226 EXPECT_FALSE(manager->GpuAccessAllowed());
227 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); 227 EXPECT_FALSE(manager->ShouldUseSwiftShader());
228 228
229 // If software rendering is enabled, even if we blacklist GPU, 229 // If SwiftShader is enabled, even if we blacklist GPU,
230 // GPU process is still allowed. 230 // GPU process is still allowed.
231 const base::FilePath test_path(FILE_PATH_LITERAL("AnyPath")); 231 const base::FilePath test_path(FILE_PATH_LITERAL("AnyPath"));
232 manager->RegisterSwiftShaderPath(test_path); 232 manager->RegisterSwiftShaderPath(test_path);
233 EXPECT_TRUE(manager->ShouldUseSoftwareRendering()); 233 EXPECT_TRUE(manager->ShouldUseSwiftShader());
234 EXPECT_TRUE(manager->GpuAccessAllowed()); 234 EXPECT_TRUE(manager->GpuAccessAllowed());
235 EXPECT_EQ(1u, manager->GetBlacklistedFeatureCount()); 235 EXPECT_EQ(1u, manager->GetBlacklistedFeatureCount());
236 EXPECT_TRUE( 236 EXPECT_TRUE(
237 manager->IsFeatureBlacklisted(GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS)); 237 manager->IsFeatureBlacklisted(GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS));
238 } 238 }
239 239
240 TEST_F(GpuDataManagerImplTest, SoftwareRendering2) { 240 TEST_F(GpuDataManagerImplTest, SwiftShaderRendering2) {
241 // Register SwiftShader, then blacklist. 241 // Register SwiftShader, then blacklist.
242 ScopedGpuDataManagerImpl manager; 242 ScopedGpuDataManagerImpl manager;
243 ASSERT_TRUE(manager.get()); 243 ASSERT_TRUE(manager.get());
244 EXPECT_EQ(0u, manager->GetBlacklistedFeatureCount()); 244 EXPECT_EQ(0u, manager->GetBlacklistedFeatureCount());
245 EXPECT_TRUE(manager->GpuAccessAllowed()); 245 EXPECT_TRUE(manager->GpuAccessAllowed());
246 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); 246 EXPECT_FALSE(manager->ShouldUseSwiftShader());
247 247
248 const base::FilePath test_path(FILE_PATH_LITERAL("AnyPath")); 248 const base::FilePath test_path(FILE_PATH_LITERAL("AnyPath"));
249 manager->RegisterSwiftShaderPath(test_path); 249 manager->RegisterSwiftShaderPath(test_path);
250 EXPECT_EQ(0u, manager->GetBlacklistedFeatureCount()); 250 EXPECT_EQ(0u, manager->GetBlacklistedFeatureCount());
251 EXPECT_TRUE(manager->GpuAccessAllowed()); 251 EXPECT_TRUE(manager->GpuAccessAllowed());
252 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); 252 EXPECT_FALSE(manager->ShouldUseSwiftShader());
253 253
254 manager->DisableHardwareAcceleration(); 254 manager->DisableHardwareAcceleration();
255 EXPECT_TRUE(manager->GpuAccessAllowed()); 255 EXPECT_TRUE(manager->GpuAccessAllowed());
256 EXPECT_TRUE(manager->ShouldUseSoftwareRendering()); 256 EXPECT_TRUE(manager->ShouldUseSwiftShader());
257 EXPECT_EQ(1u, manager->GetBlacklistedFeatureCount()); 257 EXPECT_EQ(1u, manager->GetBlacklistedFeatureCount());
258 EXPECT_TRUE( 258 EXPECT_TRUE(
259 manager->IsFeatureBlacklisted(GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS)); 259 manager->IsFeatureBlacklisted(GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS));
260 } 260 }
261 261
262 TEST_F(GpuDataManagerImplTest, GpuInfoUpdate) { 262 TEST_F(GpuDataManagerImplTest, GpuInfoUpdate) {
263 ScopedGpuDataManagerImpl manager; 263 ScopedGpuDataManagerImpl manager;
264 ASSERT_TRUE(manager.get()); 264 ASSERT_TRUE(manager.get());
265 265
266 TestObserver observer; 266 TestObserver observer;
267 manager->AddObserver(&observer); 267 manager->AddObserver(&observer);
268 268
269 { 269 {
270 base::RunLoop run_loop; 270 base::RunLoop run_loop;
271 run_loop.RunUntilIdle(); 271 run_loop.RunUntilIdle();
272 } 272 }
273 EXPECT_FALSE(observer.gpu_info_updated()); 273 EXPECT_FALSE(observer.gpu_info_updated());
274 274
275 GPUInfo gpu_info; 275 GPUInfo gpu_info;
276 manager->UpdateGpuInfo(gpu_info); 276 manager->UpdateGpuInfo(gpu_info);
277 { 277 {
278 base::RunLoop run_loop; 278 base::RunLoop run_loop;
279 run_loop.RunUntilIdle(); 279 run_loop.RunUntilIdle();
280 } 280 }
281 EXPECT_TRUE(observer.gpu_info_updated()); 281 EXPECT_TRUE(observer.gpu_info_updated());
282 } 282 }
283 283
284 TEST_F(GpuDataManagerImplTest, NoGpuInfoUpdateWithSoftwareRendering) { 284 TEST_F(GpuDataManagerImplTest, NoGpuInfoUpdateWithSwiftShader) {
285 ScopedGpuDataManagerImpl manager; 285 ScopedGpuDataManagerImpl manager;
286 ASSERT_TRUE(manager.get()); 286 ASSERT_TRUE(manager.get());
287 287
288 manager->DisableHardwareAcceleration(); 288 manager->DisableHardwareAcceleration();
289 const base::FilePath test_path(FILE_PATH_LITERAL("AnyPath")); 289 const base::FilePath test_path(FILE_PATH_LITERAL("AnyPath"));
290 manager->RegisterSwiftShaderPath(test_path); 290 manager->RegisterSwiftShaderPath(test_path);
291 EXPECT_TRUE(manager->ShouldUseSoftwareRendering()); 291 EXPECT_TRUE(manager->ShouldUseSwiftShader());
292 EXPECT_TRUE(manager->GpuAccessAllowed()); 292 EXPECT_TRUE(manager->GpuAccessAllowed());
293 293
294 { 294 {
295 base::RunLoop run_loop; 295 base::RunLoop run_loop;
296 run_loop.RunUntilIdle(); 296 run_loop.RunUntilIdle();
297 } 297 }
298 298
299 TestObserver observer; 299 TestObserver observer;
300 manager->AddObserver(&observer); 300 manager->AddObserver(&observer);
301 { 301 {
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
599 CommandLine command_line(0, NULL); 599 CommandLine command_line(0, NULL);
600 manager->AppendGpuCommandLine(&command_line); 600 manager->AppendGpuCommandLine(&command_line);
601 601
602 EXPECT_TRUE(command_line.HasSwitch(switches::kGpuDriverBugWorkarounds)); 602 EXPECT_TRUE(command_line.HasSwitch(switches::kGpuDriverBugWorkarounds));
603 std::string args = command_line.GetSwitchValueASCII( 603 std::string args = command_line.GetSwitchValueASCII(
604 switches::kGpuDriverBugWorkarounds); 604 switches::kGpuDriverBugWorkarounds);
605 EXPECT_STREQ("5,7", args.c_str()); 605 EXPECT_STREQ("5,7", args.c_str());
606 } 606 }
607 607
608 } // namespace content 608 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/gpu/gpu_data_manager_impl.cc ('k') | content/browser/gpu/gpu_internals_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698