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

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

Issue 15745014: Move GPU device/driver info related code from content to gpu. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: rebase Created 7 years, 7 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_blacklist.cc ('k') | content/browser/gpu/gpu_control_list.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "base/memory/scoped_ptr.h"
6 #include "content/browser/gpu/gpu_blacklist.h"
7 #include "content/browser/gpu/gpu_control_list_jsons.h"
8 #include "content/public/common/gpu_feature_type.h"
9 #include "content/public/common/gpu_info.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11
12 const char kOsVersion[] = "10.6.4";
13
14 namespace content {
15
16 class GpuBlacklistTest : public testing::Test {
17 public:
18 GpuBlacklistTest() { }
19
20 virtual ~GpuBlacklistTest() { }
21
22 const GPUInfo& gpu_info() const {
23 return gpu_info_;
24 }
25
26 void RunFeatureTest(
27 const std::string feature_name, GpuFeatureType feature_type) {
28 const std::string json =
29 "{\n"
30 " \"name\": \"gpu blacklist\",\n"
31 " \"version\": \"0.1\",\n"
32 " \"entries\": [\n"
33 " {\n"
34 " \"id\": 1,\n"
35 " \"os\": {\n"
36 " \"type\": \"macosx\"\n"
37 " },\n"
38 " \"vendor_id\": \"0x10de\",\n"
39 " \"device_id\": [\"0x0640\"],\n"
40 " \"features\": [\n"
41 " \"" +
42 feature_name +
43 "\"\n"
44 " ]\n"
45 " }\n"
46 " ]\n"
47 "}";
48
49 scoped_ptr<GpuBlacklist> blacklist(GpuBlacklist::Create());
50 EXPECT_TRUE(blacklist->LoadList(json, GpuBlacklist::kAllOs));
51 std::set<int> type = blacklist->MakeDecision(
52 GpuBlacklist::kOsMacosx, kOsVersion, gpu_info());
53 EXPECT_EQ(1u, type.size());
54 EXPECT_EQ(1u, type.count(feature_type));
55 }
56
57 protected:
58 virtual void SetUp() {
59 gpu_info_.gpu.vendor_id = 0x10de;
60 gpu_info_.gpu.device_id = 0x0640;
61 gpu_info_.driver_vendor = "NVIDIA";
62 gpu_info_.driver_version = "1.6.18";
63 gpu_info_.driver_date = "7-14-2009";
64 gpu_info_.machine_model = "MacBookPro 7.1";
65 gpu_info_.gl_vendor = "NVIDIA Corporation";
66 gpu_info_.gl_renderer = "NVIDIA GeForce GT 120 OpenGL Engine";
67 gpu_info_.performance_stats.graphics = 5.0;
68 gpu_info_.performance_stats.gaming = 5.0;
69 gpu_info_.performance_stats.overall = 5.0;
70 }
71
72 virtual void TearDown() {
73 }
74
75 private:
76 GPUInfo gpu_info_;
77 };
78
79 TEST_F(GpuBlacklistTest, CurrentBlacklistValidation) {
80 scoped_ptr<GpuBlacklist> blacklist(GpuBlacklist::Create());
81 EXPECT_TRUE(blacklist->LoadList(
82 kSoftwareRenderingListJson, GpuBlacklist::kAllOs));
83 EXPECT_FALSE(blacklist->contains_unknown_fields());
84 }
85
86 #define GPU_BLACKLIST_FEATURE_TEST(test_name, feature_name, feature_type) \
87 TEST_F(GpuBlacklistTest, test_name) { \
88 RunFeatureTest(feature_name, feature_type); \
89 }
90
91 GPU_BLACKLIST_FEATURE_TEST(Accelerated2DCanvas,
92 "accelerated_2d_canvas",
93 GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS)
94
95 GPU_BLACKLIST_FEATURE_TEST(AcceleratedCompositing,
96 "accelerated_compositing",
97 GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING)
98
99 GPU_BLACKLIST_FEATURE_TEST(WebGL,
100 "webgl",
101 GPU_FEATURE_TYPE_WEBGL)
102
103 GPU_BLACKLIST_FEATURE_TEST(Multisampling,
104 "multisampling",
105 GPU_FEATURE_TYPE_MULTISAMPLING)
106
107 GPU_BLACKLIST_FEATURE_TEST(Flash3D,
108 "flash_3d",
109 GPU_FEATURE_TYPE_FLASH3D)
110
111 GPU_BLACKLIST_FEATURE_TEST(FlashStage3D,
112 "flash_stage3d",
113 GPU_FEATURE_TYPE_FLASH_STAGE3D)
114
115 GPU_BLACKLIST_FEATURE_TEST(FlashStage3DBaseline,
116 "flash_stage3d_baseline",
117 GPU_FEATURE_TYPE_FLASH_STAGE3D_BASELINE)
118
119 GPU_BLACKLIST_FEATURE_TEST(TextureSharing,
120 "texture_sharing",
121 GPU_FEATURE_TYPE_TEXTURE_SHARING)
122
123 GPU_BLACKLIST_FEATURE_TEST(AcceleratedVideoDecode,
124 "accelerated_video_decode",
125 GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE)
126
127 GPU_BLACKLIST_FEATURE_TEST(Css3D,
128 "3d_css",
129 GPU_FEATURE_TYPE_3D_CSS)
130
131 GPU_BLACKLIST_FEATURE_TEST(AcceleratedVideo,
132 "accelerated_video",
133 GPU_FEATURE_TYPE_ACCELERATED_VIDEO)
134
135 GPU_BLACKLIST_FEATURE_TEST(PanelFitting,
136 "panel_fitting",
137 GPU_FEATURE_TYPE_PANEL_FITTING)
138
139 GPU_BLACKLIST_FEATURE_TEST(ForceCompositingMode,
140 "force_compositing_mode",
141 GPU_FEATURE_TYPE_FORCE_COMPOSITING_MODE)
142
143 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/gpu/gpu_blacklist.cc ('k') | content/browser/gpu/gpu_control_list.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698