| 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(rect)); // tex_coord_rect | 109 gfx::RectF()); // 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( | 1594 render_pass_quad->SetNew(pass_shared_state, pass_rect, pass_rect, |
| 1595 pass_shared_state, pass_rect, pass_rect, child_pass_id, 0, gfx::RectF(), | 1595 child_pass_id, 0, gfx::RectF(), gfx::Size(), |
| 1596 gfx::Size(), gfx::Vector2dF(), gfx::PointF(), gfx::RectF(pass_rect)); | 1596 gfx::Vector2dF(), gfx::PointF(), gfx::RectF()); |
| 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( | 1660 render_pass_quad->SetNew(pass_shared_state, pass_rect, pass_rect, |
| 1661 pass_shared_state, pass_rect, pass_rect, child_pass_id, 0, gfx::RectF(), | 1661 child_pass_id, 0, gfx::RectF(), gfx::Size(), |
| 1662 gfx::Size(), gfx::Vector2dF(), gfx::PointF(), gfx::RectF(pass_rect)); | 1662 gfx::Vector2dF(), gfx::PointF(), gfx::RectF()); |
| 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( | 1726 render_pass_quad->SetNew(pass_shared_state, pass_rect, pass_rect, |
| 1727 pass_shared_state, pass_rect, pass_rect, child_pass_id, 0, gfx::RectF(), | 1727 child_pass_id, 0, gfx::RectF(), gfx::Size(), |
| 1728 gfx::Size(), gfx::Vector2dF(), gfx::PointF(), gfx::RectF(pass_rect)); | 1728 gfx::Vector2dF(), gfx::PointF(), gfx::RectF()); |
| 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( | 1813 render_pass_quad->SetNew(pass_shared_state, pass_rect, pass_rect, |
| 1814 pass_shared_state, pass_rect, pass_rect, child_pass_id, 0, gfx::RectF(), | 1814 child_pass_id, 0, gfx::RectF(), gfx::Size(), |
| 1815 gfx::Size(), gfx::Vector2dF(), gfx::PointF(), gfx::RectF(pass_rect)); | 1815 gfx::Vector2dF(), gfx::PointF(), gfx::RectF()); |
| 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(sub_rect)); // tex_coord_rect | 2015 gfx::RectF()); // 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(sub_rect)); // tex_coord_rect | 2110 gfx::RectF()); // 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 1453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3574 INSTANTIATE_TEST_CASE_P( | 3574 INSTANTIATE_TEST_CASE_P( |
| 3575 ToColorSpace, | 3575 ToColorSpace, |
| 3576 ColorTransformPixelTest, | 3576 ColorTransformPixelTest, |
| 3577 testing::Combine(testing::ValuesIn(intermediate_color_spaces), | 3577 testing::Combine(testing::ValuesIn(intermediate_color_spaces), |
| 3578 testing::ValuesIn(dst_color_spaces))); | 3578 testing::ValuesIn(dst_color_spaces))); |
| 3579 | 3579 |
| 3580 #endif // !defined(OS_ANDROID) | 3580 #endif // !defined(OS_ANDROID) |
| 3581 | 3581 |
| 3582 } // namespace | 3582 } // namespace |
| 3583 } // namespace cc | 3583 } // namespace cc |
| OLD | NEW |