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

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

Issue 935333002: Update from https://crrev.com/316786 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 10 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
« no previous file with comments | « cc/output/overlay_unittest.cc ('k') | cc/output/shader.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/layers/append_quads_data.h" 6 #include "cc/layers/append_quads_data.h"
7 #include "cc/output/gl_renderer.h" 7 #include "cc/output/gl_renderer.h"
8 #include "cc/quads/draw_quad.h" 8 #include "cc/quads/draw_quad.h"
9 #include "cc/quads/picture_draw_quad.h" 9 #include "cc/quads/picture_draw_quad.h"
10 #include "cc/quads/texture_draw_quad.h" 10 #include "cc/quads/texture_draw_quad.h"
(...skipping 1377 matching lines...) Expand 10 before | Expand all | Expand 10 after
1388 1388
1389 RenderPassId id(1, 1); 1389 RenderPassId id(1, 1);
1390 gfx::Transform transform_to_root; 1390 gfx::Transform transform_to_root;
1391 scoped_ptr<RenderPass> pass = 1391 scoped_ptr<RenderPass> pass =
1392 CreateTestRenderPass(id, viewport, transform_to_root); 1392 CreateTestRenderPass(id, viewport, transform_to_root);
1393 1393
1394 // One clipped blue quad in the lower right corner. Outside the clip 1394 // One clipped blue quad in the lower right corner. Outside the clip
1395 // is red, which should not appear. 1395 // is red, which should not appear.
1396 gfx::Rect blue_rect(gfx::Size(100, 100)); 1396 gfx::Rect blue_rect(gfx::Size(100, 100));
1397 gfx::Rect blue_clip_rect(gfx::Point(50, 50), gfx::Size(50, 50)); 1397 gfx::Rect blue_clip_rect(gfx::Point(50, 50), gfx::Size(50, 50));
1398 scoped_refptr<FakePicturePileImpl> blue_pile = 1398
1399 FakePicturePileImpl::CreateFilledPile(pile_tile_size, blue_rect.size()); 1399 scoped_ptr<FakePicturePile> blue_recording =
1400 FakePicturePile::CreateFilledPile(pile_tile_size, blue_rect.size());
1400 SkPaint red_paint; 1401 SkPaint red_paint;
1401 red_paint.setColor(SK_ColorRED); 1402 red_paint.setColor(SK_ColorRED);
1402 blue_pile->add_draw_rect_with_paint(blue_rect, red_paint); 1403 blue_recording->add_draw_rect_with_paint(blue_rect, red_paint);
1403 SkPaint blue_paint; 1404 SkPaint blue_paint;
1404 blue_paint.setColor(SK_ColorBLUE); 1405 blue_paint.setColor(SK_ColorBLUE);
1405 blue_pile->add_draw_rect_with_paint(blue_clip_rect, blue_paint); 1406 blue_recording->add_draw_rect_with_paint(blue_clip_rect, blue_paint);
1406 blue_pile->RerecordPile(); 1407 blue_recording->RerecordPile();
1408
1409 scoped_refptr<FakePicturePileImpl> blue_pile =
1410 FakePicturePileImpl::CreateFromPile(blue_recording.get(), nullptr);
1407 1411
1408 gfx::Transform blue_content_to_target_transform; 1412 gfx::Transform blue_content_to_target_transform;
1409 gfx::Vector2d offset(viewport.bottom_right() - blue_rect.bottom_right()); 1413 gfx::Vector2d offset(viewport.bottom_right() - blue_rect.bottom_right());
1410 blue_content_to_target_transform.Translate(offset.x(), offset.y()); 1414 blue_content_to_target_transform.Translate(offset.x(), offset.y());
1411 gfx::RectF blue_scissor_rect = blue_clip_rect; 1415 gfx::RectF blue_scissor_rect = blue_clip_rect;
1412 blue_content_to_target_transform.TransformRect(&blue_scissor_rect); 1416 blue_content_to_target_transform.TransformRect(&blue_scissor_rect);
1413 SharedQuadState* blue_shared_state = 1417 SharedQuadState* blue_shared_state =
1414 CreateTestSharedQuadStateClipped(blue_content_to_target_transform, 1418 CreateTestSharedQuadStateClipped(blue_content_to_target_transform,
1415 blue_rect, 1419 blue_rect,
1416 gfx::ToEnclosingRect(blue_scissor_rect), 1420 gfx::ToEnclosingRect(blue_scissor_rect),
1417 pass.get()); 1421 pass.get());
1418 1422
1419 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 1423 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
1420 1424
1421 blue_quad->SetNew(blue_shared_state, 1425 blue_quad->SetNew(blue_shared_state,
1422 viewport, // Intentionally bigger than clip. 1426 viewport, // Intentionally bigger than clip.
1423 gfx::Rect(), viewport, gfx::RectF(viewport), 1427 gfx::Rect(), viewport, gfx::RectF(viewport),
1424 viewport.size(), nearest_neighbor, texture_format, viewport, 1428 viewport.size(), nearest_neighbor, texture_format, viewport,
1425 1.f, blue_pile.get()); 1429 1.f, blue_pile.get());
1426 1430
1427 // One viewport-filling green quad. 1431 // One viewport-filling green quad.
1428 scoped_refptr<FakePicturePileImpl> green_pile = 1432 scoped_ptr<FakePicturePile> green_recording =
1429 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); 1433 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size());
1430 SkPaint green_paint; 1434 SkPaint green_paint;
1431 green_paint.setColor(SK_ColorGREEN); 1435 green_paint.setColor(SK_ColorGREEN);
1432 green_pile->add_draw_rect_with_paint(viewport, green_paint); 1436 green_recording->add_draw_rect_with_paint(viewport, green_paint);
1433 green_pile->RerecordPile(); 1437 green_recording->RerecordPile();
1438 scoped_refptr<FakePicturePileImpl> green_pile =
1439 FakePicturePileImpl::CreateFromPile(green_recording.get(), nullptr);
1434 1440
1435 gfx::Transform green_content_to_target_transform; 1441 gfx::Transform green_content_to_target_transform;
1436 SharedQuadState* green_shared_state = CreateTestSharedQuadState( 1442 SharedQuadState* green_shared_state = CreateTestSharedQuadState(
1437 green_content_to_target_transform, viewport, pass.get()); 1443 green_content_to_target_transform, viewport, pass.get());
1438 1444
1439 PictureDrawQuad* green_quad = 1445 PictureDrawQuad* green_quad =
1440 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 1446 pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
1441 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport, 1447 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport,
1442 gfx::RectF(0.f, 0.f, 1.f, 1.f), viewport.size(), 1448 gfx::RectF(0.f, 0.f, 1.f, 1.f), viewport.size(),
1443 nearest_neighbor, texture_format, viewport, 1.f, 1449 nearest_neighbor, texture_format, viewport, 1.f,
(...skipping 14 matching lines...) Expand all
1458 gfx::Rect viewport(this->device_viewport_size_); 1464 gfx::Rect viewport(this->device_viewport_size_);
1459 ResourceFormat texture_format = RGBA_8888; 1465 ResourceFormat texture_format = RGBA_8888;
1460 bool nearest_neighbor = false; 1466 bool nearest_neighbor = false;
1461 1467
1462 RenderPassId id(1, 1); 1468 RenderPassId id(1, 1);
1463 gfx::Transform transform_to_root; 1469 gfx::Transform transform_to_root;
1464 scoped_ptr<RenderPass> pass = 1470 scoped_ptr<RenderPass> pass =
1465 CreateTestRenderPass(id, viewport, transform_to_root); 1471 CreateTestRenderPass(id, viewport, transform_to_root);
1466 1472
1467 // One viewport-filling 0.5-opacity green quad. 1473 // One viewport-filling 0.5-opacity green quad.
1468 scoped_refptr<FakePicturePileImpl> green_pile = 1474 scoped_ptr<FakePicturePile> green_recording =
1469 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); 1475 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size());
1470 SkPaint green_paint; 1476 SkPaint green_paint;
1471 green_paint.setColor(SK_ColorGREEN); 1477 green_paint.setColor(SK_ColorGREEN);
1472 green_pile->add_draw_rect_with_paint(viewport, green_paint); 1478 green_recording->add_draw_rect_with_paint(viewport, green_paint);
1473 green_pile->RerecordPile(); 1479 green_recording->RerecordPile();
1480 scoped_refptr<FakePicturePileImpl> green_pile =
1481 FakePicturePileImpl::CreateFromPile(green_recording.get(), nullptr);
1474 1482
1475 gfx::Transform green_content_to_target_transform; 1483 gfx::Transform green_content_to_target_transform;
1476 SharedQuadState* green_shared_state = CreateTestSharedQuadState( 1484 SharedQuadState* green_shared_state = CreateTestSharedQuadState(
1477 green_content_to_target_transform, viewport, pass.get()); 1485 green_content_to_target_transform, viewport, pass.get());
1478 green_shared_state->opacity = 0.5f; 1486 green_shared_state->opacity = 0.5f;
1479 1487
1480 PictureDrawQuad* green_quad = 1488 PictureDrawQuad* green_quad =
1481 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 1489 pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
1482 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport, 1490 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport,
1483 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor, 1491 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor,
1484 texture_format, viewport, 1.f, green_pile.get()); 1492 texture_format, viewport, 1.f, green_pile.get());
1485 1493
1486 // One viewport-filling white quad. 1494 // One viewport-filling white quad.
1487 scoped_refptr<FakePicturePileImpl> white_pile = 1495 scoped_ptr<FakePicturePile> white_recording =
1488 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); 1496 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size());
1489 SkPaint white_paint; 1497 SkPaint white_paint;
1490 white_paint.setColor(SK_ColorWHITE); 1498 white_paint.setColor(SK_ColorWHITE);
1491 white_pile->add_draw_rect_with_paint(viewport, white_paint); 1499 white_recording->add_draw_rect_with_paint(viewport, white_paint);
1492 white_pile->RerecordPile(); 1500 white_recording->RerecordPile();
1501 scoped_refptr<FakePicturePileImpl> white_pile =
1502 FakePicturePileImpl::CreateFromPile(white_recording.get(), nullptr);
1493 1503
1494 gfx::Transform white_content_to_target_transform; 1504 gfx::Transform white_content_to_target_transform;
1495 SharedQuadState* white_shared_state = CreateTestSharedQuadState( 1505 SharedQuadState* white_shared_state = CreateTestSharedQuadState(
1496 white_content_to_target_transform, viewport, pass.get()); 1506 white_content_to_target_transform, viewport, pass.get());
1497 1507
1498 PictureDrawQuad* white_quad = 1508 PictureDrawQuad* white_quad =
1499 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 1509 pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
1500 white_quad->SetNew(white_shared_state, viewport, gfx::Rect(), viewport, 1510 white_quad->SetNew(white_shared_state, viewport, gfx::Rect(), viewport,
1501 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor, 1511 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor,
1502 texture_format, viewport, 1.f, white_pile.get()); 1512 texture_format, viewport, 1.f, white_pile.get());
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1546 bitmap.allocN32Pixels(2, 2); 1556 bitmap.allocN32Pixels(2, 2);
1547 { 1557 {
1548 SkAutoLockPixels lock(bitmap); 1558 SkAutoLockPixels lock(bitmap);
1549 SkCanvas canvas(bitmap); 1559 SkCanvas canvas(bitmap);
1550 canvas.drawPoint(0, 0, SK_ColorGREEN); 1560 canvas.drawPoint(0, 0, SK_ColorGREEN);
1551 canvas.drawPoint(0, 1, SK_ColorBLUE); 1561 canvas.drawPoint(0, 1, SK_ColorBLUE);
1552 canvas.drawPoint(1, 0, SK_ColorBLUE); 1562 canvas.drawPoint(1, 0, SK_ColorBLUE);
1553 canvas.drawPoint(1, 1, SK_ColorGREEN); 1563 canvas.drawPoint(1, 1, SK_ColorGREEN);
1554 } 1564 }
1555 1565
1556 scoped_refptr<FakePicturePileImpl> pile = 1566 scoped_ptr<FakePicturePile> recording =
1557 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); 1567 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size());
1558 SkPaint paint; 1568 SkPaint paint;
1559 paint.setFilterLevel(SkPaint::kLow_FilterLevel); 1569 paint.setFilterLevel(SkPaint::kLow_FilterLevel);
1560 pile->add_draw_bitmap_with_paint(bitmap, gfx::Point(), paint); 1570 recording->add_draw_bitmap_with_paint(bitmap, gfx::Point(), paint);
1561 pile->RerecordPile(); 1571 recording->RerecordPile();
1572 scoped_refptr<FakePicturePileImpl> pile =
1573 FakePicturePileImpl::CreateFromPile(recording.get(), nullptr);
1562 1574
1563 gfx::Transform content_to_target_transform; 1575 gfx::Transform content_to_target_transform;
1564 SharedQuadState* shared_state = CreateTestSharedQuadState( 1576 SharedQuadState* shared_state = CreateTestSharedQuadState(
1565 content_to_target_transform, viewport, pass.get()); 1577 content_to_target_transform, viewport, pass.get());
1566 1578
1567 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 1579 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
1568 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport, 1580 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport,
1569 gfx::RectF(0, 0, 2, 2), viewport.size(), nearest_neighbor, 1581 gfx::RectF(0, 0, 2, 2), viewport.size(), nearest_neighbor,
1570 texture_format, viewport, 1.f, pile.get()); 1582 texture_format, viewport, 1.f, pile.get());
1571 1583
(...skipping 24 matching lines...) Expand all
1596 bitmap.allocN32Pixels(2, 2); 1608 bitmap.allocN32Pixels(2, 2);
1597 { 1609 {
1598 SkAutoLockPixels lock(bitmap); 1610 SkAutoLockPixels lock(bitmap);
1599 SkCanvas canvas(bitmap); 1611 SkCanvas canvas(bitmap);
1600 canvas.drawPoint(0, 0, SK_ColorGREEN); 1612 canvas.drawPoint(0, 0, SK_ColorGREEN);
1601 canvas.drawPoint(0, 1, SK_ColorBLUE); 1613 canvas.drawPoint(0, 1, SK_ColorBLUE);
1602 canvas.drawPoint(1, 0, SK_ColorBLUE); 1614 canvas.drawPoint(1, 0, SK_ColorBLUE);
1603 canvas.drawPoint(1, 1, SK_ColorGREEN); 1615 canvas.drawPoint(1, 1, SK_ColorGREEN);
1604 } 1616 }
1605 1617
1606 scoped_refptr<FakePicturePileImpl> pile = 1618 scoped_ptr<FakePicturePile> recording =
1607 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); 1619 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size());
1608 SkPaint paint; 1620 SkPaint paint;
1609 paint.setFilterLevel(SkPaint::kLow_FilterLevel); 1621 paint.setFilterLevel(SkPaint::kLow_FilterLevel);
1610 pile->add_draw_bitmap_with_paint(bitmap, gfx::Point(), paint); 1622 recording->add_draw_bitmap_with_paint(bitmap, gfx::Point(), paint);
1611 pile->RerecordPile(); 1623 recording->RerecordPile();
1624 scoped_refptr<FakePicturePileImpl> pile =
1625 FakePicturePileImpl::CreateFromPile(recording.get(), nullptr);
1612 1626
1613 gfx::Transform content_to_target_transform; 1627 gfx::Transform content_to_target_transform;
1614 SharedQuadState* shared_state = CreateTestSharedQuadState( 1628 SharedQuadState* shared_state = CreateTestSharedQuadState(
1615 content_to_target_transform, viewport, pass.get()); 1629 content_to_target_transform, viewport, pass.get());
1616 1630
1617 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 1631 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
1618 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport, 1632 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport,
1619 gfx::RectF(0, 0, 2, 2), viewport.size(), nearest_neighbor, 1633 gfx::RectF(0, 0, 2, 2), viewport.size(), nearest_neighbor,
1620 texture_format, viewport, 1.f, pile.get()); 1634 texture_format, viewport, 1.f, pile.get());
1621 1635
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
1698 scoped_ptr<RenderPass> pass = 1712 scoped_ptr<RenderPass> pass =
1699 CreateTestRenderPass(id, viewport, transform_to_root); 1713 CreateTestRenderPass(id, viewport, transform_to_root);
1700 1714
1701 // As scaling up the blue checkerboards will cause sampling on the GPU, 1715 // As scaling up the blue checkerboards will cause sampling on the GPU,
1702 // a few extra "cleanup rects" need to be added to clobber the blending 1716 // a few extra "cleanup rects" need to be added to clobber the blending
1703 // to make the output image more clean. This will also test subrects 1717 // to make the output image more clean. This will also test subrects
1704 // of the layer. 1718 // of the layer.
1705 gfx::Transform green_content_to_target_transform; 1719 gfx::Transform green_content_to_target_transform;
1706 gfx::Rect green_rect1(gfx::Point(80, 0), gfx::Size(20, 100)); 1720 gfx::Rect green_rect1(gfx::Point(80, 0), gfx::Size(20, 100));
1707 gfx::Rect green_rect2(gfx::Point(0, 80), gfx::Size(100, 20)); 1721 gfx::Rect green_rect2(gfx::Point(0, 80), gfx::Size(100, 20));
1708 scoped_refptr<FakePicturePileImpl> green_pile = 1722
1709 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); 1723 scoped_ptr<FakePicturePile> green_recording =
1724 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size());
1725
1710 SkPaint red_paint; 1726 SkPaint red_paint;
1711 red_paint.setColor(SK_ColorRED); 1727 red_paint.setColor(SK_ColorRED);
1712 green_pile->add_draw_rect_with_paint(viewport, red_paint); 1728 green_recording->add_draw_rect_with_paint(viewport, red_paint);
1713 SkPaint green_paint; 1729 SkPaint green_paint;
1714 green_paint.setColor(SK_ColorGREEN); 1730 green_paint.setColor(SK_ColorGREEN);
1715 green_pile->add_draw_rect_with_paint(green_rect1, green_paint); 1731 green_recording->add_draw_rect_with_paint(green_rect1, green_paint);
1716 green_pile->add_draw_rect_with_paint(green_rect2, green_paint); 1732 green_recording->add_draw_rect_with_paint(green_rect2, green_paint);
1717 green_pile->RerecordPile(); 1733 green_recording->RerecordPile();
1734 scoped_refptr<FakePicturePileImpl> green_pile =
1735 FakePicturePileImpl::CreateFromPile(green_recording.get(), nullptr);
1718 1736
1719 SharedQuadState* top_right_green_shared_quad_state = 1737 SharedQuadState* top_right_green_shared_quad_state =
1720 CreateTestSharedQuadState( 1738 CreateTestSharedQuadState(
1721 green_content_to_target_transform, viewport, pass.get()); 1739 green_content_to_target_transform, viewport, pass.get());
1722 1740
1723 PictureDrawQuad* green_quad1 = 1741 PictureDrawQuad* green_quad1 =
1724 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 1742 pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
1725 green_quad1->SetNew(top_right_green_shared_quad_state, green_rect1, 1743 green_quad1->SetNew(top_right_green_shared_quad_state, green_rect1,
1726 gfx::Rect(), green_rect1, gfx::RectF(green_rect1.size()), 1744 gfx::Rect(), green_rect1, gfx::RectF(green_rect1.size()),
1727 green_rect1.size(), nearest_neighbor, texture_format, 1745 green_rect1.size(), nearest_neighbor, texture_format,
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1762 gfx::RectF blue_layer_rect2(gfx::PointF(8.0f, 6.5f), gfx::SizeF(2.5f, 2.5f)); 1780 gfx::RectF blue_layer_rect2(gfx::PointF(8.0f, 6.5f), gfx::SizeF(2.5f, 2.5f));
1763 gfx::RectF union_layer_rect = blue_layer_rect1; 1781 gfx::RectF union_layer_rect = blue_layer_rect1;
1764 union_layer_rect.Union(blue_layer_rect2); 1782 union_layer_rect.Union(blue_layer_rect2);
1765 1783
1766 // Because scaling up will cause sampling outside the rects, add one extra 1784 // Because scaling up will cause sampling outside the rects, add one extra
1767 // pixel of buffer at the final content scale. 1785 // pixel of buffer at the final content scale.
1768 float inset = -1.f / contents_scale; 1786 float inset = -1.f / contents_scale;
1769 blue_layer_rect1.Inset(inset, inset, inset, inset); 1787 blue_layer_rect1.Inset(inset, inset, inset, inset);
1770 blue_layer_rect2.Inset(inset, inset, inset, inset); 1788 blue_layer_rect2.Inset(inset, inset, inset, inset);
1771 1789
1772 scoped_refptr<FakePicturePileImpl> pile = 1790 scoped_ptr<FakePicturePile> recording =
1773 FakePicturePileImpl::CreateFilledPile(pile_tile_size, layer_rect.size()); 1791 FakePicturePile::CreateFilledPile(pile_tile_size, layer_rect.size());
1774 1792
1775 Region outside(layer_rect); 1793 Region outside(layer_rect);
1776 outside.Subtract(gfx::ToEnclosingRect(union_layer_rect)); 1794 outside.Subtract(gfx::ToEnclosingRect(union_layer_rect));
1777 for (Region::Iterator iter(outside); iter.has_rect(); iter.next()) { 1795 for (Region::Iterator iter(outside); iter.has_rect(); iter.next()) {
1778 pile->add_draw_rect_with_paint(iter.rect(), red_paint); 1796 recording->add_draw_rect_with_paint(iter.rect(), red_paint);
1779 } 1797 }
1780 1798
1781 SkPaint blue_paint; 1799 SkPaint blue_paint;
1782 blue_paint.setColor(SK_ColorBLUE); 1800 blue_paint.setColor(SK_ColorBLUE);
1783 pile->add_draw_rect_with_paint(blue_layer_rect1, blue_paint); 1801 recording->add_draw_rect_with_paint(blue_layer_rect1, blue_paint);
1784 pile->add_draw_rect_with_paint(blue_layer_rect2, blue_paint); 1802 recording->add_draw_rect_with_paint(blue_layer_rect2, blue_paint);
1785 pile->RerecordPile(); 1803 recording->RerecordPile();
1804 scoped_refptr<FakePicturePileImpl> pile =
1805 FakePicturePileImpl::CreateFromPile(recording.get(), nullptr);
1786 1806
1787 gfx::Rect content_rect( 1807 gfx::Rect content_rect(
1788 gfx::ScaleToEnclosingRect(layer_rect, contents_scale)); 1808 gfx::ScaleToEnclosingRect(layer_rect, contents_scale));
1789 gfx::Rect content_union_rect( 1809 gfx::Rect content_union_rect(
1790 gfx::ToEnclosingRect(gfx::ScaleRect(union_layer_rect, contents_scale))); 1810 gfx::ToEnclosingRect(gfx::ScaleRect(union_layer_rect, contents_scale)));
1791 1811
1792 // At a scale of 4x the rectangles with a width of 2.5 will take up 10 pixels, 1812 // At a scale of 4x the rectangles with a width of 2.5 will take up 10 pixels,
1793 // so scale an additional 10x to make them 100x100. 1813 // so scale an additional 10x to make them 100x100.
1794 gfx::Transform content_to_target_transform; 1814 gfx::Transform content_to_target_transform;
1795 content_to_target_transform.Scale(10.0, 10.0); 1815 content_to_target_transform.Scale(10.0, 10.0);
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
1986 gfx::Rect viewport(this->device_viewport_size_); 2006 gfx::Rect viewport(this->device_viewport_size_);
1987 ResourceFormat texture_format = RGBA_4444; 2007 ResourceFormat texture_format = RGBA_4444;
1988 bool nearest_neighbor = false; 2008 bool nearest_neighbor = false;
1989 2009
1990 RenderPassId id(1, 1); 2010 RenderPassId id(1, 1);
1991 gfx::Transform transform_to_root; 2011 gfx::Transform transform_to_root;
1992 scoped_ptr<RenderPass> pass = 2012 scoped_ptr<RenderPass> pass =
1993 CreateTestRenderPass(id, viewport, transform_to_root); 2013 CreateTestRenderPass(id, viewport, transform_to_root);
1994 2014
1995 // One viewport-filling blue quad 2015 // One viewport-filling blue quad
1996 scoped_refptr<FakePicturePileImpl> blue_pile = 2016 scoped_ptr<FakePicturePile> blue_recording =
1997 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); 2017 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size());
1998 SkPaint blue_paint; 2018 SkPaint blue_paint;
1999 blue_paint.setColor(SK_ColorBLUE); 2019 blue_paint.setColor(SK_ColorBLUE);
2000 blue_pile->add_draw_rect_with_paint(viewport, blue_paint); 2020 blue_recording->add_draw_rect_with_paint(viewport, blue_paint);
2001 blue_pile->RerecordPile(); 2021 blue_recording->RerecordPile();
2022 scoped_refptr<FakePicturePileImpl> blue_pile =
2023 FakePicturePileImpl::CreateFromPile(blue_recording.get(), nullptr);
2002 2024
2003 gfx::Transform blue_content_to_target_transform; 2025 gfx::Transform blue_content_to_target_transform;
2004 SharedQuadState* blue_shared_state = CreateTestSharedQuadState( 2026 SharedQuadState* blue_shared_state = CreateTestSharedQuadState(
2005 blue_content_to_target_transform, viewport, pass.get()); 2027 blue_content_to_target_transform, viewport, pass.get());
2006 2028
2007 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 2029 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
2008 blue_quad->SetNew(blue_shared_state, viewport, gfx::Rect(), viewport, 2030 blue_quad->SetNew(blue_shared_state, viewport, gfx::Rect(), viewport,
2009 gfx::RectF(0.f, 0.f, 1.f, 1.f), viewport.size(), 2031 gfx::RectF(0.f, 0.f, 1.f, 1.f), viewport.size(),
2010 nearest_neighbor, texture_format, viewport, 1.f, 2032 nearest_neighbor, texture_format, viewport, 1.f,
2011 blue_pile.get()); 2033 blue_pile.get());
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
2078 EXPECT_TRUE(this->RunPixelTest( 2100 EXPECT_TRUE(this->RunPixelTest(
2079 &pass_list, 2101 &pass_list,
2080 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")), 2102 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")),
2081 FuzzyPixelOffByOneComparator(true))); 2103 FuzzyPixelOffByOneComparator(true)));
2082 } 2104 }
2083 2105
2084 #endif // !defined(OS_ANDROID) 2106 #endif // !defined(OS_ANDROID)
2085 2107
2086 } // namespace 2108 } // namespace
2087 } // namespace cc 2109 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/overlay_unittest.cc ('k') | cc/output/shader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698