| OLD | NEW |
| 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 "content/browser/gpu/gpu_data_manager_impl.h" | 7 #include "content/browser/gpu/gpu_data_manager_impl.h" |
| 8 #include "content/public/browser/gpu_data_manager_observer.h" | 8 #include "content/public/browser/gpu_data_manager_observer.h" |
| 9 #include "content/public/common/gpu_info.h" | 9 #include "content/public/common/gpu_info.h" |
| 10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 } | 159 } |
| 160 | 160 |
| 161 TEST_F(GpuDataManagerImplTest, BlacklistCard) { | 161 TEST_F(GpuDataManagerImplTest, BlacklistCard) { |
| 162 GpuDataManagerImpl* manager = new GpuDataManagerImpl(); | 162 GpuDataManagerImpl* manager = new GpuDataManagerImpl(); |
| 163 ASSERT_TRUE(manager); | 163 ASSERT_TRUE(manager); |
| 164 EXPECT_EQ(0, manager->GetBlacklistedFeatures()); | 164 EXPECT_EQ(0, manager->GetBlacklistedFeatures()); |
| 165 EXPECT_TRUE(manager->GpuAccessAllowed()); | 165 EXPECT_TRUE(manager->GpuAccessAllowed()); |
| 166 | 166 |
| 167 manager->BlacklistCard(); | 167 manager->BlacklistCard(); |
| 168 EXPECT_FALSE(manager->GpuAccessAllowed()); | 168 EXPECT_FALSE(manager->GpuAccessAllowed()); |
| 169 EXPECT_EQ(content::GPU_FEATURE_TYPE_ALL, |
| 170 manager->GetBlacklistedFeatures()); |
| 171 |
| 172 delete manager; |
| 173 } |
| 174 |
| 175 TEST_F(GpuDataManagerImplTest, SoftwareRendering) { |
| 176 // Blacklist, then register SwiftShader. |
| 177 GpuDataManagerImpl* manager = new GpuDataManagerImpl(); |
| 178 ASSERT_TRUE(manager); |
| 179 EXPECT_EQ(0, manager->GetBlacklistedFeatures()); |
| 180 EXPECT_TRUE(manager->GpuAccessAllowed()); |
| 181 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); |
| 182 |
| 183 manager->BlacklistCard(); |
| 184 EXPECT_FALSE(manager->GpuAccessAllowed()); |
| 185 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); |
| 169 | 186 |
| 170 // If software rendering is enabled, even if we blacklist GPU, | 187 // If software rendering is enabled, even if we blacklist GPU, |
| 171 // GPU process is still allowed. | 188 // GPU process is still allowed. |
| 172 manager->software_rendering_ = true; | 189 const FilePath test_path(FILE_PATH_LITERAL("AnyPath")); |
| 190 manager->RegisterSwiftShaderPath(test_path); |
| 191 EXPECT_TRUE(manager->ShouldUseSoftwareRendering()); |
| 173 EXPECT_TRUE(manager->GpuAccessAllowed()); | 192 EXPECT_TRUE(manager->GpuAccessAllowed()); |
| 193 EXPECT_EQ(content::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS, |
| 194 manager->GetBlacklistedFeatures()); |
| 195 |
| 196 delete manager; |
| 197 } |
| 198 |
| 199 TEST_F(GpuDataManagerImplTest, SoftwareRendering2) { |
| 200 // Register SwiftShader, then blacklist. |
| 201 GpuDataManagerImpl* manager = new GpuDataManagerImpl(); |
| 202 ASSERT_TRUE(manager); |
| 203 EXPECT_EQ(0, manager->GetBlacklistedFeatures()); |
| 204 EXPECT_TRUE(manager->GpuAccessAllowed()); |
| 205 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); |
| 206 |
| 207 const FilePath test_path(FILE_PATH_LITERAL("AnyPath")); |
| 208 manager->RegisterSwiftShaderPath(test_path); |
| 209 EXPECT_EQ(0, manager->GetBlacklistedFeatures()); |
| 210 EXPECT_TRUE(manager->GpuAccessAllowed()); |
| 211 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); |
| 212 |
| 213 manager->BlacklistCard(); |
| 214 EXPECT_TRUE(manager->GpuAccessAllowed()); |
| 215 EXPECT_TRUE(manager->ShouldUseSoftwareRendering()); |
| 216 EXPECT_EQ(content::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS, |
| 217 manager->GetBlacklistedFeatures()); |
| 174 | 218 |
| 175 delete manager; | 219 delete manager; |
| 176 } | 220 } |
| 177 | 221 |
| 178 TEST_F(GpuDataManagerImplTest, GpuInfoUpdate) { | 222 TEST_F(GpuDataManagerImplTest, GpuInfoUpdate) { |
| 179 GpuDataManagerImpl* manager = new GpuDataManagerImpl(); | 223 GpuDataManagerImpl* manager = new GpuDataManagerImpl(); |
| 180 ASSERT_TRUE(manager); | 224 ASSERT_TRUE(manager); |
| 181 | 225 |
| 182 TestObserver observer; | 226 TestObserver observer; |
| 183 manager->AddObserver(&observer); | 227 manager->AddObserver(&observer); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 206 content::GPUVideoMemoryUsageStats vram_stats; | 250 content::GPUVideoMemoryUsageStats vram_stats; |
| 207 manager->UpdateVideoMemoryUsageStats(vram_stats); | 251 manager->UpdateVideoMemoryUsageStats(vram_stats); |
| 208 | 252 |
| 209 base::RunLoop run_loop; | 253 base::RunLoop run_loop; |
| 210 run_loop.RunUntilIdle(); | 254 run_loop.RunUntilIdle(); |
| 211 EXPECT_TRUE(observer.video_memory_usage_stats_updated()); | 255 EXPECT_TRUE(observer.video_memory_usage_stats_updated()); |
| 212 | 256 |
| 213 delete manager; | 257 delete manager; |
| 214 } | 258 } |
| 215 | 259 |
| OLD | NEW |