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

Side by Side Diff: cc/trees/layer_tree_host_pixeltest_readback.cc

Issue 17449014: cc: Test cleanup for layer tree pixel tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: copy-test-enum: remove NONE Created 7 years, 6 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 | « cc/trees/layer_tree_host_pixeltest_on_demand_raster.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "build/build_config.h" 5 #include "build/build_config.h"
6 #include "cc/output/copy_output_request.h" 6 #include "cc/output/copy_output_request.h"
7 #include "cc/output/copy_output_result.h" 7 #include "cc/output/copy_output_result.h"
8 #include "cc/test/layer_tree_pixel_test.h" 8 #include "cc/test/layer_tree_pixel_test.h"
9 #include "cc/test/paths.h" 9 #include "cc/test/paths.h"
10 10
11 #if !defined(OS_ANDROID) 11 #if !defined(OS_ANDROID)
12 12
13 namespace cc { 13 namespace cc {
14 namespace { 14 namespace {
15 15
16 class LayerTreeHostReadbackPixelTest : public LayerTreePixelTest { 16 class LayerTreeHostReadbackPixelTest : public LayerTreePixelTest {
17 protected: 17 protected:
18 LayerTreeHostReadbackPixelTest() : force_readback_as_bitmap_(false) {}
19
20 virtual scoped_ptr<CopyOutputRequest> CreateCopyOutputRequest() OVERRIDE { 18 virtual scoped_ptr<CopyOutputRequest> CreateCopyOutputRequest() OVERRIDE {
21 scoped_ptr<CopyOutputRequest> request; 19 scoped_ptr<CopyOutputRequest> request;
22 if (force_readback_as_bitmap_) { 20
23 request = CopyOutputRequest::CreateBitmapRequest( 21 switch (test_type_) {
24 base::Bind(&LayerTreeHostReadbackPixelTest::ReadbackResultAsBitmap, 22 case GL_WITH_BITMAP:
25 base::Unretained(this))); 23 case SOFTWARE_WITH_BITMAP:
26 } else if (!use_gl_) { 24 request = CopyOutputRequest::CreateBitmapRequest(
27 request = CopyOutputRequest::CreateRequest( 25 base::Bind(&LayerTreeHostReadbackPixelTest::ReadbackResultAsBitmap,
28 base::Bind(&LayerTreeHostReadbackPixelTest::ReadbackResultAsBitmap, 26 base::Unretained(this)));
29 base::Unretained(this))); 27 break;
30 } else { 28 case SOFTWARE_WITH_DEFAULT:
31 request = CopyOutputRequest::CreateRequest( 29 request = CopyOutputRequest::CreateRequest(
32 base::Bind(&LayerTreeHostReadbackPixelTest::ReadbackResultAsTexture, 30 base::Bind(&LayerTreeHostReadbackPixelTest::ReadbackResultAsBitmap,
33 base::Unretained(this))); 31 base::Unretained(this)));
32 break;
33 case GL_WITH_DEFAULT:
34 request = CopyOutputRequest::CreateRequest(
35 base::Bind(&LayerTreeHostReadbackPixelTest::ReadbackResultAsTexture,
36 base::Unretained(this)));
37 break;
34 } 38 }
35 39
36 if (!copy_subrect_.IsEmpty()) 40 if (!copy_subrect_.IsEmpty())
37 request->set_area(copy_subrect_); 41 request->set_area(copy_subrect_);
38 return request.Pass(); 42 return request.Pass();
39 } 43 }
40 44
41 void ReadbackResultAsBitmap(scoped_ptr<CopyOutputResult> result) { 45 void ReadbackResultAsBitmap(scoped_ptr<CopyOutputResult> result) {
42 EXPECT_TRUE(result->HasBitmap()); 46 EXPECT_TRUE(result->HasBitmap());
43 result_bitmap_ = result->TakeBitmap().Pass(); 47 result_bitmap_ = result->TakeBitmap().Pass();
44 EndTest(); 48 EndTest();
45 } 49 }
46 50
47 void ReadbackResultAsTexture(scoped_ptr<CopyOutputResult> result) { 51 void ReadbackResultAsTexture(scoped_ptr<CopyOutputResult> result) {
48 EXPECT_TRUE(result->HasTexture()); 52 EXPECT_TRUE(result->HasTexture());
49 53
50 scoped_ptr<TextureMailbox> texture_mailbox = result->TakeTexture().Pass(); 54 scoped_ptr<TextureMailbox> texture_mailbox = result->TakeTexture().Pass();
51 EXPECT_TRUE(texture_mailbox->IsValid()); 55 EXPECT_TRUE(texture_mailbox->IsValid());
52 EXPECT_TRUE(texture_mailbox->IsTexture()); 56 EXPECT_TRUE(texture_mailbox->IsTexture());
53 57
54 scoped_ptr<SkBitmap> bitmap = 58 scoped_ptr<SkBitmap> bitmap =
55 CopyTextureMailboxToBitmap(result->size(), *texture_mailbox); 59 CopyTextureMailboxToBitmap(result->size(), *texture_mailbox);
56 ReadbackResultAsBitmap(CopyOutputResult::CreateBitmapResult(bitmap.Pass())); 60 ReadbackResultAsBitmap(CopyOutputResult::CreateBitmapResult(bitmap.Pass()));
57 61
58 texture_mailbox->RunReleaseCallback(0, false); 62 texture_mailbox->RunReleaseCallback(0, false);
59 } 63 }
60 64
61 bool force_readback_as_bitmap_;
62 gfx::Rect copy_subrect_; 65 gfx::Rect copy_subrect_;
63 }; 66 };
64 67
65 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackRootLayer_Software) { 68 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackRootLayer_Software) {
66 use_gl_ = false;
67 force_readback_as_bitmap_ = false;
68
69 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 69 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
70 gfx::Rect(200, 200), SK_ColorWHITE); 70 gfx::Rect(200, 200), SK_ColorWHITE);
71 71
72 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 72 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
73 gfx::Rect(200, 200), SK_ColorGREEN); 73 gfx::Rect(200, 200), SK_ColorGREEN);
74 background->AddChild(green); 74 background->AddChild(green);
75 75
76 RunPixelTest(background, 76 RunPixelTest(SOFTWARE_WITH_DEFAULT,
77 background,
77 base::FilePath(FILE_PATH_LITERAL( 78 base::FilePath(FILE_PATH_LITERAL(
78 "green.png"))); 79 "green.png")));
79 } 80 }
80 81
81 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackRootLayer_Software_Bitmap) { 82 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackRootLayer_Software_Bitmap) {
82 use_gl_ = false;
83 force_readback_as_bitmap_ = true;
84
85 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 83 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
86 gfx::Rect(200, 200), SK_ColorWHITE); 84 gfx::Rect(200, 200), SK_ColorWHITE);
87 85
88 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 86 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
89 gfx::Rect(200, 200), SK_ColorGREEN); 87 gfx::Rect(200, 200), SK_ColorGREEN);
90 background->AddChild(green); 88 background->AddChild(green);
91 89
92 RunPixelTest(background, 90 RunPixelTest(SOFTWARE_WITH_BITMAP,
91 background,
93 base::FilePath(FILE_PATH_LITERAL( 92 base::FilePath(FILE_PATH_LITERAL(
94 "green.png"))); 93 "green.png")));
95 } 94 }
96 95
97 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackRootLayer_GL_Bitmap) { 96 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackRootLayer_GL_Bitmap) {
98 use_gl_ = true;
99 force_readback_as_bitmap_ = true;
100
101 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 97 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
102 gfx::Rect(200, 200), SK_ColorWHITE); 98 gfx::Rect(200, 200), SK_ColorWHITE);
103 99
104 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 100 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
105 gfx::Rect(200, 200), SK_ColorGREEN); 101 gfx::Rect(200, 200), SK_ColorGREEN);
106 background->AddChild(green); 102 background->AddChild(green);
107 103
108 RunPixelTest(background, 104 RunPixelTest(GL_WITH_BITMAP,
105 background,
109 base::FilePath(FILE_PATH_LITERAL( 106 base::FilePath(FILE_PATH_LITERAL(
110 "green.png"))); 107 "green.png")));
111 } 108 }
112 109
113 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackRootLayer_GL) { 110 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackRootLayer_GL) {
114 use_gl_ = true;
115 force_readback_as_bitmap_ = false;
116
117 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 111 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
118 gfx::Rect(200, 200), SK_ColorWHITE); 112 gfx::Rect(200, 200), SK_ColorWHITE);
119 113
120 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 114 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
121 gfx::Rect(200, 200), SK_ColorGREEN); 115 gfx::Rect(200, 200), SK_ColorGREEN);
122 background->AddChild(green); 116 background->AddChild(green);
123 117
124 RunPixelTest(background, 118 RunPixelTest(GL_WITH_DEFAULT,
119 background,
125 base::FilePath(FILE_PATH_LITERAL( 120 base::FilePath(FILE_PATH_LITERAL(
126 "green.png"))); 121 "green.png")));
127 } 122 }
128 123
129 TEST_F(LayerTreeHostReadbackPixelTest, 124 TEST_F(LayerTreeHostReadbackPixelTest,
130 ReadbackRootLayerWithChild_Software) { 125 ReadbackRootLayerWithChild_Software) {
131 use_gl_ = false;
132 force_readback_as_bitmap_ = false;
133
134 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 126 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
135 gfx::Rect(200, 200), SK_ColorWHITE); 127 gfx::Rect(200, 200), SK_ColorWHITE);
136 128
137 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 129 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
138 gfx::Rect(200, 200), SK_ColorGREEN); 130 gfx::Rect(200, 200), SK_ColorGREEN);
139 background->AddChild(green); 131 background->AddChild(green);
140 132
141 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer( 133 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer(
142 gfx::Rect(150, 150, 50, 50), SK_ColorBLUE); 134 gfx::Rect(150, 150, 50, 50), SK_ColorBLUE);
143 green->AddChild(blue); 135 green->AddChild(blue);
144 136
145 RunPixelTest(background, 137 RunPixelTest(SOFTWARE_WITH_DEFAULT,
138 background,
146 base::FilePath(FILE_PATH_LITERAL( 139 base::FilePath(FILE_PATH_LITERAL(
147 "green_with_blue_corner.png"))); 140 "green_with_blue_corner.png")));
148 } 141 }
149 142
150 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackRootLayerWithChild_GL_Bitmap) { 143 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackRootLayerWithChild_GL_Bitmap) {
151 use_gl_ = true;
152 force_readback_as_bitmap_ = true;
153
154 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 144 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
155 gfx::Rect(200, 200), SK_ColorWHITE); 145 gfx::Rect(200, 200), SK_ColorWHITE);
156 146
157 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 147 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
158 gfx::Rect(200, 200), SK_ColorGREEN); 148 gfx::Rect(200, 200), SK_ColorGREEN);
159 background->AddChild(green); 149 background->AddChild(green);
160 150
161 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer( 151 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer(
162 gfx::Rect(150, 150, 50, 50), SK_ColorBLUE); 152 gfx::Rect(150, 150, 50, 50), SK_ColorBLUE);
163 green->AddChild(blue); 153 green->AddChild(blue);
164 154
165 RunPixelTest(background, 155 RunPixelTest(GL_WITH_BITMAP,
156 background,
166 base::FilePath(FILE_PATH_LITERAL( 157 base::FilePath(FILE_PATH_LITERAL(
167 "green_with_blue_corner.png"))); 158 "green_with_blue_corner.png")));
168 } 159 }
169 160
170 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackRootLayerWithChild_GL) { 161 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackRootLayerWithChild_GL) {
171 use_gl_ = true;
172 force_readback_as_bitmap_ = false;
173
174 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 162 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
175 gfx::Rect(200, 200), SK_ColorWHITE); 163 gfx::Rect(200, 200), SK_ColorWHITE);
176 164
177 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 165 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
178 gfx::Rect(200, 200), SK_ColorGREEN); 166 gfx::Rect(200, 200), SK_ColorGREEN);
179 background->AddChild(green); 167 background->AddChild(green);
180 168
181 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer( 169 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer(
182 gfx::Rect(150, 150, 50, 50), SK_ColorBLUE); 170 gfx::Rect(150, 150, 50, 50), SK_ColorBLUE);
183 green->AddChild(blue); 171 green->AddChild(blue);
184 172
185 RunPixelTest(background, 173 RunPixelTest(GL_WITH_DEFAULT,
174 background,
186 base::FilePath(FILE_PATH_LITERAL( 175 base::FilePath(FILE_PATH_LITERAL(
187 "green_with_blue_corner.png"))); 176 "green_with_blue_corner.png")));
188 } 177 }
189 178
190 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackNonRootLayer_Software) { 179 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackNonRootLayer_Software) {
191 use_gl_ = false;
192 force_readback_as_bitmap_ = false;
193
194 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 180 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
195 gfx::Rect(200, 200), SK_ColorWHITE); 181 gfx::Rect(200, 200), SK_ColorWHITE);
196 182
197 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 183 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
198 gfx::Rect(200, 200), SK_ColorGREEN); 184 gfx::Rect(200, 200), SK_ColorGREEN);
199 background->AddChild(green); 185 background->AddChild(green);
200 186
201 RunPixelTestWithReadbackTarget(background, 187 RunPixelTestWithReadbackTarget(SOFTWARE_WITH_DEFAULT,
188 background,
202 green.get(), 189 green.get(),
203 base::FilePath(FILE_PATH_LITERAL( 190 base::FilePath(FILE_PATH_LITERAL(
204 "green.png"))); 191 "green.png")));
205 } 192 }
206 193
207 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackNonRootLayer_GL_Bitmap) { 194 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackNonRootLayer_GL_Bitmap) {
208 use_gl_ = true;
209 force_readback_as_bitmap_ = true;
210
211 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 195 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
212 gfx::Rect(200, 200), SK_ColorWHITE); 196 gfx::Rect(200, 200), SK_ColorWHITE);
213 197
214 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 198 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
215 gfx::Rect(200, 200), SK_ColorGREEN); 199 gfx::Rect(200, 200), SK_ColorGREEN);
216 background->AddChild(green); 200 background->AddChild(green);
217 201
218 RunPixelTestWithReadbackTarget(background, 202 RunPixelTestWithReadbackTarget(GL_WITH_BITMAP,
203 background,
219 green.get(), 204 green.get(),
220 base::FilePath(FILE_PATH_LITERAL( 205 base::FilePath(FILE_PATH_LITERAL(
221 "green.png"))); 206 "green.png")));
222 } 207 }
223 208
224 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackNonRootLayer_GL) { 209 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackNonRootLayer_GL) {
225 use_gl_ = true;
226 force_readback_as_bitmap_ = false;
227
228 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 210 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
229 gfx::Rect(200, 200), SK_ColorWHITE); 211 gfx::Rect(200, 200), SK_ColorWHITE);
230 212
231 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 213 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
232 gfx::Rect(200, 200), SK_ColorGREEN); 214 gfx::Rect(200, 200), SK_ColorGREEN);
233 background->AddChild(green); 215 background->AddChild(green);
234 216
235 RunPixelTestWithReadbackTarget(background, 217 RunPixelTestWithReadbackTarget(GL_WITH_DEFAULT,
218 background,
236 green.get(), 219 green.get(),
237 base::FilePath(FILE_PATH_LITERAL( 220 base::FilePath(FILE_PATH_LITERAL(
238 "green.png"))); 221 "green.png")));
239 } 222 }
240 223
241 TEST_F(LayerTreeHostReadbackPixelTest, 224 TEST_F(LayerTreeHostReadbackPixelTest,
242 ReadbackSmallNonRootLayer_Software) { 225 ReadbackSmallNonRootLayer_Software) {
243 use_gl_ = false;
244 force_readback_as_bitmap_ = false;
245
246 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 226 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
247 gfx::Rect(200, 200), SK_ColorWHITE); 227 gfx::Rect(200, 200), SK_ColorWHITE);
248 228
249 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 229 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
250 gfx::Rect(100, 100, 100, 100), SK_ColorGREEN); 230 gfx::Rect(100, 100, 100, 100), SK_ColorGREEN);
251 background->AddChild(green); 231 background->AddChild(green);
252 232
253 RunPixelTestWithReadbackTarget(background, 233 RunPixelTestWithReadbackTarget(SOFTWARE_WITH_DEFAULT,
234 background,
254 green.get(), 235 green.get(),
255 base::FilePath(FILE_PATH_LITERAL( 236 base::FilePath(FILE_PATH_LITERAL(
256 "green_small.png"))); 237 "green_small.png")));
257 } 238 }
258 239
259 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackSmallNonRootLayer_GL_Bitmap) { 240 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackSmallNonRootLayer_GL_Bitmap) {
260 use_gl_ = true;
261 force_readback_as_bitmap_ = true;
262
263 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 241 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
264 gfx::Rect(200, 200), SK_ColorWHITE); 242 gfx::Rect(200, 200), SK_ColorWHITE);
265 243
266 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 244 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
267 gfx::Rect(100, 100, 100, 100), SK_ColorGREEN); 245 gfx::Rect(100, 100, 100, 100), SK_ColorGREEN);
268 background->AddChild(green); 246 background->AddChild(green);
269 247
270 RunPixelTestWithReadbackTarget(background, 248 RunPixelTestWithReadbackTarget(GL_WITH_BITMAP,
249 background,
271 green.get(), 250 green.get(),
272 base::FilePath(FILE_PATH_LITERAL( 251 base::FilePath(FILE_PATH_LITERAL(
273 "green_small.png"))); 252 "green_small.png")));
274 } 253 }
275 254
276 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackSmallNonRootLayer_GL) { 255 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackSmallNonRootLayer_GL) {
277 use_gl_ = true;
278 force_readback_as_bitmap_ = false;
279
280 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 256 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
281 gfx::Rect(200, 200), SK_ColorWHITE); 257 gfx::Rect(200, 200), SK_ColorWHITE);
282 258
283 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 259 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
284 gfx::Rect(100, 100, 100, 100), SK_ColorGREEN); 260 gfx::Rect(100, 100, 100, 100), SK_ColorGREEN);
285 background->AddChild(green); 261 background->AddChild(green);
286 262
287 RunPixelTestWithReadbackTarget(background, 263 RunPixelTestWithReadbackTarget(GL_WITH_DEFAULT,
264 background,
288 green.get(), 265 green.get(),
289 base::FilePath(FILE_PATH_LITERAL( 266 base::FilePath(FILE_PATH_LITERAL(
290 "green_small.png"))); 267 "green_small.png")));
291 } 268 }
292 269
293 TEST_F(LayerTreeHostReadbackPixelTest, 270 TEST_F(LayerTreeHostReadbackPixelTest,
294 ReadbackSmallNonRootLayerWithChild_Software) { 271 ReadbackSmallNonRootLayerWithChild_Software) {
295 use_gl_ = false;
296 force_readback_as_bitmap_ = false;
297
298 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 272 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
299 gfx::Rect(200, 200), SK_ColorWHITE); 273 gfx::Rect(200, 200), SK_ColorWHITE);
300 274
301 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 275 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
302 gfx::Rect(100, 100, 100, 100), SK_ColorGREEN); 276 gfx::Rect(100, 100, 100, 100), SK_ColorGREEN);
303 background->AddChild(green); 277 background->AddChild(green);
304 278
305 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer( 279 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer(
306 gfx::Rect(50, 50, 50, 50), SK_ColorBLUE); 280 gfx::Rect(50, 50, 50, 50), SK_ColorBLUE);
307 green->AddChild(blue); 281 green->AddChild(blue);
308 282
309 RunPixelTestWithReadbackTarget(background, 283 RunPixelTestWithReadbackTarget(SOFTWARE_WITH_DEFAULT,
284 background,
310 green.get(), 285 green.get(),
311 base::FilePath(FILE_PATH_LITERAL( 286 base::FilePath(FILE_PATH_LITERAL(
312 "green_small_with_blue_corner.png"))); 287 "green_small_with_blue_corner.png")));
313 } 288 }
314 289
315 TEST_F(LayerTreeHostReadbackPixelTest, 290 TEST_F(LayerTreeHostReadbackPixelTest,
316 ReadbackSmallNonRootLayerWithChild_GL_Bitmap) { 291 ReadbackSmallNonRootLayerWithChild_GL_Bitmap) {
317 use_gl_ = true;
318 force_readback_as_bitmap_ = true;
319
320 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 292 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
321 gfx::Rect(200, 200), SK_ColorWHITE); 293 gfx::Rect(200, 200), SK_ColorWHITE);
322 294
323 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 295 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
324 gfx::Rect(100, 100, 100, 100), SK_ColorGREEN); 296 gfx::Rect(100, 100, 100, 100), SK_ColorGREEN);
325 background->AddChild(green); 297 background->AddChild(green);
326 298
327 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer( 299 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer(
328 gfx::Rect(50, 50, 50, 50), SK_ColorBLUE); 300 gfx::Rect(50, 50, 50, 50), SK_ColorBLUE);
329 green->AddChild(blue); 301 green->AddChild(blue);
330 302
331 RunPixelTestWithReadbackTarget(background, 303 RunPixelTestWithReadbackTarget(GL_WITH_BITMAP,
304 background,
332 green.get(), 305 green.get(),
333 base::FilePath(FILE_PATH_LITERAL( 306 base::FilePath(FILE_PATH_LITERAL(
334 "green_small_with_blue_corner.png"))); 307 "green_small_with_blue_corner.png")));
335 } 308 }
336 309
337 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackSmallNonRootLayerWithChild_GL) { 310 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackSmallNonRootLayerWithChild_GL) {
338 use_gl_ = true;
339 force_readback_as_bitmap_ = false;
340
341 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 311 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
342 gfx::Rect(200, 200), SK_ColorWHITE); 312 gfx::Rect(200, 200), SK_ColorWHITE);
343 313
344 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 314 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
345 gfx::Rect(100, 100, 100, 100), SK_ColorGREEN); 315 gfx::Rect(100, 100, 100, 100), SK_ColorGREEN);
346 background->AddChild(green); 316 background->AddChild(green);
347 317
348 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer( 318 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer(
349 gfx::Rect(50, 50, 50, 50), SK_ColorBLUE); 319 gfx::Rect(50, 50, 50, 50), SK_ColorBLUE);
350 green->AddChild(blue); 320 green->AddChild(blue);
351 321
352 RunPixelTestWithReadbackTarget(background, 322 RunPixelTestWithReadbackTarget(GL_WITH_DEFAULT,
323 background,
353 green.get(), 324 green.get(),
354 base::FilePath(FILE_PATH_LITERAL( 325 base::FilePath(FILE_PATH_LITERAL(
355 "green_small_with_blue_corner.png"))); 326 "green_small_with_blue_corner.png")));
356 } 327 }
357 328
358 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackSubrect_Software) { 329 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackSubrect_Software) {
359 use_gl_ = false;
360 force_readback_as_bitmap_ = false;
361
362 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 330 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
363 gfx::Rect(200, 200), SK_ColorWHITE); 331 gfx::Rect(200, 200), SK_ColorWHITE);
364 332
365 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 333 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
366 gfx::Rect(200, 200), SK_ColorGREEN); 334 gfx::Rect(200, 200), SK_ColorGREEN);
367 background->AddChild(green); 335 background->AddChild(green);
368 336
369 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer( 337 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer(
370 gfx::Rect(100, 100, 50, 50), SK_ColorBLUE); 338 gfx::Rect(100, 100, 50, 50), SK_ColorBLUE);
371 green->AddChild(blue); 339 green->AddChild(blue);
372 340
373 // Grab the middle of the viewport. 341 // Grab the middle of the viewport.
374 copy_subrect_ = gfx::Rect(50, 50, 100, 100); 342 copy_subrect_ = gfx::Rect(50, 50, 100, 100);
375 343
376 RunPixelTest(background, 344 RunPixelTest(SOFTWARE_WITH_DEFAULT,
345 background,
377 base::FilePath(FILE_PATH_LITERAL( 346 base::FilePath(FILE_PATH_LITERAL(
378 "green_small_with_blue_corner.png"))); 347 "green_small_with_blue_corner.png")));
379 } 348 }
380 349
381 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackSubrect_GL_Bitmap) { 350 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackSubrect_GL_Bitmap) {
382 use_gl_ = true;
383 force_readback_as_bitmap_ = true;
384
385 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 351 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
386 gfx::Rect(200, 200), SK_ColorWHITE); 352 gfx::Rect(200, 200), SK_ColorWHITE);
387 353
388 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 354 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
389 gfx::Rect(200, 200), SK_ColorGREEN); 355 gfx::Rect(200, 200), SK_ColorGREEN);
390 background->AddChild(green); 356 background->AddChild(green);
391 357
392 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer( 358 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer(
393 gfx::Rect(100, 100, 50, 50), SK_ColorBLUE); 359 gfx::Rect(100, 100, 50, 50), SK_ColorBLUE);
394 green->AddChild(blue); 360 green->AddChild(blue);
395 361
396 // Grab the middle of the viewport. 362 // Grab the middle of the viewport.
397 copy_subrect_ = gfx::Rect(50, 50, 100, 100); 363 copy_subrect_ = gfx::Rect(50, 50, 100, 100);
398 364
399 RunPixelTest(background, 365 RunPixelTest(GL_WITH_BITMAP,
366 background,
400 base::FilePath(FILE_PATH_LITERAL( 367 base::FilePath(FILE_PATH_LITERAL(
401 "green_small_with_blue_corner.png"))); 368 "green_small_with_blue_corner.png")));
402 } 369 }
403 370
404 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackSubrect_GL) { 371 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackSubrect_GL) {
405 use_gl_ = true;
406 force_readback_as_bitmap_ = false;
407
408 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 372 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
409 gfx::Rect(200, 200), SK_ColorWHITE); 373 gfx::Rect(200, 200), SK_ColorWHITE);
410 374
411 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 375 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
412 gfx::Rect(200, 200), SK_ColorGREEN); 376 gfx::Rect(200, 200), SK_ColorGREEN);
413 background->AddChild(green); 377 background->AddChild(green);
414 378
415 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer( 379 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer(
416 gfx::Rect(100, 100, 50, 50), SK_ColorBLUE); 380 gfx::Rect(100, 100, 50, 50), SK_ColorBLUE);
417 green->AddChild(blue); 381 green->AddChild(blue);
418 382
419 // Grab the middle of the viewport. 383 // Grab the middle of the viewport.
420 copy_subrect_ = gfx::Rect(50, 50, 100, 100); 384 copy_subrect_ = gfx::Rect(50, 50, 100, 100);
421 385
422 RunPixelTest(background, 386 RunPixelTest(GL_WITH_DEFAULT,
387 background,
423 base::FilePath(FILE_PATH_LITERAL( 388 base::FilePath(FILE_PATH_LITERAL(
424 "green_small_with_blue_corner.png"))); 389 "green_small_with_blue_corner.png")));
425 } 390 }
426 391
427 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackNonRootLayerSubrect_Software) { 392 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackNonRootLayerSubrect_Software) {
428 use_gl_ = false;
429 force_readback_as_bitmap_ = false;
430
431 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 393 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
432 gfx::Rect(200, 200), SK_ColorWHITE); 394 gfx::Rect(200, 200), SK_ColorWHITE);
433 395
434 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 396 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
435 gfx::Rect(25, 25, 150, 150), SK_ColorGREEN); 397 gfx::Rect(25, 25, 150, 150), SK_ColorGREEN);
436 background->AddChild(green); 398 background->AddChild(green);
437 399
438 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer( 400 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer(
439 gfx::Rect(75, 75, 50, 50), SK_ColorBLUE); 401 gfx::Rect(75, 75, 50, 50), SK_ColorBLUE);
440 green->AddChild(blue); 402 green->AddChild(blue);
441 403
442 // Grab the middle of the viewport. 404 // Grab the middle of the viewport.
443 copy_subrect_ = gfx::Rect(25, 25, 100, 100); 405 copy_subrect_ = gfx::Rect(25, 25, 100, 100);
444 406
445 RunPixelTestWithReadbackTarget(background, 407 RunPixelTestWithReadbackTarget(SOFTWARE_WITH_DEFAULT,
408 background,
446 green.get(), 409 green.get(),
447 base::FilePath(FILE_PATH_LITERAL( 410 base::FilePath(FILE_PATH_LITERAL(
448 "green_small_with_blue_corner.png"))); 411 "green_small_with_blue_corner.png")));
449 } 412 }
450 413
451 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackNonRootLayerSubrect_GL_Bitmap) { 414 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackNonRootLayerSubrect_GL_Bitmap) {
452 use_gl_ = true;
453 force_readback_as_bitmap_ = true;
454
455 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 415 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
456 gfx::Rect(200, 200), SK_ColorWHITE); 416 gfx::Rect(200, 200), SK_ColorWHITE);
457 417
458 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 418 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
459 gfx::Rect(25, 25, 150, 150), SK_ColorGREEN); 419 gfx::Rect(25, 25, 150, 150), SK_ColorGREEN);
460 background->AddChild(green); 420 background->AddChild(green);
461 421
462 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer( 422 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer(
463 gfx::Rect(75, 75, 50, 50), SK_ColorBLUE); 423 gfx::Rect(75, 75, 50, 50), SK_ColorBLUE);
464 green->AddChild(blue); 424 green->AddChild(blue);
465 425
466 // Grab the middle of the viewport. 426 // Grab the middle of the viewport.
467 copy_subrect_ = gfx::Rect(25, 25, 100, 100); 427 copy_subrect_ = gfx::Rect(25, 25, 100, 100);
468 428
469 RunPixelTestWithReadbackTarget(background, 429 RunPixelTestWithReadbackTarget(GL_WITH_BITMAP,
430 background,
470 green.get(), 431 green.get(),
471 base::FilePath(FILE_PATH_LITERAL( 432 base::FilePath(FILE_PATH_LITERAL(
472 "green_small_with_blue_corner.png"))); 433 "green_small_with_blue_corner.png")));
473 } 434 }
474 435
475 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackNonRootLayerSubrect_GL) { 436 TEST_F(LayerTreeHostReadbackPixelTest, ReadbackNonRootLayerSubrect_GL) {
476 use_gl_ = true;
477 force_readback_as_bitmap_ = true;
478
479 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer( 437 scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
480 gfx::Rect(200, 200), SK_ColorWHITE); 438 gfx::Rect(200, 200), SK_ColorWHITE);
481 439
482 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer( 440 scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
483 gfx::Rect(25, 25, 150, 150), SK_ColorGREEN); 441 gfx::Rect(25, 25, 150, 150), SK_ColorGREEN);
484 background->AddChild(green); 442 background->AddChild(green);
485 443
486 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer( 444 scoped_refptr<SolidColorLayer> blue = CreateSolidColorLayer(
487 gfx::Rect(75, 75, 50, 50), SK_ColorBLUE); 445 gfx::Rect(75, 75, 50, 50), SK_ColorBLUE);
488 green->AddChild(blue); 446 green->AddChild(blue);
489 447
490 // Grab the middle of the viewport. 448 // Grab the middle of the viewport.
491 copy_subrect_ = gfx::Rect(25, 25, 100, 100); 449 copy_subrect_ = gfx::Rect(25, 25, 100, 100);
492 450
493 RunPixelTestWithReadbackTarget(background, 451 RunPixelTestWithReadbackTarget(GL_WITH_DEFAULT,
452 background,
494 green.get(), 453 green.get(),
495 base::FilePath(FILE_PATH_LITERAL( 454 base::FilePath(FILE_PATH_LITERAL(
496 "green_small_with_blue_corner.png"))); 455 "green_small_with_blue_corner.png")));
497 } 456 }
498 457
499 } // namespace 458 } // namespace
500 } // namespace cc 459 } // namespace cc
501 460
502 #endif // OS_ANDROID 461 #endif // OS_ANDROID
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_pixeltest_on_demand_raster.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698