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

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

Issue 723343002: Update from https://crrev.com/304121 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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/program_binding.h ('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 1400 matching lines...) Expand 10 before | Expand all | Expand 10 after
1411 SharedQuadState* blue_shared_state = 1411 SharedQuadState* blue_shared_state =
1412 CreateTestSharedQuadStateClipped(blue_content_to_target_transform, 1412 CreateTestSharedQuadStateClipped(blue_content_to_target_transform,
1413 blue_rect, 1413 blue_rect,
1414 gfx::ToEnclosingRect(blue_scissor_rect), 1414 gfx::ToEnclosingRect(blue_scissor_rect),
1415 pass.get()); 1415 pass.get());
1416 1416
1417 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 1417 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
1418 1418
1419 blue_quad->SetNew(blue_shared_state, 1419 blue_quad->SetNew(blue_shared_state,
1420 viewport, // Intentionally bigger than clip. 1420 viewport, // Intentionally bigger than clip.
1421 gfx::Rect(), 1421 gfx::Rect(), viewport, gfx::RectF(viewport),
1422 viewport, 1422 viewport.size(), texture_format, viewport, 1.f,
1423 gfx::RectF(viewport), 1423 blue_pile.get());
1424 viewport.size(),
1425 texture_format,
1426 viewport,
1427 1.f,
1428 PicturePileImpl::CreateFromOther(blue_pile.get()));
1429 1424
1430 // One viewport-filling green quad. 1425 // One viewport-filling green quad.
1431 scoped_refptr<FakePicturePileImpl> green_pile = 1426 scoped_refptr<FakePicturePileImpl> green_pile =
1432 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); 1427 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size());
1433 SkPaint green_paint; 1428 SkPaint green_paint;
1434 green_paint.setColor(SK_ColorGREEN); 1429 green_paint.setColor(SK_ColorGREEN);
1435 green_pile->add_draw_rect_with_paint(viewport, green_paint); 1430 green_pile->add_draw_rect_with_paint(viewport, green_paint);
1436 green_pile->RerecordPile(); 1431 green_pile->RerecordPile();
1437 1432
1438 gfx::Transform green_content_to_target_transform; 1433 gfx::Transform green_content_to_target_transform;
1439 SharedQuadState* green_shared_state = CreateTestSharedQuadState( 1434 SharedQuadState* green_shared_state = CreateTestSharedQuadState(
1440 green_content_to_target_transform, viewport, pass.get()); 1435 green_content_to_target_transform, viewport, pass.get());
1441 1436
1442 PictureDrawQuad* green_quad = 1437 PictureDrawQuad* green_quad =
1443 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 1438 pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
1444 green_quad->SetNew(green_shared_state, 1439 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport,
1445 viewport, 1440 gfx::RectF(0.f, 0.f, 1.f, 1.f), viewport.size(),
1446 gfx::Rect(), 1441 texture_format, viewport, 1.f, green_pile.get());
1447 viewport,
1448 gfx::RectF(0.f, 0.f, 1.f, 1.f),
1449 viewport.size(),
1450 texture_format,
1451 viewport,
1452 1.f,
1453 PicturePileImpl::CreateFromOther(green_pile.get()));
1454 1442
1455 RenderPassList pass_list; 1443 RenderPassList pass_list;
1456 pass_list.push_back(pass.Pass()); 1444 pass_list.push_back(pass.Pass());
1457 1445
1458 EXPECT_TRUE(this->RunPixelTest( 1446 EXPECT_TRUE(this->RunPixelTest(
1459 &pass_list, 1447 &pass_list,
1460 base::FilePath(FILE_PATH_LITERAL("green_with_blue_corner.png")), 1448 base::FilePath(FILE_PATH_LITERAL("green_with_blue_corner.png")),
1461 ExactPixelComparator(true))); 1449 ExactPixelComparator(true)));
1462 } 1450 }
1463 1451
(...skipping 16 matching lines...) Expand all
1480 green_pile->add_draw_rect_with_paint(viewport, green_paint); 1468 green_pile->add_draw_rect_with_paint(viewport, green_paint);
1481 green_pile->RerecordPile(); 1469 green_pile->RerecordPile();
1482 1470
1483 gfx::Transform green_content_to_target_transform; 1471 gfx::Transform green_content_to_target_transform;
1484 SharedQuadState* green_shared_state = CreateTestSharedQuadState( 1472 SharedQuadState* green_shared_state = CreateTestSharedQuadState(
1485 green_content_to_target_transform, viewport, pass.get()); 1473 green_content_to_target_transform, viewport, pass.get());
1486 green_shared_state->opacity = 0.5f; 1474 green_shared_state->opacity = 0.5f;
1487 1475
1488 PictureDrawQuad* green_quad = 1476 PictureDrawQuad* green_quad =
1489 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 1477 pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
1490 green_quad->SetNew(green_shared_state, 1478 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport,
1491 viewport, 1479 gfx::RectF(0, 0, 1, 1), viewport.size(), texture_format,
1492 gfx::Rect(), 1480 viewport, 1.f, green_pile.get());
1493 viewport,
1494 gfx::RectF(0, 0, 1, 1),
1495 viewport.size(),
1496 texture_format,
1497 viewport,
1498 1.f,
1499 PicturePileImpl::CreateFromOther(green_pile.get()));
1500 1481
1501 // One viewport-filling white quad. 1482 // One viewport-filling white quad.
1502 scoped_refptr<FakePicturePileImpl> white_pile = 1483 scoped_refptr<FakePicturePileImpl> white_pile =
1503 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); 1484 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size());
1504 SkPaint white_paint; 1485 SkPaint white_paint;
1505 white_paint.setColor(SK_ColorWHITE); 1486 white_paint.setColor(SK_ColorWHITE);
1506 white_pile->add_draw_rect_with_paint(viewport, white_paint); 1487 white_pile->add_draw_rect_with_paint(viewport, white_paint);
1507 white_pile->RerecordPile(); 1488 white_pile->RerecordPile();
1508 1489
1509 gfx::Transform white_content_to_target_transform; 1490 gfx::Transform white_content_to_target_transform;
1510 SharedQuadState* white_shared_state = CreateTestSharedQuadState( 1491 SharedQuadState* white_shared_state = CreateTestSharedQuadState(
1511 white_content_to_target_transform, viewport, pass.get()); 1492 white_content_to_target_transform, viewport, pass.get());
1512 1493
1513 PictureDrawQuad* white_quad = 1494 PictureDrawQuad* white_quad =
1514 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 1495 pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
1515 white_quad->SetNew(white_shared_state, 1496 white_quad->SetNew(white_shared_state, viewport, gfx::Rect(), viewport,
1516 viewport, 1497 gfx::RectF(0, 0, 1, 1), viewport.size(), texture_format,
1517 gfx::Rect(), 1498 viewport, 1.f, white_pile.get());
1518 viewport,
1519 gfx::RectF(0, 0, 1, 1),
1520 viewport.size(),
1521 texture_format,
1522 viewport,
1523 1.f,
1524 PicturePileImpl::CreateFromOther(white_pile.get()));
1525 1499
1526 RenderPassList pass_list; 1500 RenderPassList pass_list;
1527 pass_list.push_back(pass.Pass()); 1501 pass_list.push_back(pass.Pass());
1528 1502
1529 EXPECT_TRUE(this->RunPixelTest( 1503 EXPECT_TRUE(this->RunPixelTest(
1530 &pass_list, 1504 &pass_list,
1531 base::FilePath(FILE_PATH_LITERAL("green_alpha.png")), 1505 base::FilePath(FILE_PATH_LITERAL("green_alpha.png")),
1532 FuzzyPixelOffByOneComparator(true))); 1506 FuzzyPixelOffByOneComparator(true)));
1533 } 1507 }
1534 1508
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
1579 SkPaint paint; 1553 SkPaint paint;
1580 paint.setFilterLevel(SkPaint::kLow_FilterLevel); 1554 paint.setFilterLevel(SkPaint::kLow_FilterLevel);
1581 pile->add_draw_bitmap_with_paint(bitmap, gfx::Point(), paint); 1555 pile->add_draw_bitmap_with_paint(bitmap, gfx::Point(), paint);
1582 pile->RerecordPile(); 1556 pile->RerecordPile();
1583 1557
1584 gfx::Transform content_to_target_transform; 1558 gfx::Transform content_to_target_transform;
1585 SharedQuadState* shared_state = CreateTestSharedQuadState( 1559 SharedQuadState* shared_state = CreateTestSharedQuadState(
1586 content_to_target_transform, viewport, pass.get()); 1560 content_to_target_transform, viewport, pass.get());
1587 1561
1588 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 1562 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
1589 quad->SetNew(shared_state, 1563 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport,
1590 viewport, 1564 gfx::RectF(0, 0, 2, 2), viewport.size(), texture_format,
1591 gfx::Rect(), 1565 viewport, 1.f, pile.get());
1592 viewport,
1593 gfx::RectF(0, 0, 2, 2),
1594 viewport.size(),
1595 texture_format,
1596 viewport,
1597 1.f,
1598 PicturePileImpl::CreateFromOther(pile.get()));
1599 1566
1600 RenderPassList pass_list; 1567 RenderPassList pass_list;
1601 pass_list.push_back(pass.Pass()); 1568 pass_list.push_back(pass.Pass());
1602 1569
1603 this->disable_picture_quad_image_filtering_ = true; 1570 this->disable_picture_quad_image_filtering_ = true;
1604 1571
1605 EXPECT_TRUE(this->RunPixelTest( 1572 EXPECT_TRUE(this->RunPixelTest(
1606 &pass_list, 1573 &pass_list,
1607 base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers.png")), 1574 base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers.png")),
1608 ExactPixelComparator(true))); 1575 ExactPixelComparator(true)));
(...skipping 27 matching lines...) Expand all
1636 green_pile->add_draw_rect_with_paint(green_rect1, green_paint); 1603 green_pile->add_draw_rect_with_paint(green_rect1, green_paint);
1637 green_pile->add_draw_rect_with_paint(green_rect2, green_paint); 1604 green_pile->add_draw_rect_with_paint(green_rect2, green_paint);
1638 green_pile->RerecordPile(); 1605 green_pile->RerecordPile();
1639 1606
1640 SharedQuadState* top_right_green_shared_quad_state = 1607 SharedQuadState* top_right_green_shared_quad_state =
1641 CreateTestSharedQuadState( 1608 CreateTestSharedQuadState(
1642 green_content_to_target_transform, viewport, pass.get()); 1609 green_content_to_target_transform, viewport, pass.get());
1643 1610
1644 PictureDrawQuad* green_quad1 = 1611 PictureDrawQuad* green_quad1 =
1645 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 1612 pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
1646 green_quad1->SetNew(top_right_green_shared_quad_state, 1613 green_quad1->SetNew(top_right_green_shared_quad_state, green_rect1,
1647 green_rect1, 1614 gfx::Rect(), green_rect1, gfx::RectF(green_rect1.size()),
1648 gfx::Rect(), 1615 green_rect1.size(), texture_format, green_rect1, 1.f,
1649 green_rect1, 1616 green_pile.get());
1650 gfx::RectF(green_rect1.size()),
1651 green_rect1.size(),
1652 texture_format,
1653 green_rect1,
1654 1.f,
1655 PicturePileImpl::CreateFromOther(green_pile.get()));
1656 1617
1657 PictureDrawQuad* green_quad2 = 1618 PictureDrawQuad* green_quad2 =
1658 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 1619 pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
1659 green_quad2->SetNew(top_right_green_shared_quad_state, 1620 green_quad2->SetNew(top_right_green_shared_quad_state, green_rect2,
1660 green_rect2, 1621 gfx::Rect(), green_rect2, gfx::RectF(green_rect2.size()),
1661 gfx::Rect(), 1622 green_rect2.size(), texture_format, green_rect2, 1.f,
1662 green_rect2, 1623 green_pile.get());
1663 gfx::RectF(green_rect2.size()),
1664 green_rect2.size(),
1665 texture_format,
1666 green_rect2,
1667 1.f,
1668 PicturePileImpl::CreateFromOther(green_pile.get()));
1669 1624
1670 // Add a green clipped checkerboard in the bottom right to help test 1625 // Add a green clipped checkerboard in the bottom right to help test
1671 // interleaving picture quad content and solid color content. 1626 // interleaving picture quad content and solid color content.
1672 gfx::Rect bottom_right_rect( 1627 gfx::Rect bottom_right_rect(
1673 gfx::Point(viewport.width() / 2, viewport.height() / 2), 1628 gfx::Point(viewport.width() / 2, viewport.height() / 2),
1674 gfx::Size(viewport.width() / 2, viewport.height() / 2)); 1629 gfx::Size(viewport.width() / 2, viewport.height() / 2));
1675 SharedQuadState* bottom_right_green_shared_state = 1630 SharedQuadState* bottom_right_green_shared_state =
1676 CreateTestSharedQuadStateClipped(green_content_to_target_transform, 1631 CreateTestSharedQuadStateClipped(green_content_to_target_transform,
1677 viewport, 1632 viewport,
1678 bottom_right_rect, 1633 bottom_right_rect,
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
1724 1679
1725 // At a scale of 4x the rectangles with a width of 2.5 will take up 10 pixels, 1680 // At a scale of 4x the rectangles with a width of 2.5 will take up 10 pixels,
1726 // so scale an additional 10x to make them 100x100. 1681 // so scale an additional 10x to make them 100x100.
1727 gfx::Transform content_to_target_transform; 1682 gfx::Transform content_to_target_transform;
1728 content_to_target_transform.Scale(10.0, 10.0); 1683 content_to_target_transform.Scale(10.0, 10.0);
1729 gfx::Rect quad_content_rect(gfx::Size(20, 20)); 1684 gfx::Rect quad_content_rect(gfx::Size(20, 20));
1730 SharedQuadState* blue_shared_state = CreateTestSharedQuadState( 1685 SharedQuadState* blue_shared_state = CreateTestSharedQuadState(
1731 content_to_target_transform, quad_content_rect, pass.get()); 1686 content_to_target_transform, quad_content_rect, pass.get());
1732 1687
1733 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 1688 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
1734 blue_quad->SetNew(blue_shared_state, 1689 blue_quad->SetNew(blue_shared_state, quad_content_rect, gfx::Rect(),
1735 quad_content_rect, 1690 quad_content_rect, gfx::RectF(quad_content_rect),
1736 gfx::Rect(), 1691 content_union_rect.size(), texture_format,
1737 quad_content_rect, 1692 content_union_rect, contents_scale, pile.get());
1738 gfx::RectF(quad_content_rect),
1739 content_union_rect.size(),
1740 texture_format,
1741 content_union_rect,
1742 contents_scale,
1743 PicturePileImpl::CreateFromOther(pile.get()));
1744 1693
1745 // Fill left half of viewport with green. 1694 // Fill left half of viewport with green.
1746 gfx::Transform half_green_content_to_target_transform; 1695 gfx::Transform half_green_content_to_target_transform;
1747 gfx::Rect half_green_rect(gfx::Size(viewport.width() / 2, viewport.height())); 1696 gfx::Rect half_green_rect(gfx::Size(viewport.width() / 2, viewport.height()));
1748 SharedQuadState* half_green_shared_state = CreateTestSharedQuadState( 1697 SharedQuadState* half_green_shared_state = CreateTestSharedQuadState(
1749 half_green_content_to_target_transform, half_green_rect, pass.get()); 1698 half_green_content_to_target_transform, half_green_rect, pass.get());
1750 SolidColorDrawQuad* half_color_quad = 1699 SolidColorDrawQuad* half_color_quad =
1751 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1700 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1752 half_color_quad->SetNew(half_green_shared_state, 1701 half_color_quad->SetNew(half_green_shared_state,
1753 half_green_rect, 1702 half_green_rect,
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
1936 SkPaint blue_paint; 1885 SkPaint blue_paint;
1937 blue_paint.setColor(SK_ColorBLUE); 1886 blue_paint.setColor(SK_ColorBLUE);
1938 blue_pile->add_draw_rect_with_paint(viewport, blue_paint); 1887 blue_pile->add_draw_rect_with_paint(viewport, blue_paint);
1939 blue_pile->RerecordPile(); 1888 blue_pile->RerecordPile();
1940 1889
1941 gfx::Transform blue_content_to_target_transform; 1890 gfx::Transform blue_content_to_target_transform;
1942 SharedQuadState* blue_shared_state = CreateTestSharedQuadState( 1891 SharedQuadState* blue_shared_state = CreateTestSharedQuadState(
1943 blue_content_to_target_transform, viewport, pass.get()); 1892 blue_content_to_target_transform, viewport, pass.get());
1944 1893
1945 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 1894 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
1946 blue_quad->SetNew(blue_shared_state, 1895 blue_quad->SetNew(blue_shared_state, viewport, gfx::Rect(), viewport,
1947 viewport, 1896 gfx::RectF(0.f, 0.f, 1.f, 1.f), viewport.size(),
1948 gfx::Rect(), 1897 texture_format, viewport, 1.f, blue_pile.get());
1949 viewport,
1950 gfx::RectF(0.f, 0.f, 1.f, 1.f),
1951 viewport.size(),
1952 texture_format,
1953 viewport,
1954 1.f,
1955 PicturePileImpl::CreateFromOther(blue_pile.get()));
1956 1898
1957 RenderPassList pass_list; 1899 RenderPassList pass_list;
1958 pass_list.push_back(pass.Pass()); 1900 pass_list.push_back(pass.Pass());
1959 1901
1960 EXPECT_TRUE(this->RunPixelTest(&pass_list, 1902 EXPECT_TRUE(this->RunPixelTest(&pass_list,
1961 base::FilePath(FILE_PATH_LITERAL("blue.png")), 1903 base::FilePath(FILE_PATH_LITERAL("blue.png")),
1962 ExactPixelComparator(true))); 1904 ExactPixelComparator(true)));
1963 } 1905 }
1964 1906
1965 TYPED_TEST(RendererPixelTest, WrapModeRepeat) { 1907 TYPED_TEST(RendererPixelTest, WrapModeRepeat) {
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
2021 EXPECT_TRUE(this->RunPixelTest( 1963 EXPECT_TRUE(this->RunPixelTest(
2022 &pass_list, 1964 &pass_list,
2023 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")), 1965 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")),
2024 FuzzyPixelOffByOneComparator(true))); 1966 FuzzyPixelOffByOneComparator(true)));
2025 } 1967 }
2026 1968
2027 #endif // !defined(OS_ANDROID) 1969 #endif // !defined(OS_ANDROID)
2028 1970
2029 } // namespace 1971 } // namespace
2030 } // namespace cc 1972 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/program_binding.h ('k') | cc/output/shader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698