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 1464 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1584 SolidColorDrawQuad* white = | 1584 SolidColorDrawQuad* white = |
1585 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 1585 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
1586 white->SetNew( | 1586 white->SetNew( |
1587 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); | 1587 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); |
1588 | 1588 |
1589 SharedQuadState* pass_shared_state = | 1589 SharedQuadState* pass_shared_state = |
1590 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); | 1590 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); |
1591 | 1591 |
1592 RenderPassDrawQuad* render_pass_quad = | 1592 RenderPassDrawQuad* render_pass_quad = |
1593 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 1593 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
1594 render_pass_quad->SetNew(pass_shared_state, pass_rect, pass_rect, | 1594 render_pass_quad->SetNew( |
1595 child_pass_id, 0, gfx::RectF(), gfx::Size(), | 1595 pass_shared_state, pass_rect, pass_rect, child_pass_id, 0, gfx::RectF(), |
1596 gfx::Vector2dF(), gfx::PointF(), gfx::RectF()); | 1596 gfx::Size(), gfx::Vector2dF(), gfx::PointF(), gfx::RectF(pass_rect)); |
1597 | 1597 |
1598 RenderPassList pass_list; | 1598 RenderPassList pass_list; |
1599 pass_list.push_back(std::move(child_pass)); | 1599 pass_list.push_back(std::move(child_pass)); |
1600 pass_list.push_back(std::move(root_pass)); | 1600 pass_list.push_back(std::move(root_pass)); |
1601 | 1601 |
1602 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl | 1602 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl |
1603 // renderer so use a fuzzy comparator. | 1603 // renderer so use a fuzzy comparator. |
1604 EXPECT_TRUE(this->RunPixelTest( | 1604 EXPECT_TRUE(this->RunPixelTest( |
1605 &pass_list, | 1605 &pass_list, |
1606 base::FilePath(FILE_PATH_LITERAL("blue_yellow_alpha.png")), | 1606 base::FilePath(FILE_PATH_LITERAL("blue_yellow_alpha.png")), |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1650 SolidColorDrawQuad* white = | 1650 SolidColorDrawQuad* white = |
1651 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 1651 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
1652 white->SetNew( | 1652 white->SetNew( |
1653 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); | 1653 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); |
1654 | 1654 |
1655 SharedQuadState* pass_shared_state = | 1655 SharedQuadState* pass_shared_state = |
1656 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); | 1656 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); |
1657 | 1657 |
1658 RenderPassDrawQuad* render_pass_quad = | 1658 RenderPassDrawQuad* render_pass_quad = |
1659 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 1659 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
1660 render_pass_quad->SetNew(pass_shared_state, pass_rect, pass_rect, | 1660 render_pass_quad->SetNew( |
1661 child_pass_id, 0, gfx::RectF(), gfx::Size(), | 1661 pass_shared_state, pass_rect, pass_rect, child_pass_id, 0, gfx::RectF(), |
1662 gfx::Vector2dF(), gfx::PointF(), gfx::RectF()); | 1662 gfx::Size(), gfx::Vector2dF(), gfx::PointF(), gfx::RectF(pass_rect)); |
1663 | 1663 |
1664 RenderPassList pass_list; | 1664 RenderPassList pass_list; |
1665 pass_list.push_back(std::move(child_pass)); | 1665 pass_list.push_back(std::move(child_pass)); |
1666 pass_list.push_back(std::move(root_pass)); | 1666 pass_list.push_back(std::move(root_pass)); |
1667 | 1667 |
1668 // This test blends slightly differently with the software renderer vs. the gl | 1668 // This test blends slightly differently with the software renderer vs. the gl |
1669 // renderer so use a fuzzy comparator. | 1669 // renderer so use a fuzzy comparator. |
1670 EXPECT_TRUE(this->RunPixelTest( | 1670 EXPECT_TRUE(this->RunPixelTest( |
1671 &pass_list, base::FilePath(FILE_PATH_LITERAL("blue_yellow_alpha.png")), | 1671 &pass_list, base::FilePath(FILE_PATH_LITERAL("blue_yellow_alpha.png")), |
1672 FuzzyForSoftwareOnlyPixelComparator<TypeParam>(false))); | 1672 FuzzyForSoftwareOnlyPixelComparator<TypeParam>(false))); |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1716 SolidColorDrawQuad* white = | 1716 SolidColorDrawQuad* white = |
1717 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 1717 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
1718 white->SetNew( | 1718 white->SetNew( |
1719 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); | 1719 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); |
1720 | 1720 |
1721 SharedQuadState* pass_shared_state = | 1721 SharedQuadState* pass_shared_state = |
1722 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); | 1722 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); |
1723 | 1723 |
1724 RenderPassDrawQuad* render_pass_quad = | 1724 RenderPassDrawQuad* render_pass_quad = |
1725 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 1725 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
1726 render_pass_quad->SetNew(pass_shared_state, pass_rect, pass_rect, | 1726 render_pass_quad->SetNew( |
1727 child_pass_id, 0, gfx::RectF(), gfx::Size(), | 1727 pass_shared_state, pass_rect, pass_rect, child_pass_id, 0, gfx::RectF(), |
1728 gfx::Vector2dF(), gfx::PointF(), gfx::RectF()); | 1728 gfx::Size(), gfx::Vector2dF(), gfx::PointF(), gfx::RectF(pass_rect)); |
1729 | 1729 |
1730 RenderPassList pass_list; | 1730 RenderPassList pass_list; |
1731 pass_list.push_back(std::move(child_pass)); | 1731 pass_list.push_back(std::move(child_pass)); |
1732 pass_list.push_back(std::move(root_pass)); | 1732 pass_list.push_back(std::move(root_pass)); |
1733 | 1733 |
1734 // This test blends slightly differently with the software renderer vs. the gl | 1734 // This test blends slightly differently with the software renderer vs. the gl |
1735 // renderer so use a fuzzy comparator. | 1735 // renderer so use a fuzzy comparator. |
1736 EXPECT_TRUE(this->RunPixelTest( | 1736 EXPECT_TRUE(this->RunPixelTest( |
1737 &pass_list, | 1737 &pass_list, |
1738 base::FilePath(FILE_PATH_LITERAL("blue_yellow_filter_chain.png")), | 1738 base::FilePath(FILE_PATH_LITERAL("blue_yellow_filter_chain.png")), |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1803 SolidColorDrawQuad* white = | 1803 SolidColorDrawQuad* white = |
1804 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 1804 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
1805 white->SetNew( | 1805 white->SetNew( |
1806 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); | 1806 blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false); |
1807 | 1807 |
1808 SharedQuadState* pass_shared_state = | 1808 SharedQuadState* pass_shared_state = |
1809 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); | 1809 CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get()); |
1810 | 1810 |
1811 RenderPassDrawQuad* render_pass_quad = | 1811 RenderPassDrawQuad* render_pass_quad = |
1812 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 1812 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
1813 render_pass_quad->SetNew(pass_shared_state, pass_rect, pass_rect, | 1813 render_pass_quad->SetNew( |
1814 child_pass_id, 0, gfx::RectF(), gfx::Size(), | 1814 pass_shared_state, pass_rect, pass_rect, child_pass_id, 0, gfx::RectF(), |
1815 gfx::Vector2dF(), gfx::PointF(), gfx::RectF()); | 1815 gfx::Size(), gfx::Vector2dF(), gfx::PointF(), gfx::RectF(pass_rect)); |
1816 | 1816 |
1817 RenderPassList pass_list; | 1817 RenderPassList pass_list; |
1818 | 1818 |
1819 pass_list.push_back(std::move(child_pass)); | 1819 pass_list.push_back(std::move(child_pass)); |
1820 pass_list.push_back(std::move(root_pass)); | 1820 pass_list.push_back(std::move(root_pass)); |
1821 | 1821 |
1822 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl | 1822 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl |
1823 // renderer so use a fuzzy comparator. | 1823 // renderer so use a fuzzy comparator. |
1824 EXPECT_TRUE(this->RunPixelTest( | 1824 EXPECT_TRUE(this->RunPixelTest( |
1825 &pass_list, | 1825 &pass_list, |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2005 RenderPassDrawQuad* mask_quad = | 2005 RenderPassDrawQuad* mask_quad = |
2006 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 2006 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
2007 mask_quad->SetNew( | 2007 mask_quad->SetNew( |
2008 root_pass_shared_state, sub_rect, sub_rect, child_pass_id, | 2008 root_pass_shared_state, sub_rect, sub_rect, child_pass_id, |
2009 mask_resource_id, | 2009 mask_resource_id, |
2010 gfx::ScaleRect(gfx::RectF(sub_rect), 2.f / mask_rect.width(), | 2010 gfx::ScaleRect(gfx::RectF(sub_rect), 2.f / mask_rect.width(), |
2011 2.f / mask_rect.height()), // mask_uv_rect | 2011 2.f / mask_rect.height()), // mask_uv_rect |
2012 gfx::Size(mask_rect.size()), // mask_texture_size | 2012 gfx::Size(mask_rect.size()), // mask_texture_size |
2013 gfx::Vector2dF(), // filters scale | 2013 gfx::Vector2dF(), // filters scale |
2014 gfx::PointF(), // filter origin | 2014 gfx::PointF(), // filter origin |
2015 gfx::RectF()); // tex_coord_rect | 2015 gfx::RectF(sub_rect)); // tex_coord_rect |
2016 | 2016 |
2017 // White background behind the masked render pass. | 2017 // White background behind the masked render pass. |
2018 SolidColorDrawQuad* white = | 2018 SolidColorDrawQuad* white = |
2019 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 2019 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
2020 white->SetNew(root_pass_shared_state, | 2020 white->SetNew(root_pass_shared_state, |
2021 viewport_rect, | 2021 viewport_rect, |
2022 viewport_rect, | 2022 viewport_rect, |
2023 SK_ColorWHITE, | 2023 SK_ColorWHITE, |
2024 false); | 2024 false); |
2025 | 2025 |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2100 RenderPassDrawQuad* mask_quad = | 2100 RenderPassDrawQuad* mask_quad = |
2101 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 2101 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
2102 mask_quad->SetNew( | 2102 mask_quad->SetNew( |
2103 root_pass_shared_state, sub_rect, sub_rect, child_pass_id, | 2103 root_pass_shared_state, sub_rect, sub_rect, child_pass_id, |
2104 mask_resource_id, | 2104 mask_resource_id, |
2105 gfx::ScaleRect(gfx::RectF(sub_rect), 2.f / mask_rect.width(), | 2105 gfx::ScaleRect(gfx::RectF(sub_rect), 2.f / mask_rect.width(), |
2106 2.f / mask_rect.height()), // mask_uv_rect | 2106 2.f / mask_rect.height()), // mask_uv_rect |
2107 gfx::Size(mask_rect.size()), // mask_texture_size | 2107 gfx::Size(mask_rect.size()), // mask_texture_size |
2108 gfx::Vector2dF(), // filters scale | 2108 gfx::Vector2dF(), // filters scale |
2109 gfx::PointF(), // filter origin | 2109 gfx::PointF(), // filter origin |
2110 gfx::RectF()); // tex_coord_rect | 2110 gfx::RectF(sub_rect)); // tex_coord_rect |
2111 | 2111 |
2112 // White background behind the masked render pass. | 2112 // White background behind the masked render pass. |
2113 SolidColorDrawQuad* white = | 2113 SolidColorDrawQuad* white = |
2114 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 2114 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
2115 white->SetNew(root_pass_shared_state, viewport_rect, viewport_rect, | 2115 white->SetNew(root_pass_shared_state, viewport_rect, viewport_rect, |
2116 SK_ColorWHITE, false); | 2116 SK_ColorWHITE, false); |
2117 | 2117 |
2118 RenderPassList pass_list; | 2118 RenderPassList pass_list; |
2119 pass_list.push_back(std::move(child_pass)); | 2119 pass_list.push_back(std::move(child_pass)); |
2120 pass_list.push_back(std::move(root_pass)); | 2120 pass_list.push_back(std::move(root_pass)); |
(...skipping 1451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3572 INSTANTIATE_TEST_CASE_P( | 3572 INSTANTIATE_TEST_CASE_P( |
3573 ToColorSpace, | 3573 ToColorSpace, |
3574 ColorTransformPixelTest, | 3574 ColorTransformPixelTest, |
3575 testing::Combine(testing::ValuesIn(intermediate_color_spaces), | 3575 testing::Combine(testing::ValuesIn(intermediate_color_spaces), |
3576 testing::ValuesIn(dst_color_spaces))); | 3576 testing::ValuesIn(dst_color_spaces))); |
3577 | 3577 |
3578 #endif // !defined(OS_ANDROID) | 3578 #endif // !defined(OS_ANDROID) |
3579 | 3579 |
3580 } // namespace | 3580 } // namespace |
3581 } // namespace cc | 3581 } // namespace cc |
OLD | NEW |