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

Side by Side Diff: cc/output/renderer_pixeltest.cc

Issue 1175113010: cc: Rename visible_content_rect and content stuff on quads. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rename-visible-content-rect: comment Created 5 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
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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/message_loop.h" 5 #include "base/message_loop/message_loop.h"
6 #include "cc/output/gl_renderer.h" 6 #include "cc/output/gl_renderer.h"
7 #include "cc/quads/draw_quad.h" 7 #include "cc/quads/draw_quad.h"
8 #include "cc/quads/picture_draw_quad.h" 8 #include "cc/quads/picture_draw_quad.h"
9 #include "cc/quads/texture_draw_quad.h" 9 #include "cc/quads/texture_draw_quad.h"
10 #include "cc/resources/video_resource_updater.h" 10 #include "cc/resources/video_resource_updater.h"
(...skipping 29 matching lines...) Expand all
40 const gfx::Rect& rect, 40 const gfx::Rect& rect,
41 const gfx::Transform& transform_to_root_target) { 41 const gfx::Transform& transform_to_root_target) {
42 scoped_ptr<RenderPass> pass = RenderPass::Create(); 42 scoped_ptr<RenderPass> pass = RenderPass::Create();
43 const gfx::Rect output_rect = rect; 43 const gfx::Rect output_rect = rect;
44 const gfx::Rect damage_rect = rect; 44 const gfx::Rect damage_rect = rect;
45 pass->SetNew(id, output_rect, damage_rect, transform_to_root_target); 45 pass->SetNew(id, output_rect, damage_rect, transform_to_root_target);
46 return pass.Pass(); 46 return pass.Pass();
47 } 47 }
48 48
49 SharedQuadState* CreateTestSharedQuadState( 49 SharedQuadState* CreateTestSharedQuadState(
50 gfx::Transform content_to_target_transform, 50 gfx::Transform quad_to_target_transform,
51 const gfx::Rect& rect, 51 const gfx::Rect& rect,
52 RenderPass* render_pass) { 52 RenderPass* render_pass) {
53 const gfx::Size content_bounds = rect.size(); 53 const gfx::Size layer_bounds = rect.size();
54 const gfx::Rect visible_content_rect = rect; 54 const gfx::Rect visible_layer_rect = rect;
55 const gfx::Rect clip_rect = rect; 55 const gfx::Rect clip_rect = rect;
56 const bool is_clipped = false; 56 const bool is_clipped = false;
57 const float opacity = 1.0f; 57 const float opacity = 1.0f;
58 const SkXfermode::Mode blend_mode = SkXfermode::kSrcOver_Mode; 58 const SkXfermode::Mode blend_mode = SkXfermode::kSrcOver_Mode;
59 int sorting_context_id = 0; 59 int sorting_context_id = 0;
60 SharedQuadState* shared_state = render_pass->CreateAndAppendSharedQuadState(); 60 SharedQuadState* shared_state = render_pass->CreateAndAppendSharedQuadState();
61 shared_state->SetAll(content_to_target_transform, 61 shared_state->SetAll(quad_to_target_transform, layer_bounds,
62 content_bounds, 62 visible_layer_rect, clip_rect, is_clipped, opacity,
63 visible_content_rect, 63 blend_mode, sorting_context_id);
64 clip_rect,
65 is_clipped,
66 opacity,
67 blend_mode,
68 sorting_context_id);
69 return shared_state; 64 return shared_state;
70 } 65 }
71 66
72 SharedQuadState* CreateTestSharedQuadStateClipped( 67 SharedQuadState* CreateTestSharedQuadStateClipped(
73 gfx::Transform content_to_target_transform, 68 gfx::Transform quad_to_target_transform,
74 const gfx::Rect& rect, 69 const gfx::Rect& rect,
75 const gfx::Rect& clip_rect, 70 const gfx::Rect& clip_rect,
76 RenderPass* render_pass) { 71 RenderPass* render_pass) {
77 const gfx::Size content_bounds = rect.size(); 72 const gfx::Size layer_bounds = rect.size();
78 const gfx::Rect visible_content_rect = clip_rect; 73 const gfx::Rect visible_layer_rect = clip_rect;
79 const bool is_clipped = true; 74 const bool is_clipped = true;
80 const float opacity = 1.0f; 75 const float opacity = 1.0f;
81 const SkXfermode::Mode blend_mode = SkXfermode::kSrcOver_Mode; 76 const SkXfermode::Mode blend_mode = SkXfermode::kSrcOver_Mode;
82 int sorting_context_id = 0; 77 int sorting_context_id = 0;
83 SharedQuadState* shared_state = render_pass->CreateAndAppendSharedQuadState(); 78 SharedQuadState* shared_state = render_pass->CreateAndAppendSharedQuadState();
84 shared_state->SetAll(content_to_target_transform, 79 shared_state->SetAll(quad_to_target_transform, layer_bounds,
85 content_bounds, 80 visible_layer_rect, clip_rect, is_clipped, opacity,
86 visible_content_rect, 81 blend_mode, sorting_context_id);
87 clip_rect,
88 is_clipped,
89 opacity,
90 blend_mode,
91 sorting_context_id);
92 return shared_state; 82 return shared_state;
93 } 83 }
94 84
95 void CreateTestRenderPassDrawQuad(const SharedQuadState* shared_state, 85 void CreateTestRenderPassDrawQuad(const SharedQuadState* shared_state,
96 const gfx::Rect& rect, 86 const gfx::Rect& rect,
97 RenderPassId pass_id, 87 RenderPassId pass_id,
98 RenderPass* render_pass) { 88 RenderPass* render_pass) {
99 RenderPassDrawQuad* quad = 89 RenderPassDrawQuad* quad =
100 render_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); 90 render_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
101 quad->SetNew(shared_state, 91 quad->SetNew(shared_state,
(...skipping 1111 matching lines...) Expand 10 before | Expand all | Expand 10 after
1213 RenderPassId root_pass_id(1, 1); 1203 RenderPassId root_pass_id(1, 1);
1214 scoped_ptr<RenderPass> root_pass = 1204 scoped_ptr<RenderPass> root_pass =
1215 CreateTestRootRenderPass(root_pass_id, viewport_rect); 1205 CreateTestRootRenderPass(root_pass_id, viewport_rect);
1216 1206
1217 RenderPassId child_pass_id(2, 2); 1207 RenderPassId child_pass_id(2, 2);
1218 gfx::Rect pass_rect(this->device_viewport_size_); 1208 gfx::Rect pass_rect(this->device_viewport_size_);
1219 gfx::Transform transform_to_root; 1209 gfx::Transform transform_to_root;
1220 scoped_ptr<RenderPass> child_pass = 1210 scoped_ptr<RenderPass> child_pass =
1221 CreateTestRenderPass(child_pass_id, pass_rect, transform_to_root); 1211 CreateTestRenderPass(child_pass_id, pass_rect, transform_to_root);
1222 1212
1223 gfx::Transform content_to_target_transform; 1213 gfx::Transform quad_to_target_transform;
1224 SharedQuadState* shared_state = CreateTestSharedQuadState( 1214 SharedQuadState* shared_state = CreateTestSharedQuadState(
1225 content_to_target_transform, viewport_rect, child_pass.get()); 1215 quad_to_target_transform, viewport_rect, child_pass.get());
1226 shared_state->opacity = 0.5f; 1216 shared_state->opacity = 0.5f;
1227 1217
1228 gfx::Rect blue_rect(0, 1218 gfx::Rect blue_rect(0,
1229 0, 1219 0,
1230 this->device_viewport_size_.width(), 1220 this->device_viewport_size_.width(),
1231 this->device_viewport_size_.height() / 2); 1221 this->device_viewport_size_.height() / 2);
1232 SolidColorDrawQuad* blue = 1222 SolidColorDrawQuad* blue =
1233 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1223 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1234 blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false); 1224 blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false);
1235 gfx::Rect yellow_rect(0, 1225 gfx::Rect yellow_rect(0,
1236 this->device_viewport_size_.height() / 2, 1226 this->device_viewport_size_.height() / 2,
1237 this->device_viewport_size_.width(), 1227 this->device_viewport_size_.width(),
1238 this->device_viewport_size_.height() / 2); 1228 this->device_viewport_size_.height() / 2);
1239 SolidColorDrawQuad* yellow = 1229 SolidColorDrawQuad* yellow =
1240 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1230 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1241 yellow->SetNew(shared_state, yellow_rect, yellow_rect, SK_ColorYELLOW, false); 1231 yellow->SetNew(shared_state, yellow_rect, yellow_rect, SK_ColorYELLOW, false);
1242 1232
1243 SharedQuadState* blank_state = CreateTestSharedQuadState( 1233 SharedQuadState* blank_state = CreateTestSharedQuadState(
1244 content_to_target_transform, viewport_rect, child_pass.get()); 1234 quad_to_target_transform, viewport_rect, child_pass.get());
1245 1235
1246 SolidColorDrawQuad* white = 1236 SolidColorDrawQuad* white =
1247 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1237 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1248 white->SetNew( 1238 white->SetNew(
1249 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); 1239 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false);
1250 1240
1251 SharedQuadState* pass_shared_state = 1241 SharedQuadState* pass_shared_state =
1252 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); 1242 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get());
1253 1243
1254 SkScalar matrix[20]; 1244 SkScalar matrix[20];
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
1305 RenderPassId root_pass_id(1, 1); 1295 RenderPassId root_pass_id(1, 1);
1306 scoped_ptr<RenderPass> root_pass = 1296 scoped_ptr<RenderPass> root_pass =
1307 CreateTestRootRenderPass(root_pass_id, viewport_rect); 1297 CreateTestRootRenderPass(root_pass_id, viewport_rect);
1308 1298
1309 RenderPassId child_pass_id(2, 2); 1299 RenderPassId child_pass_id(2, 2);
1310 gfx::Rect pass_rect(this->device_viewport_size_); 1300 gfx::Rect pass_rect(this->device_viewport_size_);
1311 gfx::Transform transform_to_root; 1301 gfx::Transform transform_to_root;
1312 scoped_ptr<RenderPass> child_pass = 1302 scoped_ptr<RenderPass> child_pass =
1313 CreateTestRenderPass(child_pass_id, pass_rect, transform_to_root); 1303 CreateTestRenderPass(child_pass_id, pass_rect, transform_to_root);
1314 1304
1315 gfx::Transform content_to_target_transform; 1305 gfx::Transform quad_to_target_transform;
1316 SharedQuadState* shared_state = CreateTestSharedQuadState( 1306 SharedQuadState* shared_state = CreateTestSharedQuadState(
1317 content_to_target_transform, viewport_rect, child_pass.get()); 1307 quad_to_target_transform, viewport_rect, child_pass.get());
1318 shared_state->opacity = 0.5f; 1308 shared_state->opacity = 0.5f;
1319 1309
1320 gfx::Rect blue_rect(0, 1310 gfx::Rect blue_rect(0,
1321 0, 1311 0,
1322 this->device_viewport_size_.width(), 1312 this->device_viewport_size_.width(),
1323 this->device_viewport_size_.height() / 2); 1313 this->device_viewport_size_.height() / 2);
1324 SolidColorDrawQuad* blue = 1314 SolidColorDrawQuad* blue =
1325 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1315 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1326 blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false); 1316 blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false);
1327 gfx::Rect yellow_rect(0, 1317 gfx::Rect yellow_rect(0,
1328 this->device_viewport_size_.height() / 2, 1318 this->device_viewport_size_.height() / 2,
1329 this->device_viewport_size_.width(), 1319 this->device_viewport_size_.width(),
1330 this->device_viewport_size_.height() / 2); 1320 this->device_viewport_size_.height() / 2);
1331 SolidColorDrawQuad* yellow = 1321 SolidColorDrawQuad* yellow =
1332 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1322 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1333 yellow->SetNew(shared_state, yellow_rect, yellow_rect, SK_ColorYELLOW, false); 1323 yellow->SetNew(shared_state, yellow_rect, yellow_rect, SK_ColorYELLOW, false);
1334 1324
1335 SharedQuadState* blank_state = CreateTestSharedQuadState( 1325 SharedQuadState* blank_state = CreateTestSharedQuadState(
1336 content_to_target_transform, viewport_rect, child_pass.get()); 1326 quad_to_target_transform, viewport_rect, child_pass.get());
1337 1327
1338 SolidColorDrawQuad* white = 1328 SolidColorDrawQuad* white =
1339 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1329 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1340 white->SetNew( 1330 white->SetNew(
1341 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); 1331 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false);
1342 1332
1343 SharedQuadState* pass_shared_state = 1333 SharedQuadState* pass_shared_state =
1344 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); 1334 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get());
1345 1335
1346 FilterOperations filters; 1336 FilterOperations filters;
(...skipping 29 matching lines...) Expand all
1376 RenderPassId root_pass_id(1, 1); 1366 RenderPassId root_pass_id(1, 1);
1377 scoped_ptr<RenderPass> root_pass = 1367 scoped_ptr<RenderPass> root_pass =
1378 CreateTestRootRenderPass(root_pass_id, viewport_rect); 1368 CreateTestRootRenderPass(root_pass_id, viewport_rect);
1379 1369
1380 RenderPassId child_pass_id(2, 2); 1370 RenderPassId child_pass_id(2, 2);
1381 gfx::Rect pass_rect(this->device_viewport_size_); 1371 gfx::Rect pass_rect(this->device_viewport_size_);
1382 gfx::Transform transform_to_root; 1372 gfx::Transform transform_to_root;
1383 scoped_ptr<RenderPass> child_pass = 1373 scoped_ptr<RenderPass> child_pass =
1384 CreateTestRenderPass(child_pass_id, pass_rect, transform_to_root); 1374 CreateTestRenderPass(child_pass_id, pass_rect, transform_to_root);
1385 1375
1386 gfx::Transform content_to_target_transform; 1376 gfx::Transform quad_to_target_transform;
1387 SharedQuadState* shared_state = CreateTestSharedQuadState( 1377 SharedQuadState* shared_state = CreateTestSharedQuadState(
1388 content_to_target_transform, viewport_rect, child_pass.get()); 1378 quad_to_target_transform, viewport_rect, child_pass.get());
1389 shared_state->opacity = 0.5f; 1379 shared_state->opacity = 0.5f;
1390 1380
1391 gfx::Rect blue_rect(0, 1381 gfx::Rect blue_rect(0,
1392 0, 1382 0,
1393 this->device_viewport_size_.width(), 1383 this->device_viewport_size_.width(),
1394 this->device_viewport_size_.height() / 2); 1384 this->device_viewport_size_.height() / 2);
1395 SolidColorDrawQuad* blue = 1385 SolidColorDrawQuad* blue =
1396 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1386 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1397 blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false); 1387 blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false);
1398 gfx::Rect yellow_rect(0, 1388 gfx::Rect yellow_rect(0,
1399 this->device_viewport_size_.height() / 2, 1389 this->device_viewport_size_.height() / 2,
1400 this->device_viewport_size_.width(), 1390 this->device_viewport_size_.width(),
1401 this->device_viewport_size_.height() / 2); 1391 this->device_viewport_size_.height() / 2);
1402 SolidColorDrawQuad* yellow = 1392 SolidColorDrawQuad* yellow =
1403 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1393 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1404 yellow->SetNew(shared_state, yellow_rect, yellow_rect, SK_ColorYELLOW, false); 1394 yellow->SetNew(shared_state, yellow_rect, yellow_rect, SK_ColorYELLOW, false);
1405 1395
1406 SharedQuadState* blank_state = CreateTestSharedQuadState( 1396 SharedQuadState* blank_state = CreateTestSharedQuadState(
1407 content_to_target_transform, viewport_rect, child_pass.get()); 1397 quad_to_target_transform, viewport_rect, child_pass.get());
1408 1398
1409 SolidColorDrawQuad* white = 1399 SolidColorDrawQuad* white =
1410 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1400 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1411 white->SetNew( 1401 white->SetNew(
1412 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); 1402 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false);
1413 1403
1414 SharedQuadState* pass_shared_state = 1404 SharedQuadState* pass_shared_state =
1415 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); 1405 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get());
1416 1406
1417 FilterOperations filters; 1407 FilterOperations filters;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1449 RenderPassId root_pass_id(1, 1); 1439 RenderPassId root_pass_id(1, 1);
1450 scoped_ptr<RenderPass> root_pass = 1440 scoped_ptr<RenderPass> root_pass =
1451 CreateTestRootRenderPass(root_pass_id, viewport_rect); 1441 CreateTestRootRenderPass(root_pass_id, viewport_rect);
1452 1442
1453 RenderPassId child_pass_id(2, 2); 1443 RenderPassId child_pass_id(2, 2);
1454 gfx::Rect pass_rect(this->device_viewport_size_); 1444 gfx::Rect pass_rect(this->device_viewport_size_);
1455 gfx::Transform transform_to_root; 1445 gfx::Transform transform_to_root;
1456 scoped_ptr<RenderPass> child_pass = 1446 scoped_ptr<RenderPass> child_pass =
1457 CreateTestRenderPass(child_pass_id, pass_rect, transform_to_root); 1447 CreateTestRenderPass(child_pass_id, pass_rect, transform_to_root);
1458 1448
1459 gfx::Transform content_to_target_transform; 1449 gfx::Transform quad_to_target_transform;
1460 SharedQuadState* shared_state = CreateTestSharedQuadState( 1450 SharedQuadState* shared_state = CreateTestSharedQuadState(
1461 content_to_target_transform, viewport_rect, child_pass.get()); 1451 quad_to_target_transform, viewport_rect, child_pass.get());
1462 shared_state->opacity = 0.5f; 1452 shared_state->opacity = 0.5f;
1463 1453
1464 gfx::Rect blue_rect(0, 1454 gfx::Rect blue_rect(0,
1465 0, 1455 0,
1466 this->device_viewport_size_.width(), 1456 this->device_viewport_size_.width(),
1467 this->device_viewport_size_.height() / 2); 1457 this->device_viewport_size_.height() / 2);
1468 SolidColorDrawQuad* blue = 1458 SolidColorDrawQuad* blue =
1469 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1459 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1470 blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false); 1460 blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false);
1471 gfx::Rect yellow_rect(0, 1461 gfx::Rect yellow_rect(0,
1472 this->device_viewport_size_.height() / 2, 1462 this->device_viewport_size_.height() / 2,
1473 this->device_viewport_size_.width(), 1463 this->device_viewport_size_.width(),
1474 this->device_viewport_size_.height() / 2); 1464 this->device_viewport_size_.height() / 2);
1475 SolidColorDrawQuad* yellow = 1465 SolidColorDrawQuad* yellow =
1476 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1466 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1477 yellow->SetNew(shared_state, yellow_rect, yellow_rect, SK_ColorYELLOW, false); 1467 yellow->SetNew(shared_state, yellow_rect, yellow_rect, SK_ColorYELLOW, false);
1478 1468
1479 SharedQuadState* blank_state = CreateTestSharedQuadState( 1469 SharedQuadState* blank_state = CreateTestSharedQuadState(
1480 content_to_target_transform, viewport_rect, child_pass.get()); 1470 quad_to_target_transform, viewport_rect, child_pass.get());
1481 1471
1482 SolidColorDrawQuad* white = 1472 SolidColorDrawQuad* white =
1483 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1473 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1484 white->SetNew( 1474 white->SetNew(
1485 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); 1475 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false);
1486 1476
1487 SharedQuadState* pass_shared_state = 1477 SharedQuadState* pass_shared_state =
1488 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); 1478 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get());
1489 1479
1490 SkScalar matrix[20]; 1480 SkScalar matrix[20];
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1545 RenderPassId root_pass_id(1, 1); 1535 RenderPassId root_pass_id(1, 1);
1546 scoped_ptr<RenderPass> root_pass = 1536 scoped_ptr<RenderPass> root_pass =
1547 CreateTestRootRenderPass(root_pass_id, viewport_rect); 1537 CreateTestRootRenderPass(root_pass_id, viewport_rect);
1548 1538
1549 RenderPassId child_pass_id(2, 2); 1539 RenderPassId child_pass_id(2, 2);
1550 gfx::Rect pass_rect(this->device_viewport_size_); 1540 gfx::Rect pass_rect(this->device_viewport_size_);
1551 gfx::Transform transform_to_root; 1541 gfx::Transform transform_to_root;
1552 scoped_ptr<RenderPass> child_pass = 1542 scoped_ptr<RenderPass> child_pass =
1553 CreateTestRenderPass(child_pass_id, pass_rect, transform_to_root); 1543 CreateTestRenderPass(child_pass_id, pass_rect, transform_to_root);
1554 1544
1555 gfx::Transform content_to_target_transform; 1545 gfx::Transform quad_to_target_transform;
1556 SharedQuadState* shared_state = CreateTestSharedQuadState( 1546 SharedQuadState* shared_state = CreateTestSharedQuadState(
1557 content_to_target_transform, viewport_rect, child_pass.get()); 1547 quad_to_target_transform, viewport_rect, child_pass.get());
1558 1548
1559 gfx::Rect blue_rect(0, 1549 gfx::Rect blue_rect(0,
1560 0, 1550 0,
1561 this->device_viewport_size_.width(), 1551 this->device_viewport_size_.width(),
1562 this->device_viewport_size_.height() / 2); 1552 this->device_viewport_size_.height() / 2);
1563 SolidColorDrawQuad* blue = 1553 SolidColorDrawQuad* blue =
1564 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1554 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1565 blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false); 1555 blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false);
1566 gfx::Rect yellow_rect(0, 1556 gfx::Rect yellow_rect(0,
1567 this->device_viewport_size_.height() / 2, 1557 this->device_viewport_size_.height() / 2,
(...skipping 26 matching lines...) Expand all
1594 RenderPassId root_pass_id(1, 1); 1584 RenderPassId root_pass_id(1, 1);
1595 scoped_ptr<RenderPass> root_pass = 1585 scoped_ptr<RenderPass> root_pass =
1596 CreateTestRootRenderPass(root_pass_id, viewport_rect); 1586 CreateTestRootRenderPass(root_pass_id, viewport_rect);
1597 1587
1598 RenderPassId child_pass_id(2, 2); 1588 RenderPassId child_pass_id(2, 2);
1599 gfx::Rect pass_rect(this->device_viewport_size_); 1589 gfx::Rect pass_rect(this->device_viewport_size_);
1600 gfx::Transform transform_to_root; 1590 gfx::Transform transform_to_root;
1601 scoped_ptr<RenderPass> child_pass = 1591 scoped_ptr<RenderPass> child_pass =
1602 CreateTestRenderPass(child_pass_id, pass_rect, transform_to_root); 1592 CreateTestRenderPass(child_pass_id, pass_rect, transform_to_root);
1603 1593
1604 gfx::Transform content_to_target_transform; 1594 gfx::Transform quad_to_target_transform;
1605 SharedQuadState* shared_state = CreateTestSharedQuadState( 1595 SharedQuadState* shared_state = CreateTestSharedQuadState(
1606 content_to_target_transform, viewport_rect, child_pass.get()); 1596 quad_to_target_transform, viewport_rect, child_pass.get());
1607 1597
1608 gfx::Rect blue_rect(0, 1598 gfx::Rect blue_rect(0,
1609 0, 1599 0,
1610 this->device_viewport_size_.width(), 1600 this->device_viewport_size_.width(),
1611 this->device_viewport_size_.height() / 2); 1601 this->device_viewport_size_.height() / 2);
1612 SolidColorDrawQuad* blue = 1602 SolidColorDrawQuad* blue =
1613 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1603 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1614 blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false); 1604 blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false);
1615 gfx::Rect yellow_rect(0, 1605 gfx::Rect yellow_rect(0,
1616 this->device_viewport_size_.height() / 2, 1606 this->device_viewport_size_.height() / 2,
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
1751 : public RendererPixelTest<RendererType> { 1741 : public RendererPixelTest<RendererType> {
1752 protected: 1742 protected:
1753 void SetUpRenderPassList() { 1743 void SetUpRenderPassList() {
1754 gfx::Rect device_viewport_rect(this->device_viewport_size_); 1744 gfx::Rect device_viewport_rect(this->device_viewport_size_);
1755 1745
1756 RenderPassId root_id(1, 1); 1746 RenderPassId root_id(1, 1);
1757 scoped_ptr<RenderPass> root_pass = 1747 scoped_ptr<RenderPass> root_pass =
1758 CreateTestRootRenderPass(root_id, device_viewport_rect); 1748 CreateTestRootRenderPass(root_id, device_viewport_rect);
1759 root_pass->has_transparent_background = false; 1749 root_pass->has_transparent_background = false;
1760 1750
1761 gfx::Transform identity_content_to_target_transform; 1751 gfx::Transform identity_quad_to_target_transform;
1762 1752
1763 RenderPassId filter_pass_id(2, 1); 1753 RenderPassId filter_pass_id(2, 1);
1764 gfx::Transform transform_to_root; 1754 gfx::Transform transform_to_root;
1765 scoped_ptr<RenderPass> filter_pass = 1755 scoped_ptr<RenderPass> filter_pass = CreateTestRenderPass(
1766 CreateTestRenderPass(filter_pass_id, 1756 filter_pass_id, filter_pass_layer_rect_, transform_to_root);
1767 filter_pass_content_rect_,
1768 transform_to_root);
1769 1757
1770 // A non-visible quad in the filtering render pass. 1758 // A non-visible quad in the filtering render pass.
1771 { 1759 {
1772 SharedQuadState* shared_state = 1760 SharedQuadState* shared_state =
1773 CreateTestSharedQuadState(identity_content_to_target_transform, 1761 CreateTestSharedQuadState(identity_quad_to_target_transform,
1774 filter_pass_content_rect_, 1762 filter_pass_layer_rect_, filter_pass.get());
1775 filter_pass.get());
1776 SolidColorDrawQuad* color_quad = 1763 SolidColorDrawQuad* color_quad =
1777 filter_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1764 filter_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1778 color_quad->SetNew(shared_state, 1765 color_quad->SetNew(shared_state, filter_pass_layer_rect_,
1779 filter_pass_content_rect_, 1766 filter_pass_layer_rect_, SK_ColorTRANSPARENT, false);
1780 filter_pass_content_rect_,
1781 SK_ColorTRANSPARENT,
1782 false);
1783 } 1767 }
1784 1768
1785 { 1769 {
1786 SharedQuadState* shared_state = 1770 SharedQuadState* shared_state =
1787 CreateTestSharedQuadState(filter_pass_to_target_transform_, 1771 CreateTestSharedQuadState(filter_pass_to_target_transform_,
1788 filter_pass_content_rect_, 1772 filter_pass_layer_rect_, filter_pass.get());
1789 filter_pass.get());
1790 RenderPassDrawQuad* filter_pass_quad = 1773 RenderPassDrawQuad* filter_pass_quad =
1791 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); 1774 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
1792 filter_pass_quad->SetNew(shared_state, 1775 filter_pass_quad->SetNew(shared_state, filter_pass_layer_rect_,
1793 filter_pass_content_rect_, 1776 filter_pass_layer_rect_, filter_pass_id,
1794 filter_pass_content_rect_,
1795 filter_pass_id,
1796 0, // mask_resource_id 1777 0, // mask_resource_id
1797 gfx::Vector2dF(), // mask_uv_scale 1778 gfx::Vector2dF(), // mask_uv_scale
1798 gfx::Size(), // mask_texture_size 1779 gfx::Size(), // mask_texture_size
1799 FilterOperations(), // filters 1780 FilterOperations(), // filters
1800 gfx::Vector2dF(), // filters_scale 1781 gfx::Vector2dF(), // filters_scale
1801 this->background_filters_); 1782 this->background_filters_);
1802 } 1783 }
1803 1784
1804 const int kColumnWidth = device_viewport_rect.width() / 3; 1785 const int kColumnWidth = device_viewport_rect.width() / 3;
1805 1786
1806 gfx::Rect left_rect = gfx::Rect(0, 0, kColumnWidth, 20); 1787 gfx::Rect left_rect = gfx::Rect(0, 0, kColumnWidth, 20);
1807 for (int i = 0; left_rect.y() < device_viewport_rect.height(); ++i) { 1788 for (int i = 0; left_rect.y() < device_viewport_rect.height(); ++i) {
1808 SharedQuadState* shared_state = CreateTestSharedQuadState( 1789 SharedQuadState* shared_state = CreateTestSharedQuadState(
1809 identity_content_to_target_transform, left_rect, root_pass.get()); 1790 identity_quad_to_target_transform, left_rect, root_pass.get());
1810 SolidColorDrawQuad* color_quad = 1791 SolidColorDrawQuad* color_quad =
1811 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1792 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1812 color_quad->SetNew( 1793 color_quad->SetNew(
1813 shared_state, left_rect, left_rect, SK_ColorGREEN, false); 1794 shared_state, left_rect, left_rect, SK_ColorGREEN, false);
1814 left_rect += gfx::Vector2d(0, left_rect.height() + 1); 1795 left_rect += gfx::Vector2d(0, left_rect.height() + 1);
1815 } 1796 }
1816 1797
1817 gfx::Rect middle_rect = gfx::Rect(kColumnWidth+1, 0, kColumnWidth, 20); 1798 gfx::Rect middle_rect = gfx::Rect(kColumnWidth+1, 0, kColumnWidth, 20);
1818 for (int i = 0; middle_rect.y() < device_viewport_rect.height(); ++i) { 1799 for (int i = 0; middle_rect.y() < device_viewport_rect.height(); ++i) {
1819 SharedQuadState* shared_state = CreateTestSharedQuadState( 1800 SharedQuadState* shared_state = CreateTestSharedQuadState(
1820 identity_content_to_target_transform, middle_rect, root_pass.get()); 1801 identity_quad_to_target_transform, middle_rect, root_pass.get());
1821 SolidColorDrawQuad* color_quad = 1802 SolidColorDrawQuad* color_quad =
1822 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1803 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1823 color_quad->SetNew( 1804 color_quad->SetNew(
1824 shared_state, middle_rect, middle_rect, SK_ColorRED, false); 1805 shared_state, middle_rect, middle_rect, SK_ColorRED, false);
1825 middle_rect += gfx::Vector2d(0, middle_rect.height() + 1); 1806 middle_rect += gfx::Vector2d(0, middle_rect.height() + 1);
1826 } 1807 }
1827 1808
1828 gfx::Rect right_rect = gfx::Rect((kColumnWidth+1)*2, 0, kColumnWidth, 20); 1809 gfx::Rect right_rect = gfx::Rect((kColumnWidth+1)*2, 0, kColumnWidth, 20);
1829 for (int i = 0; right_rect.y() < device_viewport_rect.height(); ++i) { 1810 for (int i = 0; right_rect.y() < device_viewport_rect.height(); ++i) {
1830 SharedQuadState* shared_state = CreateTestSharedQuadState( 1811 SharedQuadState* shared_state = CreateTestSharedQuadState(
1831 identity_content_to_target_transform, right_rect, root_pass.get()); 1812 identity_quad_to_target_transform, right_rect, root_pass.get());
1832 SolidColorDrawQuad* color_quad = 1813 SolidColorDrawQuad* color_quad =
1833 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1814 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1834 color_quad->SetNew( 1815 color_quad->SetNew(
1835 shared_state, right_rect, right_rect, SK_ColorBLUE, false); 1816 shared_state, right_rect, right_rect, SK_ColorBLUE, false);
1836 right_rect += gfx::Vector2d(0, right_rect.height() + 1); 1817 right_rect += gfx::Vector2d(0, right_rect.height() + 1);
1837 } 1818 }
1838 1819
1839 SharedQuadState* shared_state = 1820 SharedQuadState* shared_state =
1840 CreateTestSharedQuadState(identity_content_to_target_transform, 1821 CreateTestSharedQuadState(identity_quad_to_target_transform,
1841 device_viewport_rect, 1822 device_viewport_rect, root_pass.get());
1842 root_pass.get());
1843 SolidColorDrawQuad* background_quad = 1823 SolidColorDrawQuad* background_quad =
1844 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1824 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1845 background_quad->SetNew(shared_state, 1825 background_quad->SetNew(shared_state,
1846 device_viewport_rect, 1826 device_viewport_rect,
1847 device_viewport_rect, 1827 device_viewport_rect,
1848 SK_ColorWHITE, 1828 SK_ColorWHITE,
1849 false); 1829 false);
1850 1830
1851 pass_list_.push_back(filter_pass.Pass()); 1831 pass_list_.push_back(filter_pass.Pass());
1852 pass_list_.push_back(root_pass.Pass()); 1832 pass_list_.push_back(root_pass.Pass());
1853 } 1833 }
1854 1834
1855 RenderPassList pass_list_; 1835 RenderPassList pass_list_;
1856 FilterOperations background_filters_; 1836 FilterOperations background_filters_;
1857 gfx::Transform filter_pass_to_target_transform_; 1837 gfx::Transform filter_pass_to_target_transform_;
1858 gfx::Rect filter_pass_content_rect_; 1838 gfx::Rect filter_pass_layer_rect_;
1859 }; 1839 };
1860 1840
1861 typedef ::testing::Types<GLRenderer, SoftwareRenderer> 1841 typedef ::testing::Types<GLRenderer, SoftwareRenderer>
1862 BackgroundFilterRendererTypes; 1842 BackgroundFilterRendererTypes;
1863 TYPED_TEST_CASE(RendererPixelTestWithBackgroundFilter, 1843 TYPED_TEST_CASE(RendererPixelTestWithBackgroundFilter,
1864 BackgroundFilterRendererTypes); 1844 BackgroundFilterRendererTypes);
1865 1845
1866 typedef RendererPixelTestWithBackgroundFilter<GLRenderer> 1846 typedef RendererPixelTestWithBackgroundFilter<GLRenderer>
1867 GLRendererPixelTestWithBackgroundFilter; 1847 GLRendererPixelTestWithBackgroundFilter;
1868 1848
1869 // TODO(skaslev): The software renderer does not support filters yet. 1849 // TODO(skaslev): The software renderer does not support filters yet.
1870 TEST_F(GLRendererPixelTestWithBackgroundFilter, InvertFilter) { 1850 TEST_F(GLRendererPixelTestWithBackgroundFilter, InvertFilter) {
1871 this->background_filters_.Append( 1851 this->background_filters_.Append(
1872 FilterOperation::CreateInvertFilter(1.f)); 1852 FilterOperation::CreateInvertFilter(1.f));
1873 1853
1874 this->filter_pass_content_rect_ = gfx::Rect(this->device_viewport_size_); 1854 this->filter_pass_layer_rect_ = gfx::Rect(this->device_viewport_size_);
1875 this->filter_pass_content_rect_.Inset(12, 14, 16, 18); 1855 this->filter_pass_layer_rect_.Inset(12, 14, 16, 18);
1876 1856
1877 this->SetUpRenderPassList(); 1857 this->SetUpRenderPassList();
1878 EXPECT_TRUE(this->RunPixelTest( 1858 EXPECT_TRUE(this->RunPixelTest(
1879 &this->pass_list_, 1859 &this->pass_list_,
1880 base::FilePath(FILE_PATH_LITERAL("background_filter.png")), 1860 base::FilePath(FILE_PATH_LITERAL("background_filter.png")),
1881 ExactPixelComparator(true))); 1861 ExactPixelComparator(true)));
1882 } 1862 }
1883 1863
1884 class ExternalStencilPixelTest : public GLRendererPixelTest { 1864 class ExternalStencilPixelTest : public GLRendererPixelTest {
1885 protected: 1865 protected:
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
1972 scoped_ptr<RenderPass> root_pass = 1952 scoped_ptr<RenderPass> root_pass =
1973 CreateTestRootRenderPass(root_pass_id, viewport_rect); 1953 CreateTestRootRenderPass(root_pass_id, viewport_rect);
1974 root_pass->has_transparent_background = false; 1954 root_pass->has_transparent_background = false;
1975 1955
1976 RenderPassId child_pass_id(2, 2); 1956 RenderPassId child_pass_id(2, 2);
1977 gfx::Rect pass_rect(this->device_viewport_size_); 1957 gfx::Rect pass_rect(this->device_viewport_size_);
1978 gfx::Transform transform_to_root; 1958 gfx::Transform transform_to_root;
1979 scoped_ptr<RenderPass> child_pass = 1959 scoped_ptr<RenderPass> child_pass =
1980 CreateTestRenderPass(child_pass_id, pass_rect, transform_to_root); 1960 CreateTestRenderPass(child_pass_id, pass_rect, transform_to_root);
1981 1961
1982 gfx::Transform content_to_target_transform; 1962 gfx::Transform quad_to_target_transform;
1983 SharedQuadState* shared_state = CreateTestSharedQuadState( 1963 SharedQuadState* shared_state = CreateTestSharedQuadState(
1984 content_to_target_transform, viewport_rect, child_pass.get()); 1964 quad_to_target_transform, viewport_rect, child_pass.get());
1985 1965
1986 gfx::Rect blue_rect(0, 1966 gfx::Rect blue_rect(0,
1987 0, 1967 0,
1988 this->device_viewport_size_.width(), 1968 this->device_viewport_size_.width(),
1989 this->device_viewport_size_.height()); 1969 this->device_viewport_size_.height());
1990 SolidColorDrawQuad* blue = 1970 SolidColorDrawQuad* blue =
1991 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1971 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1992 blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false); 1972 blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false);
1993 1973
1994 SharedQuadState* pass_shared_state = 1974 SharedQuadState* pass_shared_state =
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
2029 ExactPixelComparator(true))); 2009 ExactPixelComparator(true)));
2030 } 2010 }
2031 2011
2032 // Software renderer does not support anti-aliased edges. 2012 // Software renderer does not support anti-aliased edges.
2033 TEST_F(GLRendererPixelTest, AntiAliasing) { 2013 TEST_F(GLRendererPixelTest, AntiAliasing) {
2034 gfx::Rect rect(this->device_viewport_size_); 2014 gfx::Rect rect(this->device_viewport_size_);
2035 2015
2036 RenderPassId id(1, 1); 2016 RenderPassId id(1, 1);
2037 scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect); 2017 scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
2038 2018
2039 gfx::Transform red_content_to_target_transform; 2019 gfx::Transform red_quad_to_target_transform;
2040 red_content_to_target_transform.Rotate(10); 2020 red_quad_to_target_transform.Rotate(10);
2041 SharedQuadState* red_shared_state = CreateTestSharedQuadState( 2021 SharedQuadState* red_shared_state =
2042 red_content_to_target_transform, rect, pass.get()); 2022 CreateTestSharedQuadState(red_quad_to_target_transform, rect, pass.get());
2043 2023
2044 SolidColorDrawQuad* red = pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 2024 SolidColorDrawQuad* red = pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
2045 red->SetNew(red_shared_state, rect, rect, SK_ColorRED, false); 2025 red->SetNew(red_shared_state, rect, rect, SK_ColorRED, false);
2046 2026
2047 gfx::Transform yellow_content_to_target_transform; 2027 gfx::Transform yellow_quad_to_target_transform;
2048 yellow_content_to_target_transform.Rotate(5); 2028 yellow_quad_to_target_transform.Rotate(5);
2049 SharedQuadState* yellow_shared_state = CreateTestSharedQuadState( 2029 SharedQuadState* yellow_shared_state = CreateTestSharedQuadState(
2050 yellow_content_to_target_transform, rect, pass.get()); 2030 yellow_quad_to_target_transform, rect, pass.get());
2051 2031
2052 SolidColorDrawQuad* yellow = 2032 SolidColorDrawQuad* yellow =
2053 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 2033 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
2054 yellow->SetNew(yellow_shared_state, rect, rect, SK_ColorYELLOW, false); 2034 yellow->SetNew(yellow_shared_state, rect, rect, SK_ColorYELLOW, false);
2055 2035
2056 gfx::Transform blue_content_to_target_transform; 2036 gfx::Transform blue_quad_to_target_transform;
2057 SharedQuadState* blue_shared_state = CreateTestSharedQuadState( 2037 SharedQuadState* blue_shared_state = CreateTestSharedQuadState(
2058 blue_content_to_target_transform, rect, pass.get()); 2038 blue_quad_to_target_transform, rect, pass.get());
2059 2039
2060 SolidColorDrawQuad* blue = 2040 SolidColorDrawQuad* blue =
2061 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 2041 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
2062 blue->SetNew(blue_shared_state, rect, rect, SK_ColorBLUE, false); 2042 blue->SetNew(blue_shared_state, rect, rect, SK_ColorBLUE, false);
2063 2043
2064 RenderPassList pass_list; 2044 RenderPassList pass_list;
2065 pass_list.push_back(pass.Pass()); 2045 pass_list.push_back(pass.Pass());
2066 2046
2067 EXPECT_TRUE(this->RunPixelTest( 2047 EXPECT_TRUE(this->RunPixelTest(
2068 &pass_list, 2048 &pass_list,
2069 base::FilePath(FILE_PATH_LITERAL("anti_aliasing.png")), 2049 base::FilePath(FILE_PATH_LITERAL("anti_aliasing.png")),
2070 FuzzyPixelOffByOneComparator(true))); 2050 FuzzyPixelOffByOneComparator(true)));
2071 } 2051 }
2072 2052
2073 // This test tests that anti-aliasing works for axis aligned quads. 2053 // This test tests that anti-aliasing works for axis aligned quads.
2074 // Anti-aliasing is only supported in the gl renderer. 2054 // Anti-aliasing is only supported in the gl renderer.
2075 TEST_F(GLRendererPixelTest, AxisAligned) { 2055 TEST_F(GLRendererPixelTest, AxisAligned) {
2076 gfx::Rect rect(this->device_viewport_size_); 2056 gfx::Rect rect(this->device_viewport_size_);
2077 2057
2078 RenderPassId id(1, 1); 2058 RenderPassId id(1, 1);
2079 gfx::Transform transform_to_root; 2059 gfx::Transform transform_to_root;
2080 scoped_ptr<RenderPass> pass = 2060 scoped_ptr<RenderPass> pass =
2081 CreateTestRenderPass(id, rect, transform_to_root); 2061 CreateTestRenderPass(id, rect, transform_to_root);
2082 2062
2083 gfx::Transform red_content_to_target_transform; 2063 gfx::Transform red_quad_to_target_transform;
2084 red_content_to_target_transform.Translate(50, 50); 2064 red_quad_to_target_transform.Translate(50, 50);
2085 red_content_to_target_transform.Scale( 2065 red_quad_to_target_transform.Scale(0.5f + 1.0f / (rect.width() * 2.0f),
2086 0.5f + 1.0f / (rect.width() * 2.0f), 2066 0.5f + 1.0f / (rect.height() * 2.0f));
2087 0.5f + 1.0f / (rect.height() * 2.0f)); 2067 SharedQuadState* red_shared_state =
2088 SharedQuadState* red_shared_state = CreateTestSharedQuadState( 2068 CreateTestSharedQuadState(red_quad_to_target_transform, rect, pass.get());
2089 red_content_to_target_transform, rect, pass.get());
2090 2069
2091 SolidColorDrawQuad* red = pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 2070 SolidColorDrawQuad* red = pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
2092 red->SetNew(red_shared_state, rect, rect, SK_ColorRED, false); 2071 red->SetNew(red_shared_state, rect, rect, SK_ColorRED, false);
2093 2072
2094 gfx::Transform yellow_content_to_target_transform; 2073 gfx::Transform yellow_quad_to_target_transform;
2095 yellow_content_to_target_transform.Translate(25.5f, 25.5f); 2074 yellow_quad_to_target_transform.Translate(25.5f, 25.5f);
2096 yellow_content_to_target_transform.Scale(0.5f, 0.5f); 2075 yellow_quad_to_target_transform.Scale(0.5f, 0.5f);
2097 SharedQuadState* yellow_shared_state = CreateTestSharedQuadState( 2076 SharedQuadState* yellow_shared_state = CreateTestSharedQuadState(
2098 yellow_content_to_target_transform, rect, pass.get()); 2077 yellow_quad_to_target_transform, rect, pass.get());
2099 2078
2100 SolidColorDrawQuad* yellow = 2079 SolidColorDrawQuad* yellow =
2101 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 2080 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
2102 yellow->SetNew(yellow_shared_state, rect, rect, SK_ColorYELLOW, false); 2081 yellow->SetNew(yellow_shared_state, rect, rect, SK_ColorYELLOW, false);
2103 2082
2104 gfx::Transform blue_content_to_target_transform; 2083 gfx::Transform blue_quad_to_target_transform;
2105 SharedQuadState* blue_shared_state = CreateTestSharedQuadState( 2084 SharedQuadState* blue_shared_state = CreateTestSharedQuadState(
2106 blue_content_to_target_transform, rect, pass.get()); 2085 blue_quad_to_target_transform, rect, pass.get());
2107 2086
2108 SolidColorDrawQuad* blue = 2087 SolidColorDrawQuad* blue =
2109 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 2088 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
2110 blue->SetNew(blue_shared_state, rect, rect, SK_ColorBLUE, false); 2089 blue->SetNew(blue_shared_state, rect, rect, SK_ColorBLUE, false);
2111 2090
2112 RenderPassList pass_list; 2091 RenderPassList pass_list;
2113 pass_list.push_back(pass.Pass()); 2092 pass_list.push_back(pass.Pass());
2114 2093
2115 EXPECT_TRUE(this->RunPixelTest( 2094 EXPECT_TRUE(this->RunPixelTest(
2116 &pass_list, 2095 &pass_list,
2117 base::FilePath(FILE_PATH_LITERAL("axis_aligned.png")), 2096 base::FilePath(FILE_PATH_LITERAL("axis_aligned.png")),
2118 ExactPixelComparator(true))); 2097 ExactPixelComparator(true)));
2119 } 2098 }
2120 2099
2121 // This test tests that forcing anti-aliasing off works as expected. 2100 // This test tests that forcing anti-aliasing off works as expected.
2122 // Anti-aliasing is only supported in the gl renderer. 2101 // Anti-aliasing is only supported in the gl renderer.
2123 TEST_F(GLRendererPixelTest, ForceAntiAliasingOff) { 2102 TEST_F(GLRendererPixelTest, ForceAntiAliasingOff) {
2124 gfx::Rect rect(this->device_viewport_size_); 2103 gfx::Rect rect(this->device_viewport_size_);
2125 2104
2126 RenderPassId id(1, 1); 2105 RenderPassId id(1, 1);
2127 gfx::Transform transform_to_root; 2106 gfx::Transform transform_to_root;
2128 scoped_ptr<RenderPass> pass = 2107 scoped_ptr<RenderPass> pass =
2129 CreateTestRenderPass(id, rect, transform_to_root); 2108 CreateTestRenderPass(id, rect, transform_to_root);
2130 2109
2131 gfx::Transform hole_content_to_target_transform; 2110 gfx::Transform hole_quad_to_target_transform;
2132 hole_content_to_target_transform.Translate(50, 50); 2111 hole_quad_to_target_transform.Translate(50, 50);
2133 hole_content_to_target_transform.Scale( 2112 hole_quad_to_target_transform.Scale(0.5f + 1.0f / (rect.width() * 2.0f),
2134 0.5f + 1.0f / (rect.width() * 2.0f), 2113 0.5f + 1.0f / (rect.height() * 2.0f));
2135 0.5f + 1.0f / (rect.height() * 2.0f));
2136 SharedQuadState* hole_shared_state = CreateTestSharedQuadState( 2114 SharedQuadState* hole_shared_state = CreateTestSharedQuadState(
2137 hole_content_to_target_transform, rect, pass.get()); 2115 hole_quad_to_target_transform, rect, pass.get());
2138 2116
2139 SolidColorDrawQuad* hole = 2117 SolidColorDrawQuad* hole =
2140 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 2118 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
2141 hole->SetAll( 2119 hole->SetAll(
2142 hole_shared_state, rect, rect, rect, false, SK_ColorTRANSPARENT, true); 2120 hole_shared_state, rect, rect, rect, false, SK_ColorTRANSPARENT, true);
2143 2121
2144 gfx::Transform green_content_to_target_transform; 2122 gfx::Transform green_quad_to_target_transform;
2145 SharedQuadState* green_shared_state = CreateTestSharedQuadState( 2123 SharedQuadState* green_shared_state = CreateTestSharedQuadState(
2146 green_content_to_target_transform, rect, pass.get()); 2124 green_quad_to_target_transform, rect, pass.get());
2147 2125
2148 SolidColorDrawQuad* green = 2126 SolidColorDrawQuad* green =
2149 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 2127 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
2150 green->SetNew(green_shared_state, rect, rect, SK_ColorGREEN, false); 2128 green->SetNew(green_shared_state, rect, rect, SK_ColorGREEN, false);
2151 2129
2152 RenderPassList pass_list; 2130 RenderPassList pass_list;
2153 pass_list.push_back(pass.Pass()); 2131 pass_list.push_back(pass.Pass());
2154 2132
2155 EXPECT_TRUE(this->RunPixelTest( 2133 EXPECT_TRUE(this->RunPixelTest(
2156 &pass_list, 2134 &pass_list,
2157 base::FilePath(FILE_PATH_LITERAL("force_anti_aliasing_off.png")), 2135 base::FilePath(FILE_PATH_LITERAL("force_anti_aliasing_off.png")),
2158 ExactPixelComparator(false))); 2136 ExactPixelComparator(false)));
2159 } 2137 }
2160 2138
2161 TEST_F(GLRendererPixelTest, AntiAliasingPerspective) { 2139 TEST_F(GLRendererPixelTest, AntiAliasingPerspective) {
2162 gfx::Rect rect(this->device_viewport_size_); 2140 gfx::Rect rect(this->device_viewport_size_);
2163 2141
2164 scoped_ptr<RenderPass> pass = 2142 scoped_ptr<RenderPass> pass =
2165 CreateTestRootRenderPass(RenderPassId(1, 1), rect); 2143 CreateTestRootRenderPass(RenderPassId(1, 1), rect);
2166 2144
2167 gfx::Rect red_rect(0, 0, 180, 500); 2145 gfx::Rect red_rect(0, 0, 180, 500);
2168 gfx::Transform red_content_to_target_transform( 2146 gfx::Transform red_quad_to_target_transform(
2169 1.0f, 2.4520f, 10.6206f, 19.0f, 2147 1.0f, 2.4520f, 10.6206f, 19.0f, 0.0f, 0.3528f, 5.9737f, 9.5f, 0.0f,
2170 0.0f, 0.3528f, 5.9737f, 9.5f, 2148 -0.2250f, -0.9744f, 0.0f, 0.0f, 0.0225f, 0.0974f, 1.0f);
2171 0.0f, -0.2250f, -0.9744f, 0.0f,
2172 0.0f, 0.0225f, 0.0974f, 1.0f);
2173 SharedQuadState* red_shared_state = CreateTestSharedQuadState( 2149 SharedQuadState* red_shared_state = CreateTestSharedQuadState(
2174 red_content_to_target_transform, red_rect, pass.get()); 2150 red_quad_to_target_transform, red_rect, pass.get());
2175 SolidColorDrawQuad* red = pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 2151 SolidColorDrawQuad* red = pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
2176 red->SetNew(red_shared_state, red_rect, red_rect, SK_ColorRED, false); 2152 red->SetNew(red_shared_state, red_rect, red_rect, SK_ColorRED, false);
2177 2153
2178 gfx::Rect green_rect(19, 7, 180, 10); 2154 gfx::Rect green_rect(19, 7, 180, 10);
2179 SharedQuadState* green_shared_state = 2155 SharedQuadState* green_shared_state =
2180 CreateTestSharedQuadState(gfx::Transform(), green_rect, pass.get()); 2156 CreateTestSharedQuadState(gfx::Transform(), green_rect, pass.get());
2181 SolidColorDrawQuad* green = 2157 SolidColorDrawQuad* green =
2182 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 2158 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
2183 green->SetNew( 2159 green->SetNew(
2184 green_shared_state, green_rect, green_rect, SK_ColorGREEN, false); 2160 green_shared_state, green_rect, green_rect, SK_ColorGREEN, false);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
2221 red_paint.setColor(SK_ColorRED); 2197 red_paint.setColor(SK_ColorRED);
2222 blue_recording->add_draw_rect_with_paint(blue_rect, red_paint); 2198 blue_recording->add_draw_rect_with_paint(blue_rect, red_paint);
2223 SkPaint blue_paint; 2199 SkPaint blue_paint;
2224 blue_paint.setColor(SK_ColorBLUE); 2200 blue_paint.setColor(SK_ColorBLUE);
2225 blue_recording->add_draw_rect_with_paint(blue_clip_rect, blue_paint); 2201 blue_recording->add_draw_rect_with_paint(blue_clip_rect, blue_paint);
2226 blue_recording->Rerecord(); 2202 blue_recording->Rerecord();
2227 2203
2228 scoped_refptr<FakePicturePileImpl> blue_pile = 2204 scoped_refptr<FakePicturePileImpl> blue_pile =
2229 FakePicturePileImpl::CreateFromPile(blue_recording.get(), nullptr); 2205 FakePicturePileImpl::CreateFromPile(blue_recording.get(), nullptr);
2230 2206
2231 gfx::Transform blue_content_to_target_transform; 2207 gfx::Transform blue_quad_to_target_transform;
2232 gfx::Vector2d offset(viewport.bottom_right() - blue_rect.bottom_right()); 2208 gfx::Vector2d offset(viewport.bottom_right() - blue_rect.bottom_right());
2233 blue_content_to_target_transform.Translate(offset.x(), offset.y()); 2209 blue_quad_to_target_transform.Translate(offset.x(), offset.y());
2234 gfx::RectF blue_scissor_rect = blue_clip_rect; 2210 gfx::RectF blue_scissor_rect = blue_clip_rect;
2235 blue_content_to_target_transform.TransformRect(&blue_scissor_rect); 2211 blue_quad_to_target_transform.TransformRect(&blue_scissor_rect);
2236 SharedQuadState* blue_shared_state = 2212 SharedQuadState* blue_shared_state = CreateTestSharedQuadStateClipped(
2237 CreateTestSharedQuadStateClipped(blue_content_to_target_transform, 2213 blue_quad_to_target_transform, blue_rect,
2238 blue_rect, 2214 gfx::ToEnclosingRect(blue_scissor_rect), pass.get());
2239 gfx::ToEnclosingRect(blue_scissor_rect),
2240 pass.get());
2241 2215
2242 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 2216 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
2243 2217
2244 blue_quad->SetNew(blue_shared_state, 2218 blue_quad->SetNew(blue_shared_state,
2245 viewport, // Intentionally bigger than clip. 2219 viewport, // Intentionally bigger than clip.
2246 gfx::Rect(), viewport, gfx::RectF(viewport), 2220 gfx::Rect(), viewport, gfx::RectF(viewport),
2247 viewport.size(), nearest_neighbor, texture_format, viewport, 2221 viewport.size(), nearest_neighbor, texture_format, viewport,
2248 1.f, blue_pile.get()); 2222 1.f, blue_pile.get());
2249 2223
2250 // One viewport-filling green quad. 2224 // One viewport-filling green quad.
2251 scoped_ptr<FakePicturePile> green_recording = 2225 scoped_ptr<FakePicturePile> green_recording =
2252 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); 2226 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size());
2253 SkPaint green_paint; 2227 SkPaint green_paint;
2254 green_paint.setColor(SK_ColorGREEN); 2228 green_paint.setColor(SK_ColorGREEN);
2255 green_recording->add_draw_rect_with_paint(viewport, green_paint); 2229 green_recording->add_draw_rect_with_paint(viewport, green_paint);
2256 green_recording->Rerecord(); 2230 green_recording->Rerecord();
2257 scoped_refptr<FakePicturePileImpl> green_pile = 2231 scoped_refptr<FakePicturePileImpl> green_pile =
2258 FakePicturePileImpl::CreateFromPile(green_recording.get(), nullptr); 2232 FakePicturePileImpl::CreateFromPile(green_recording.get(), nullptr);
2259 2233
2260 gfx::Transform green_content_to_target_transform; 2234 gfx::Transform green_quad_to_target_transform;
2261 SharedQuadState* green_shared_state = CreateTestSharedQuadState( 2235 SharedQuadState* green_shared_state = CreateTestSharedQuadState(
2262 green_content_to_target_transform, viewport, pass.get()); 2236 green_quad_to_target_transform, viewport, pass.get());
2263 2237
2264 PictureDrawQuad* green_quad = 2238 PictureDrawQuad* green_quad =
2265 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 2239 pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
2266 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport, 2240 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport,
2267 gfx::RectF(0.f, 0.f, 1.f, 1.f), viewport.size(), 2241 gfx::RectF(0.f, 0.f, 1.f, 1.f), viewport.size(),
2268 nearest_neighbor, texture_format, viewport, 1.f, 2242 nearest_neighbor, texture_format, viewport, 1.f,
2269 green_pile.get()); 2243 green_pile.get());
2270 2244
2271 RenderPassList pass_list; 2245 RenderPassList pass_list;
2272 pass_list.push_back(pass.Pass()); 2246 pass_list.push_back(pass.Pass());
(...skipping 19 matching lines...) Expand all
2292 // One viewport-filling 0.5-opacity green quad. 2266 // One viewport-filling 0.5-opacity green quad.
2293 scoped_ptr<FakePicturePile> green_recording = 2267 scoped_ptr<FakePicturePile> green_recording =
2294 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); 2268 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size());
2295 SkPaint green_paint; 2269 SkPaint green_paint;
2296 green_paint.setColor(SK_ColorGREEN); 2270 green_paint.setColor(SK_ColorGREEN);
2297 green_recording->add_draw_rect_with_paint(viewport, green_paint); 2271 green_recording->add_draw_rect_with_paint(viewport, green_paint);
2298 green_recording->Rerecord(); 2272 green_recording->Rerecord();
2299 scoped_refptr<FakePicturePileImpl> green_pile = 2273 scoped_refptr<FakePicturePileImpl> green_pile =
2300 FakePicturePileImpl::CreateFromPile(green_recording.get(), nullptr); 2274 FakePicturePileImpl::CreateFromPile(green_recording.get(), nullptr);
2301 2275
2302 gfx::Transform green_content_to_target_transform; 2276 gfx::Transform green_quad_to_target_transform;
2303 SharedQuadState* green_shared_state = CreateTestSharedQuadState( 2277 SharedQuadState* green_shared_state = CreateTestSharedQuadState(
2304 green_content_to_target_transform, viewport, pass.get()); 2278 green_quad_to_target_transform, viewport, pass.get());
2305 green_shared_state->opacity = 0.5f; 2279 green_shared_state->opacity = 0.5f;
2306 2280
2307 PictureDrawQuad* green_quad = 2281 PictureDrawQuad* green_quad =
2308 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 2282 pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
2309 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport, 2283 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport,
2310 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor, 2284 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor,
2311 texture_format, viewport, 1.f, green_pile.get()); 2285 texture_format, viewport, 1.f, green_pile.get());
2312 2286
2313 // One viewport-filling white quad. 2287 // One viewport-filling white quad.
2314 scoped_ptr<FakePicturePile> white_recording = 2288 scoped_ptr<FakePicturePile> white_recording =
2315 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); 2289 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size());
2316 SkPaint white_paint; 2290 SkPaint white_paint;
2317 white_paint.setColor(SK_ColorWHITE); 2291 white_paint.setColor(SK_ColorWHITE);
2318 white_recording->add_draw_rect_with_paint(viewport, white_paint); 2292 white_recording->add_draw_rect_with_paint(viewport, white_paint);
2319 white_recording->Rerecord(); 2293 white_recording->Rerecord();
2320 scoped_refptr<FakePicturePileImpl> white_pile = 2294 scoped_refptr<FakePicturePileImpl> white_pile =
2321 FakePicturePileImpl::CreateFromPile(white_recording.get(), nullptr); 2295 FakePicturePileImpl::CreateFromPile(white_recording.get(), nullptr);
2322 2296
2323 gfx::Transform white_content_to_target_transform; 2297 gfx::Transform white_quad_to_target_transform;
2324 SharedQuadState* white_shared_state = CreateTestSharedQuadState( 2298 SharedQuadState* white_shared_state = CreateTestSharedQuadState(
2325 white_content_to_target_transform, viewport, pass.get()); 2299 white_quad_to_target_transform, viewport, pass.get());
2326 2300
2327 PictureDrawQuad* white_quad = 2301 PictureDrawQuad* white_quad =
2328 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 2302 pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
2329 white_quad->SetNew(white_shared_state, viewport, gfx::Rect(), viewport, 2303 white_quad->SetNew(white_shared_state, viewport, gfx::Rect(), viewport,
2330 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor, 2304 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor,
2331 texture_format, viewport, 1.f, white_pile.get()); 2305 texture_format, viewport, 1.f, white_pile.get());
2332 2306
2333 RenderPassList pass_list; 2307 RenderPassList pass_list;
2334 pass_list.push_back(pass.Pass()); 2308 pass_list.push_back(pass.Pass());
2335 2309
(...skipping 735 matching lines...) Expand 10 before | Expand all | Expand 10 after
3071 ? FILE_PATH_LITERAL("four_blue_green_checkers.png") 3045 ? FILE_PATH_LITERAL("four_blue_green_checkers.png")
3072 : FILE_PATH_LITERAL("checkers_big.png"); 3046 : FILE_PATH_LITERAL("checkers_big.png");
3073 EXPECT_TRUE(this->RunPixelTest(&pass_list, base::FilePath(path), 3047 EXPECT_TRUE(this->RunPixelTest(&pass_list, base::FilePath(path),
3074 ExactPixelComparator(true))); 3048 ExactPixelComparator(true)));
3075 } 3049 }
3076 3050
3077 #endif // !defined(OS_ANDROID) 3051 #endif // !defined(OS_ANDROID)
3078 3052
3079 } // namespace 3053 } // namespace
3080 } // namespace cc 3054 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698