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 "base/message_loop/message_loop.h" | 5 #include "base/message_loop/message_loop.h" |
6 #include "cc/layers/append_quads_data.h" | 6 #include "cc/layers/append_quads_data.h" |
7 #include "cc/output/gl_renderer.h" | 7 #include "cc/output/gl_renderer.h" |
8 #include "cc/quads/draw_quad.h" | 8 #include "cc/quads/draw_quad.h" |
9 #include "cc/quads/picture_draw_quad.h" | 9 #include "cc/quads/picture_draw_quad.h" |
10 #include "cc/quads/texture_draw_quad.h" | 10 #include "cc/quads/texture_draw_quad.h" |
(...skipping 1751 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1762 | 1762 |
1763 blue_quad->SetNew(blue_shared_state, | 1763 blue_quad->SetNew(blue_shared_state, |
1764 viewport, // Intentionally bigger than clip. | 1764 viewport, // Intentionally bigger than clip. |
1765 gfx::Rect(), | 1765 gfx::Rect(), |
1766 viewport, | 1766 viewport, |
1767 gfx::RectF(viewport), | 1767 gfx::RectF(viewport), |
1768 viewport.size(), | 1768 viewport.size(), |
1769 texture_format, | 1769 texture_format, |
1770 viewport, | 1770 viewport, |
1771 1.f, | 1771 1.f, |
1772 PicturePileImpl::CreateFromOther(blue_pile)); | 1772 PicturePileImpl::CreateFromOther(blue_pile.get())); |
1773 | 1773 |
1774 // One viewport-filling green quad. | 1774 // One viewport-filling green quad. |
1775 scoped_refptr<FakePicturePileImpl> green_pile = | 1775 scoped_refptr<FakePicturePileImpl> green_pile = |
1776 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); | 1776 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); |
1777 SkPaint green_paint; | 1777 SkPaint green_paint; |
1778 green_paint.setColor(SK_ColorGREEN); | 1778 green_paint.setColor(SK_ColorGREEN); |
1779 green_pile->add_draw_rect_with_paint(viewport, green_paint); | 1779 green_pile->add_draw_rect_with_paint(viewport, green_paint); |
1780 green_pile->RerecordPile(); | 1780 green_pile->RerecordPile(); |
1781 | 1781 |
1782 gfx::Transform green_content_to_target_transform; | 1782 gfx::Transform green_content_to_target_transform; |
1783 SharedQuadState* green_shared_state = CreateTestSharedQuadState( | 1783 SharedQuadState* green_shared_state = CreateTestSharedQuadState( |
1784 green_content_to_target_transform, viewport, pass.get()); | 1784 green_content_to_target_transform, viewport, pass.get()); |
1785 | 1785 |
1786 PictureDrawQuad* green_quad = | 1786 PictureDrawQuad* green_quad = |
1787 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 1787 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
1788 green_quad->SetNew(green_shared_state, | 1788 green_quad->SetNew(green_shared_state, |
1789 viewport, | 1789 viewport, |
1790 gfx::Rect(), | 1790 gfx::Rect(), |
1791 viewport, | 1791 viewport, |
1792 gfx::RectF(0.f, 0.f, 1.f, 1.f), | 1792 gfx::RectF(0.f, 0.f, 1.f, 1.f), |
1793 viewport.size(), | 1793 viewport.size(), |
1794 texture_format, | 1794 texture_format, |
1795 viewport, | 1795 viewport, |
1796 1.f, | 1796 1.f, |
1797 PicturePileImpl::CreateFromOther(green_pile)); | 1797 PicturePileImpl::CreateFromOther(green_pile.get())); |
1798 | 1798 |
1799 RenderPassList pass_list; | 1799 RenderPassList pass_list; |
1800 pass_list.push_back(pass.Pass()); | 1800 pass_list.push_back(pass.Pass()); |
1801 | 1801 |
1802 EXPECT_TRUE(this->RunPixelTest( | 1802 EXPECT_TRUE(this->RunPixelTest( |
1803 &pass_list, | 1803 &pass_list, |
1804 base::FilePath(FILE_PATH_LITERAL("green_with_blue_corner.png")), | 1804 base::FilePath(FILE_PATH_LITERAL("green_with_blue_corner.png")), |
1805 ExactPixelComparator(true))); | 1805 ExactPixelComparator(true))); |
1806 } | 1806 } |
1807 | 1807 |
(...skipping 25 matching lines...) Expand all Loading... |
1833 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 1833 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
1834 green_quad->SetNew(green_shared_state, | 1834 green_quad->SetNew(green_shared_state, |
1835 viewport, | 1835 viewport, |
1836 gfx::Rect(), | 1836 gfx::Rect(), |
1837 viewport, | 1837 viewport, |
1838 gfx::RectF(0, 0, 1, 1), | 1838 gfx::RectF(0, 0, 1, 1), |
1839 viewport.size(), | 1839 viewport.size(), |
1840 texture_format, | 1840 texture_format, |
1841 viewport, | 1841 viewport, |
1842 1.f, | 1842 1.f, |
1843 PicturePileImpl::CreateFromOther(green_pile)); | 1843 PicturePileImpl::CreateFromOther(green_pile.get())); |
1844 | 1844 |
1845 // One viewport-filling white quad. | 1845 // One viewport-filling white quad. |
1846 scoped_refptr<FakePicturePileImpl> white_pile = | 1846 scoped_refptr<FakePicturePileImpl> white_pile = |
1847 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); | 1847 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); |
1848 SkPaint white_paint; | 1848 SkPaint white_paint; |
1849 white_paint.setColor(SK_ColorWHITE); | 1849 white_paint.setColor(SK_ColorWHITE); |
1850 white_pile->add_draw_rect_with_paint(viewport, white_paint); | 1850 white_pile->add_draw_rect_with_paint(viewport, white_paint); |
1851 white_pile->RerecordPile(); | 1851 white_pile->RerecordPile(); |
1852 | 1852 |
1853 gfx::Transform white_content_to_target_transform; | 1853 gfx::Transform white_content_to_target_transform; |
1854 SharedQuadState* white_shared_state = CreateTestSharedQuadState( | 1854 SharedQuadState* white_shared_state = CreateTestSharedQuadState( |
1855 white_content_to_target_transform, viewport, pass.get()); | 1855 white_content_to_target_transform, viewport, pass.get()); |
1856 | 1856 |
1857 PictureDrawQuad* white_quad = | 1857 PictureDrawQuad* white_quad = |
1858 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 1858 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
1859 white_quad->SetNew(white_shared_state, | 1859 white_quad->SetNew(white_shared_state, |
1860 viewport, | 1860 viewport, |
1861 gfx::Rect(), | 1861 gfx::Rect(), |
1862 viewport, | 1862 viewport, |
1863 gfx::RectF(0, 0, 1, 1), | 1863 gfx::RectF(0, 0, 1, 1), |
1864 viewport.size(), | 1864 viewport.size(), |
1865 texture_format, | 1865 texture_format, |
1866 viewport, | 1866 viewport, |
1867 1.f, | 1867 1.f, |
1868 PicturePileImpl::CreateFromOther(white_pile)); | 1868 PicturePileImpl::CreateFromOther(white_pile.get())); |
1869 | 1869 |
1870 RenderPassList pass_list; | 1870 RenderPassList pass_list; |
1871 pass_list.push_back(pass.Pass()); | 1871 pass_list.push_back(pass.Pass()); |
1872 | 1872 |
1873 EXPECT_TRUE(this->RunPixelTest( | 1873 EXPECT_TRUE(this->RunPixelTest( |
1874 &pass_list, | 1874 &pass_list, |
1875 base::FilePath(FILE_PATH_LITERAL("green_alpha.png")), | 1875 base::FilePath(FILE_PATH_LITERAL("green_alpha.png")), |
1876 FuzzyPixelOffByOneComparator(true))); | 1876 FuzzyPixelOffByOneComparator(true))); |
1877 } | 1877 } |
1878 | 1878 |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1932 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 1932 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
1933 quad->SetNew(shared_state, | 1933 quad->SetNew(shared_state, |
1934 viewport, | 1934 viewport, |
1935 gfx::Rect(), | 1935 gfx::Rect(), |
1936 viewport, | 1936 viewport, |
1937 gfx::RectF(0, 0, 2, 2), | 1937 gfx::RectF(0, 0, 2, 2), |
1938 viewport.size(), | 1938 viewport.size(), |
1939 texture_format, | 1939 texture_format, |
1940 viewport, | 1940 viewport, |
1941 1.f, | 1941 1.f, |
1942 PicturePileImpl::CreateFromOther(pile)); | 1942 PicturePileImpl::CreateFromOther(pile.get())); |
1943 | 1943 |
1944 RenderPassList pass_list; | 1944 RenderPassList pass_list; |
1945 pass_list.push_back(pass.Pass()); | 1945 pass_list.push_back(pass.Pass()); |
1946 | 1946 |
1947 this->disable_picture_quad_image_filtering_ = true; | 1947 this->disable_picture_quad_image_filtering_ = true; |
1948 | 1948 |
1949 EXPECT_TRUE(this->RunPixelTest( | 1949 EXPECT_TRUE(this->RunPixelTest( |
1950 &pass_list, | 1950 &pass_list, |
1951 base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers.png")), | 1951 base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers.png")), |
1952 ExactPixelComparator(true))); | 1952 ExactPixelComparator(true))); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1989 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 1989 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
1990 green_quad1->SetNew(top_right_green_shared_quad_state, | 1990 green_quad1->SetNew(top_right_green_shared_quad_state, |
1991 green_rect1, | 1991 green_rect1, |
1992 gfx::Rect(), | 1992 gfx::Rect(), |
1993 green_rect1, | 1993 green_rect1, |
1994 gfx::RectF(green_rect1.size()), | 1994 gfx::RectF(green_rect1.size()), |
1995 green_rect1.size(), | 1995 green_rect1.size(), |
1996 texture_format, | 1996 texture_format, |
1997 green_rect1, | 1997 green_rect1, |
1998 1.f, | 1998 1.f, |
1999 PicturePileImpl::CreateFromOther(green_pile)); | 1999 PicturePileImpl::CreateFromOther(green_pile.get())); |
2000 | 2000 |
2001 PictureDrawQuad* green_quad2 = | 2001 PictureDrawQuad* green_quad2 = |
2002 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 2002 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
2003 green_quad2->SetNew(top_right_green_shared_quad_state, | 2003 green_quad2->SetNew(top_right_green_shared_quad_state, |
2004 green_rect2, | 2004 green_rect2, |
2005 gfx::Rect(), | 2005 gfx::Rect(), |
2006 green_rect2, | 2006 green_rect2, |
2007 gfx::RectF(green_rect2.size()), | 2007 gfx::RectF(green_rect2.size()), |
2008 green_rect2.size(), | 2008 green_rect2.size(), |
2009 texture_format, | 2009 texture_format, |
2010 green_rect2, | 2010 green_rect2, |
2011 1.f, | 2011 1.f, |
2012 PicturePileImpl::CreateFromOther(green_pile)); | 2012 PicturePileImpl::CreateFromOther(green_pile.get())); |
2013 | 2013 |
2014 // Add a green clipped checkerboard in the bottom right to help test | 2014 // Add a green clipped checkerboard in the bottom right to help test |
2015 // interleaving picture quad content and solid color content. | 2015 // interleaving picture quad content and solid color content. |
2016 gfx::Rect bottom_right_rect( | 2016 gfx::Rect bottom_right_rect( |
2017 gfx::Point(viewport.width() / 2, viewport.height() / 2), | 2017 gfx::Point(viewport.width() / 2, viewport.height() / 2), |
2018 gfx::Size(viewport.width() / 2, viewport.height() / 2)); | 2018 gfx::Size(viewport.width() / 2, viewport.height() / 2)); |
2019 SharedQuadState* bottom_right_green_shared_state = | 2019 SharedQuadState* bottom_right_green_shared_state = |
2020 CreateTestSharedQuadStateClipped(green_content_to_target_transform, | 2020 CreateTestSharedQuadStateClipped(green_content_to_target_transform, |
2021 viewport, | 2021 viewport, |
2022 bottom_right_rect, | 2022 bottom_right_rect, |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2077 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 2077 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
2078 blue_quad->SetNew(blue_shared_state, | 2078 blue_quad->SetNew(blue_shared_state, |
2079 quad_content_rect, | 2079 quad_content_rect, |
2080 gfx::Rect(), | 2080 gfx::Rect(), |
2081 quad_content_rect, | 2081 quad_content_rect, |
2082 gfx::RectF(quad_content_rect), | 2082 gfx::RectF(quad_content_rect), |
2083 content_union_rect.size(), | 2083 content_union_rect.size(), |
2084 texture_format, | 2084 texture_format, |
2085 content_union_rect, | 2085 content_union_rect, |
2086 contents_scale, | 2086 contents_scale, |
2087 PicturePileImpl::CreateFromOther(pile)); | 2087 PicturePileImpl::CreateFromOther(pile.get())); |
2088 | 2088 |
2089 // Fill left half of viewport with green. | 2089 // Fill left half of viewport with green. |
2090 gfx::Transform half_green_content_to_target_transform; | 2090 gfx::Transform half_green_content_to_target_transform; |
2091 gfx::Rect half_green_rect(gfx::Size(viewport.width() / 2, viewport.height())); | 2091 gfx::Rect half_green_rect(gfx::Size(viewport.width() / 2, viewport.height())); |
2092 SharedQuadState* half_green_shared_state = CreateTestSharedQuadState( | 2092 SharedQuadState* half_green_shared_state = CreateTestSharedQuadState( |
2093 half_green_content_to_target_transform, half_green_rect, pass.get()); | 2093 half_green_content_to_target_transform, half_green_rect, pass.get()); |
2094 SolidColorDrawQuad* half_color_quad = | 2094 SolidColorDrawQuad* half_color_quad = |
2095 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 2095 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
2096 half_color_quad->SetNew(half_green_shared_state, | 2096 half_color_quad->SetNew(half_green_shared_state, |
2097 half_green_rect, | 2097 half_green_rect, |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2133 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 2133 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
2134 blue_quad->SetNew(blue_shared_state, | 2134 blue_quad->SetNew(blue_shared_state, |
2135 viewport, | 2135 viewport, |
2136 gfx::Rect(), | 2136 gfx::Rect(), |
2137 viewport, | 2137 viewport, |
2138 gfx::RectF(0.f, 0.f, 1.f, 1.f), | 2138 gfx::RectF(0.f, 0.f, 1.f, 1.f), |
2139 viewport.size(), | 2139 viewport.size(), |
2140 texture_format, | 2140 texture_format, |
2141 viewport, | 2141 viewport, |
2142 1.f, | 2142 1.f, |
2143 PicturePileImpl::CreateFromOther(blue_pile)); | 2143 PicturePileImpl::CreateFromOther(blue_pile.get())); |
2144 | 2144 |
2145 RenderPassList pass_list; | 2145 RenderPassList pass_list; |
2146 pass_list.push_back(pass.Pass()); | 2146 pass_list.push_back(pass.Pass()); |
2147 | 2147 |
2148 EXPECT_TRUE(this->RunPixelTest(&pass_list, | 2148 EXPECT_TRUE(this->RunPixelTest(&pass_list, |
2149 base::FilePath(FILE_PATH_LITERAL("blue.png")), | 2149 base::FilePath(FILE_PATH_LITERAL("blue.png")), |
2150 ExactPixelComparator(true))); | 2150 ExactPixelComparator(true))); |
2151 } | 2151 } |
2152 | 2152 |
2153 TYPED_TEST(RendererPixelTest, WrapModeRepeat) { | 2153 TYPED_TEST(RendererPixelTest, WrapModeRepeat) { |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2209 EXPECT_TRUE(this->RunPixelTest( | 2209 EXPECT_TRUE(this->RunPixelTest( |
2210 &pass_list, | 2210 &pass_list, |
2211 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")), | 2211 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")), |
2212 FuzzyPixelOffByOneComparator(true))); | 2212 FuzzyPixelOffByOneComparator(true))); |
2213 } | 2213 } |
2214 | 2214 |
2215 #endif // !defined(OS_ANDROID) | 2215 #endif // !defined(OS_ANDROID) |
2216 | 2216 |
2217 } // namespace | 2217 } // namespace |
2218 } // namespace cc | 2218 } // namespace cc |
OLD | NEW |