| 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 |