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 |