| OLD | NEW |
| 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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
| 10 #include "cc/base/math_util.h" | 10 #include "cc/base/math_util.h" |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 return shared_state; | 94 return shared_state; |
| 95 } | 95 } |
| 96 | 96 |
| 97 void CreateTestRenderPassDrawQuad(const SharedQuadState* shared_state, | 97 void CreateTestRenderPassDrawQuad(const SharedQuadState* shared_state, |
| 98 const gfx::Rect& rect, | 98 const gfx::Rect& rect, |
| 99 int pass_id, | 99 int pass_id, |
| 100 RenderPass* render_pass) { | 100 RenderPass* render_pass) { |
| 101 RenderPassDrawQuad* quad = | 101 RenderPassDrawQuad* quad = |
| 102 render_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 102 render_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
| 103 quad->SetNew(shared_state, rect, rect, pass_id, | 103 quad->SetNew(shared_state, rect, rect, pass_id, |
| 104 0, // mask_resource_id | 104 0, // mask_resource_id |
| 105 gfx::RectF(), // mask_uv_rect | 105 gfx::RectF(), // mask_uv_rect |
| 106 gfx::Size(), // mask_texture_size | 106 gfx::Size(), // mask_texture_size |
| 107 gfx::Vector2dF(), // filters scale | 107 gfx::Vector2dF(), // filters scale |
| 108 gfx::PointF(), // filter origin | 108 gfx::PointF(), // filter origin |
| 109 gfx::RectF()); // tex_coord_rect | 109 gfx::RectF(rect)); // tex_coord_rect |
| 110 } | 110 } |
| 111 | 111 |
| 112 void CreateTestTwoColoredTextureDrawQuad(const gfx::Rect& rect, | 112 void CreateTestTwoColoredTextureDrawQuad(const gfx::Rect& rect, |
| 113 SkColor texel_color, | 113 SkColor texel_color, |
| 114 SkColor texel_stripe_color, | 114 SkColor texel_stripe_color, |
| 115 SkColor background_color, | 115 SkColor background_color, |
| 116 bool premultiplied_alpha, | 116 bool premultiplied_alpha, |
| 117 const SharedQuadState* shared_state, | 117 const SharedQuadState* shared_state, |
| 118 ResourceProvider* resource_provider, | 118 ResourceProvider* resource_provider, |
| 119 RenderPass* render_pass) { | 119 RenderPass* render_pass) { |
| (...skipping 1461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1581 SolidColorDrawQuad* white = | 1581 SolidColorDrawQuad* white = |
| 1582 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 1582 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
| 1583 white->SetNew( | 1583 white->SetNew( |
| 1584 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); | 1584 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); |
| 1585 | 1585 |
| 1586 SharedQuadState* pass_shared_state = | 1586 SharedQuadState* pass_shared_state = |
| 1587 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); | 1587 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); |
| 1588 | 1588 |
| 1589 RenderPassDrawQuad* render_pass_quad = | 1589 RenderPassDrawQuad* render_pass_quad = |
| 1590 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 1590 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
| 1591 render_pass_quad->SetNew(pass_shared_state, pass_rect, pass_rect, | 1591 render_pass_quad->SetNew( |
| 1592 child_pass_id, 0, gfx::RectF(), gfx::Size(), | 1592 pass_shared_state, pass_rect, pass_rect, child_pass_id, 0, gfx::RectF(), |
| 1593 gfx::Vector2dF(), gfx::PointF(), gfx::RectF()); | 1593 gfx::Size(), gfx::Vector2dF(), gfx::PointF(), gfx::RectF(pass_rect)); |
| 1594 | 1594 |
| 1595 RenderPassList pass_list; | 1595 RenderPassList pass_list; |
| 1596 pass_list.push_back(std::move(child_pass)); | 1596 pass_list.push_back(std::move(child_pass)); |
| 1597 pass_list.push_back(std::move(root_pass)); | 1597 pass_list.push_back(std::move(root_pass)); |
| 1598 | 1598 |
| 1599 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl | 1599 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl |
| 1600 // renderer so use a fuzzy comparator. | 1600 // renderer so use a fuzzy comparator. |
| 1601 EXPECT_TRUE(this->RunPixelTest( | 1601 EXPECT_TRUE(this->RunPixelTest( |
| 1602 &pass_list, | 1602 &pass_list, |
| 1603 base::FilePath(FILE_PATH_LITERAL("blue_yellow_alpha.png")), | 1603 base::FilePath(FILE_PATH_LITERAL("blue_yellow_alpha.png")), |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1647 SolidColorDrawQuad* white = | 1647 SolidColorDrawQuad* white = |
| 1648 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 1648 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
| 1649 white->SetNew( | 1649 white->SetNew( |
| 1650 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); | 1650 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); |
| 1651 | 1651 |
| 1652 SharedQuadState* pass_shared_state = | 1652 SharedQuadState* pass_shared_state = |
| 1653 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); | 1653 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); |
| 1654 | 1654 |
| 1655 RenderPassDrawQuad* render_pass_quad = | 1655 RenderPassDrawQuad* render_pass_quad = |
| 1656 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 1656 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
| 1657 render_pass_quad->SetNew(pass_shared_state, pass_rect, pass_rect, | 1657 render_pass_quad->SetNew( |
| 1658 child_pass_id, 0, gfx::RectF(), gfx::Size(), | 1658 pass_shared_state, pass_rect, pass_rect, child_pass_id, 0, gfx::RectF(), |
| 1659 gfx::Vector2dF(), gfx::PointF(), gfx::RectF()); | 1659 gfx::Size(), gfx::Vector2dF(), gfx::PointF(), gfx::RectF(pass_rect)); |
| 1660 | 1660 |
| 1661 RenderPassList pass_list; | 1661 RenderPassList pass_list; |
| 1662 pass_list.push_back(std::move(child_pass)); | 1662 pass_list.push_back(std::move(child_pass)); |
| 1663 pass_list.push_back(std::move(root_pass)); | 1663 pass_list.push_back(std::move(root_pass)); |
| 1664 | 1664 |
| 1665 // This test blends slightly differently with the software renderer vs. the gl | 1665 // This test blends slightly differently with the software renderer vs. the gl |
| 1666 // renderer so use a fuzzy comparator. | 1666 // renderer so use a fuzzy comparator. |
| 1667 EXPECT_TRUE(this->RunPixelTest( | 1667 EXPECT_TRUE(this->RunPixelTest( |
| 1668 &pass_list, base::FilePath(FILE_PATH_LITERAL("blue_yellow_alpha.png")), | 1668 &pass_list, base::FilePath(FILE_PATH_LITERAL("blue_yellow_alpha.png")), |
| 1669 FuzzyForSoftwareOnlyPixelComparator<TypeParam>(false))); | 1669 FuzzyForSoftwareOnlyPixelComparator<TypeParam>(false))); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1713 SolidColorDrawQuad* white = | 1713 SolidColorDrawQuad* white = |
| 1714 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 1714 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
| 1715 white->SetNew( | 1715 white->SetNew( |
| 1716 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); | 1716 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); |
| 1717 | 1717 |
| 1718 SharedQuadState* pass_shared_state = | 1718 SharedQuadState* pass_shared_state = |
| 1719 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); | 1719 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); |
| 1720 | 1720 |
| 1721 RenderPassDrawQuad* render_pass_quad = | 1721 RenderPassDrawQuad* render_pass_quad = |
| 1722 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 1722 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
| 1723 render_pass_quad->SetNew(pass_shared_state, pass_rect, pass_rect, | 1723 render_pass_quad->SetNew( |
| 1724 child_pass_id, 0, gfx::RectF(), gfx::Size(), | 1724 pass_shared_state, pass_rect, pass_rect, child_pass_id, 0, gfx::RectF(), |
| 1725 gfx::Vector2dF(), gfx::PointF(), gfx::RectF()); | 1725 gfx::Size(), gfx::Vector2dF(), gfx::PointF(), gfx::RectF(pass_rect)); |
| 1726 | 1726 |
| 1727 RenderPassList pass_list; | 1727 RenderPassList pass_list; |
| 1728 pass_list.push_back(std::move(child_pass)); | 1728 pass_list.push_back(std::move(child_pass)); |
| 1729 pass_list.push_back(std::move(root_pass)); | 1729 pass_list.push_back(std::move(root_pass)); |
| 1730 | 1730 |
| 1731 // This test blends slightly differently with the software renderer vs. the gl | 1731 // This test blends slightly differently with the software renderer vs. the gl |
| 1732 // renderer so use a fuzzy comparator. | 1732 // renderer so use a fuzzy comparator. |
| 1733 EXPECT_TRUE(this->RunPixelTest( | 1733 EXPECT_TRUE(this->RunPixelTest( |
| 1734 &pass_list, | 1734 &pass_list, |
| 1735 base::FilePath(FILE_PATH_LITERAL("blue_yellow_filter_chain.png")), | 1735 base::FilePath(FILE_PATH_LITERAL("blue_yellow_filter_chain.png")), |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1800 SolidColorDrawQuad* white = | 1800 SolidColorDrawQuad* white = |
| 1801 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 1801 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
| 1802 white->SetNew( | 1802 white->SetNew( |
| 1803 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); | 1803 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); |
| 1804 | 1804 |
| 1805 SharedQuadState* pass_shared_state = | 1805 SharedQuadState* pass_shared_state = |
| 1806 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); | 1806 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); |
| 1807 | 1807 |
| 1808 RenderPassDrawQuad* render_pass_quad = | 1808 RenderPassDrawQuad* render_pass_quad = |
| 1809 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 1809 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
| 1810 render_pass_quad->SetNew(pass_shared_state, pass_rect, pass_rect, | 1810 render_pass_quad->SetNew( |
| 1811 child_pass_id, 0, gfx::RectF(), gfx::Size(), | 1811 pass_shared_state, pass_rect, pass_rect, child_pass_id, 0, gfx::RectF(), |
| 1812 gfx::Vector2dF(), gfx::PointF(), gfx::RectF()); | 1812 gfx::Size(), gfx::Vector2dF(), gfx::PointF(), gfx::RectF(pass_rect)); |
| 1813 | 1813 |
| 1814 RenderPassList pass_list; | 1814 RenderPassList pass_list; |
| 1815 | 1815 |
| 1816 pass_list.push_back(std::move(child_pass)); | 1816 pass_list.push_back(std::move(child_pass)); |
| 1817 pass_list.push_back(std::move(root_pass)); | 1817 pass_list.push_back(std::move(root_pass)); |
| 1818 | 1818 |
| 1819 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl | 1819 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl |
| 1820 // renderer so use a fuzzy comparator. | 1820 // renderer so use a fuzzy comparator. |
| 1821 EXPECT_TRUE(this->RunPixelTest( | 1821 EXPECT_TRUE(this->RunPixelTest( |
| 1822 &pass_list, | 1822 &pass_list, |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2002 RenderPassDrawQuad* mask_quad = | 2002 RenderPassDrawQuad* mask_quad = |
| 2003 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 2003 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
| 2004 mask_quad->SetNew( | 2004 mask_quad->SetNew( |
| 2005 root_pass_shared_state, sub_rect, sub_rect, child_pass_id, | 2005 root_pass_shared_state, sub_rect, sub_rect, child_pass_id, |
| 2006 mask_resource_id, | 2006 mask_resource_id, |
| 2007 gfx::ScaleRect(gfx::RectF(sub_rect), 2.f / mask_rect.width(), | 2007 gfx::ScaleRect(gfx::RectF(sub_rect), 2.f / mask_rect.width(), |
| 2008 2.f / mask_rect.height()), // mask_uv_rect | 2008 2.f / mask_rect.height()), // mask_uv_rect |
| 2009 gfx::Size(mask_rect.size()), // mask_texture_size | 2009 gfx::Size(mask_rect.size()), // mask_texture_size |
| 2010 gfx::Vector2dF(), // filters scale | 2010 gfx::Vector2dF(), // filters scale |
| 2011 gfx::PointF(), // filter origin | 2011 gfx::PointF(), // filter origin |
| 2012 gfx::RectF()); // tex_coord_rect | 2012 gfx::RectF(sub_rect)); // tex_coord_rect |
| 2013 | 2013 |
| 2014 // White background behind the masked render pass. | 2014 // White background behind the masked render pass. |
| 2015 SolidColorDrawQuad* white = | 2015 SolidColorDrawQuad* white = |
| 2016 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 2016 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
| 2017 white->SetNew(root_pass_shared_state, | 2017 white->SetNew(root_pass_shared_state, |
| 2018 viewport_rect, | 2018 viewport_rect, |
| 2019 viewport_rect, | 2019 viewport_rect, |
| 2020 SK_ColorWHITE, | 2020 SK_ColorWHITE, |
| 2021 false); | 2021 false); |
| 2022 | 2022 |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2097 RenderPassDrawQuad* mask_quad = | 2097 RenderPassDrawQuad* mask_quad = |
| 2098 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 2098 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
| 2099 mask_quad->SetNew( | 2099 mask_quad->SetNew( |
| 2100 root_pass_shared_state, sub_rect, sub_rect, child_pass_id, | 2100 root_pass_shared_state, sub_rect, sub_rect, child_pass_id, |
| 2101 mask_resource_id, | 2101 mask_resource_id, |
| 2102 gfx::ScaleRect(gfx::RectF(sub_rect), 2.f / mask_rect.width(), | 2102 gfx::ScaleRect(gfx::RectF(sub_rect), 2.f / mask_rect.width(), |
| 2103 2.f / mask_rect.height()), // mask_uv_rect | 2103 2.f / mask_rect.height()), // mask_uv_rect |
| 2104 gfx::Size(mask_rect.size()), // mask_texture_size | 2104 gfx::Size(mask_rect.size()), // mask_texture_size |
| 2105 gfx::Vector2dF(), // filters scale | 2105 gfx::Vector2dF(), // filters scale |
| 2106 gfx::PointF(), // filter origin | 2106 gfx::PointF(), // filter origin |
| 2107 gfx::RectF()); // tex_coord_rect | 2107 gfx::RectF(sub_rect)); // tex_coord_rect |
| 2108 | 2108 |
| 2109 // White background behind the masked render pass. | 2109 // White background behind the masked render pass. |
| 2110 SolidColorDrawQuad* white = | 2110 SolidColorDrawQuad* white = |
| 2111 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 2111 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
| 2112 white->SetNew(root_pass_shared_state, viewport_rect, viewport_rect, | 2112 white->SetNew(root_pass_shared_state, viewport_rect, viewport_rect, |
| 2113 SK_ColorWHITE, false); | 2113 SK_ColorWHITE, false); |
| 2114 | 2114 |
| 2115 RenderPassList pass_list; | 2115 RenderPassList pass_list; |
| 2116 pass_list.push_back(std::move(child_pass)); | 2116 pass_list.push_back(std::move(child_pass)); |
| 2117 pass_list.push_back(std::move(root_pass)); | 2117 pass_list.push_back(std::move(root_pass)); |
| (...skipping 1451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3569 INSTANTIATE_TEST_CASE_P( | 3569 INSTANTIATE_TEST_CASE_P( |
| 3570 ToColorSpace, | 3570 ToColorSpace, |
| 3571 ColorTransformPixelTest, | 3571 ColorTransformPixelTest, |
| 3572 testing::Combine(testing::ValuesIn(intermediate_color_spaces), | 3572 testing::Combine(testing::ValuesIn(intermediate_color_spaces), |
| 3573 testing::ValuesIn(dst_color_spaces))); | 3573 testing::ValuesIn(dst_color_spaces))); |
| 3574 | 3574 |
| 3575 #endif // !defined(OS_ANDROID) | 3575 #endif // !defined(OS_ANDROID) |
| 3576 | 3576 |
| 3577 } // namespace | 3577 } // namespace |
| 3578 } // namespace cc | 3578 } // namespace cc |
| OLD | NEW |