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

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

Issue 2717533005: cc: RenderSurfaceImpl tile mask layer. (Closed)
Patch Set: Fix init problems on mac. Created 3 years, 8 months 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
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 <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
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
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
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
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698