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 |