| 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 1825 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1836 | 1836 |
| 1837 RenderPassId id(1, 1); | 1837 RenderPassId id(1, 1); |
| 1838 gfx::Transform transform_to_root; | 1838 gfx::Transform transform_to_root; |
| 1839 scoped_ptr<RenderPass> pass = | 1839 scoped_ptr<RenderPass> pass = |
| 1840 CreateTestRenderPass(id, viewport, transform_to_root); | 1840 CreateTestRenderPass(id, viewport, transform_to_root); |
| 1841 | 1841 |
| 1842 // One clipped blue quad in the lower right corner. Outside the clip | 1842 // One clipped blue quad in the lower right corner. Outside the clip |
| 1843 // is red, which should not appear. | 1843 // is red, which should not appear. |
| 1844 gfx::Rect blue_rect(gfx::Size(100, 100)); | 1844 gfx::Rect blue_rect(gfx::Size(100, 100)); |
| 1845 gfx::Rect blue_clip_rect(gfx::Point(50, 50), gfx::Size(50, 50)); | 1845 gfx::Rect blue_clip_rect(gfx::Point(50, 50), gfx::Size(50, 50)); |
| 1846 scoped_refptr<FakePicturePileImpl> blue_pile = | 1846 |
| 1847 FakePicturePileImpl::CreateFilledPile(pile_tile_size, blue_rect.size()); | 1847 scoped_ptr<FakePicturePile> blue_recording = |
| 1848 FakePicturePile::CreateFilledPile(pile_tile_size, blue_rect.size()); |
| 1848 SkPaint red_paint; | 1849 SkPaint red_paint; |
| 1849 red_paint.setColor(SK_ColorRED); | 1850 red_paint.setColor(SK_ColorRED); |
| 1850 blue_pile->add_draw_rect_with_paint(blue_rect, red_paint); | 1851 blue_recording->add_draw_rect_with_paint(blue_rect, red_paint); |
| 1851 SkPaint blue_paint; | 1852 SkPaint blue_paint; |
| 1852 blue_paint.setColor(SK_ColorBLUE); | 1853 blue_paint.setColor(SK_ColorBLUE); |
| 1853 blue_pile->add_draw_rect_with_paint(blue_clip_rect, blue_paint); | 1854 blue_recording->add_draw_rect_with_paint(blue_clip_rect, blue_paint); |
| 1854 blue_pile->RerecordPile(); | 1855 blue_recording->RerecordPile(); |
| 1856 |
| 1857 scoped_refptr<FakePicturePileImpl> blue_pile = |
| 1858 FakePicturePileImpl::CreateFromPile(blue_recording.get(), nullptr); |
| 1855 | 1859 |
| 1856 gfx::Transform blue_content_to_target_transform; | 1860 gfx::Transform blue_content_to_target_transform; |
| 1857 gfx::Vector2d offset(viewport.bottom_right() - blue_rect.bottom_right()); | 1861 gfx::Vector2d offset(viewport.bottom_right() - blue_rect.bottom_right()); |
| 1858 blue_content_to_target_transform.Translate(offset.x(), offset.y()); | 1862 blue_content_to_target_transform.Translate(offset.x(), offset.y()); |
| 1859 gfx::RectF blue_scissor_rect = blue_clip_rect; | 1863 gfx::RectF blue_scissor_rect = blue_clip_rect; |
| 1860 blue_content_to_target_transform.TransformRect(&blue_scissor_rect); | 1864 blue_content_to_target_transform.TransformRect(&blue_scissor_rect); |
| 1861 SharedQuadState* blue_shared_state = | 1865 SharedQuadState* blue_shared_state = |
| 1862 CreateTestSharedQuadStateClipped(blue_content_to_target_transform, | 1866 CreateTestSharedQuadStateClipped(blue_content_to_target_transform, |
| 1863 blue_rect, | 1867 blue_rect, |
| 1864 gfx::ToEnclosingRect(blue_scissor_rect), | 1868 gfx::ToEnclosingRect(blue_scissor_rect), |
| 1865 pass.get()); | 1869 pass.get()); |
| 1866 | 1870 |
| 1867 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 1871 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
| 1868 | 1872 |
| 1869 blue_quad->SetNew(blue_shared_state, | 1873 blue_quad->SetNew(blue_shared_state, |
| 1870 viewport, // Intentionally bigger than clip. | 1874 viewport, // Intentionally bigger than clip. |
| 1871 gfx::Rect(), viewport, gfx::RectF(viewport), | 1875 gfx::Rect(), viewport, gfx::RectF(viewport), |
| 1872 viewport.size(), nearest_neighbor, texture_format, viewport, | 1876 viewport.size(), nearest_neighbor, texture_format, viewport, |
| 1873 1.f, blue_pile.get()); | 1877 1.f, blue_pile.get()); |
| 1874 | 1878 |
| 1875 // One viewport-filling green quad. | 1879 // One viewport-filling green quad. |
| 1876 scoped_refptr<FakePicturePileImpl> green_pile = | 1880 scoped_ptr<FakePicturePile> green_recording = |
| 1877 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); | 1881 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); |
| 1878 SkPaint green_paint; | 1882 SkPaint green_paint; |
| 1879 green_paint.setColor(SK_ColorGREEN); | 1883 green_paint.setColor(SK_ColorGREEN); |
| 1880 green_pile->add_draw_rect_with_paint(viewport, green_paint); | 1884 green_recording->add_draw_rect_with_paint(viewport, green_paint); |
| 1881 green_pile->RerecordPile(); | 1885 green_recording->RerecordPile(); |
| 1886 scoped_refptr<FakePicturePileImpl> green_pile = |
| 1887 FakePicturePileImpl::CreateFromPile(green_recording.get(), nullptr); |
| 1882 | 1888 |
| 1883 gfx::Transform green_content_to_target_transform; | 1889 gfx::Transform green_content_to_target_transform; |
| 1884 SharedQuadState* green_shared_state = CreateTestSharedQuadState( | 1890 SharedQuadState* green_shared_state = CreateTestSharedQuadState( |
| 1885 green_content_to_target_transform, viewport, pass.get()); | 1891 green_content_to_target_transform, viewport, pass.get()); |
| 1886 | 1892 |
| 1887 PictureDrawQuad* green_quad = | 1893 PictureDrawQuad* green_quad = |
| 1888 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 1894 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
| 1889 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport, | 1895 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport, |
| 1890 gfx::RectF(0.f, 0.f, 1.f, 1.f), viewport.size(), | 1896 gfx::RectF(0.f, 0.f, 1.f, 1.f), viewport.size(), |
| 1891 nearest_neighbor, texture_format, viewport, 1.f, | 1897 nearest_neighbor, texture_format, viewport, 1.f, |
| (...skipping 14 matching lines...) Expand all Loading... |
| 1906 gfx::Rect viewport(this->device_viewport_size_); | 1912 gfx::Rect viewport(this->device_viewport_size_); |
| 1907 ResourceFormat texture_format = RGBA_8888; | 1913 ResourceFormat texture_format = RGBA_8888; |
| 1908 bool nearest_neighbor = false; | 1914 bool nearest_neighbor = false; |
| 1909 | 1915 |
| 1910 RenderPassId id(1, 1); | 1916 RenderPassId id(1, 1); |
| 1911 gfx::Transform transform_to_root; | 1917 gfx::Transform transform_to_root; |
| 1912 scoped_ptr<RenderPass> pass = | 1918 scoped_ptr<RenderPass> pass = |
| 1913 CreateTestRenderPass(id, viewport, transform_to_root); | 1919 CreateTestRenderPass(id, viewport, transform_to_root); |
| 1914 | 1920 |
| 1915 // One viewport-filling 0.5-opacity green quad. | 1921 // One viewport-filling 0.5-opacity green quad. |
| 1916 scoped_refptr<FakePicturePileImpl> green_pile = | 1922 scoped_ptr<FakePicturePile> green_recording = |
| 1917 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); | 1923 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); |
| 1918 SkPaint green_paint; | 1924 SkPaint green_paint; |
| 1919 green_paint.setColor(SK_ColorGREEN); | 1925 green_paint.setColor(SK_ColorGREEN); |
| 1920 green_pile->add_draw_rect_with_paint(viewport, green_paint); | 1926 green_recording->add_draw_rect_with_paint(viewport, green_paint); |
| 1921 green_pile->RerecordPile(); | 1927 green_recording->RerecordPile(); |
| 1928 scoped_refptr<FakePicturePileImpl> green_pile = |
| 1929 FakePicturePileImpl::CreateFromPile(green_recording.get(), nullptr); |
| 1922 | 1930 |
| 1923 gfx::Transform green_content_to_target_transform; | 1931 gfx::Transform green_content_to_target_transform; |
| 1924 SharedQuadState* green_shared_state = CreateTestSharedQuadState( | 1932 SharedQuadState* green_shared_state = CreateTestSharedQuadState( |
| 1925 green_content_to_target_transform, viewport, pass.get()); | 1933 green_content_to_target_transform, viewport, pass.get()); |
| 1926 green_shared_state->opacity = 0.5f; | 1934 green_shared_state->opacity = 0.5f; |
| 1927 | 1935 |
| 1928 PictureDrawQuad* green_quad = | 1936 PictureDrawQuad* green_quad = |
| 1929 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 1937 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
| 1930 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport, | 1938 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport, |
| 1931 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor, | 1939 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor, |
| 1932 texture_format, viewport, 1.f, green_pile.get()); | 1940 texture_format, viewport, 1.f, green_pile.get()); |
| 1933 | 1941 |
| 1934 // One viewport-filling white quad. | 1942 // One viewport-filling white quad. |
| 1935 scoped_refptr<FakePicturePileImpl> white_pile = | 1943 scoped_ptr<FakePicturePile> white_recording = |
| 1936 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); | 1944 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); |
| 1937 SkPaint white_paint; | 1945 SkPaint white_paint; |
| 1938 white_paint.setColor(SK_ColorWHITE); | 1946 white_paint.setColor(SK_ColorWHITE); |
| 1939 white_pile->add_draw_rect_with_paint(viewport, white_paint); | 1947 white_recording->add_draw_rect_with_paint(viewport, white_paint); |
| 1940 white_pile->RerecordPile(); | 1948 white_recording->RerecordPile(); |
| 1949 scoped_refptr<FakePicturePileImpl> white_pile = |
| 1950 FakePicturePileImpl::CreateFromPile(white_recording.get(), nullptr); |
| 1941 | 1951 |
| 1942 gfx::Transform white_content_to_target_transform; | 1952 gfx::Transform white_content_to_target_transform; |
| 1943 SharedQuadState* white_shared_state = CreateTestSharedQuadState( | 1953 SharedQuadState* white_shared_state = CreateTestSharedQuadState( |
| 1944 white_content_to_target_transform, viewport, pass.get()); | 1954 white_content_to_target_transform, viewport, pass.get()); |
| 1945 | 1955 |
| 1946 PictureDrawQuad* white_quad = | 1956 PictureDrawQuad* white_quad = |
| 1947 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 1957 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
| 1948 white_quad->SetNew(white_shared_state, viewport, gfx::Rect(), viewport, | 1958 white_quad->SetNew(white_shared_state, viewport, gfx::Rect(), viewport, |
| 1949 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor, | 1959 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor, |
| 1950 texture_format, viewport, 1.f, white_pile.get()); | 1960 texture_format, viewport, 1.f, white_pile.get()); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1994 bitmap.allocN32Pixels(2, 2); | 2004 bitmap.allocN32Pixels(2, 2); |
| 1995 { | 2005 { |
| 1996 SkAutoLockPixels lock(bitmap); | 2006 SkAutoLockPixels lock(bitmap); |
| 1997 SkCanvas canvas(bitmap); | 2007 SkCanvas canvas(bitmap); |
| 1998 canvas.drawPoint(0, 0, SK_ColorGREEN); | 2008 canvas.drawPoint(0, 0, SK_ColorGREEN); |
| 1999 canvas.drawPoint(0, 1, SK_ColorBLUE); | 2009 canvas.drawPoint(0, 1, SK_ColorBLUE); |
| 2000 canvas.drawPoint(1, 0, SK_ColorBLUE); | 2010 canvas.drawPoint(1, 0, SK_ColorBLUE); |
| 2001 canvas.drawPoint(1, 1, SK_ColorGREEN); | 2011 canvas.drawPoint(1, 1, SK_ColorGREEN); |
| 2002 } | 2012 } |
| 2003 | 2013 |
| 2004 scoped_refptr<FakePicturePileImpl> pile = | 2014 scoped_ptr<FakePicturePile> recording = |
| 2005 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); | 2015 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); |
| 2006 SkPaint paint; | 2016 SkPaint paint; |
| 2007 paint.setFilterLevel(SkPaint::kLow_FilterLevel); | 2017 paint.setFilterLevel(SkPaint::kLow_FilterLevel); |
| 2008 pile->add_draw_bitmap_with_paint(bitmap, gfx::Point(), paint); | 2018 recording->add_draw_bitmap_with_paint(bitmap, gfx::Point(), paint); |
| 2009 pile->RerecordPile(); | 2019 recording->RerecordPile(); |
| 2020 scoped_refptr<FakePicturePileImpl> pile = |
| 2021 FakePicturePileImpl::CreateFromPile(recording.get(), nullptr); |
| 2010 | 2022 |
| 2011 gfx::Transform content_to_target_transform; | 2023 gfx::Transform content_to_target_transform; |
| 2012 SharedQuadState* shared_state = CreateTestSharedQuadState( | 2024 SharedQuadState* shared_state = CreateTestSharedQuadState( |
| 2013 content_to_target_transform, viewport, pass.get()); | 2025 content_to_target_transform, viewport, pass.get()); |
| 2014 | 2026 |
| 2015 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 2027 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
| 2016 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport, | 2028 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport, |
| 2017 gfx::RectF(0, 0, 2, 2), viewport.size(), nearest_neighbor, | 2029 gfx::RectF(0, 0, 2, 2), viewport.size(), nearest_neighbor, |
| 2018 texture_format, viewport, 1.f, pile.get()); | 2030 texture_format, viewport, 1.f, pile.get()); |
| 2019 | 2031 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 2044 bitmap.allocN32Pixels(2, 2); | 2056 bitmap.allocN32Pixels(2, 2); |
| 2045 { | 2057 { |
| 2046 SkAutoLockPixels lock(bitmap); | 2058 SkAutoLockPixels lock(bitmap); |
| 2047 SkCanvas canvas(bitmap); | 2059 SkCanvas canvas(bitmap); |
| 2048 canvas.drawPoint(0, 0, SK_ColorGREEN); | 2060 canvas.drawPoint(0, 0, SK_ColorGREEN); |
| 2049 canvas.drawPoint(0, 1, SK_ColorBLUE); | 2061 canvas.drawPoint(0, 1, SK_ColorBLUE); |
| 2050 canvas.drawPoint(1, 0, SK_ColorBLUE); | 2062 canvas.drawPoint(1, 0, SK_ColorBLUE); |
| 2051 canvas.drawPoint(1, 1, SK_ColorGREEN); | 2063 canvas.drawPoint(1, 1, SK_ColorGREEN); |
| 2052 } | 2064 } |
| 2053 | 2065 |
| 2054 scoped_refptr<FakePicturePileImpl> pile = | 2066 scoped_ptr<FakePicturePile> recording = |
| 2055 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); | 2067 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); |
| 2056 SkPaint paint; | 2068 SkPaint paint; |
| 2057 paint.setFilterLevel(SkPaint::kLow_FilterLevel); | 2069 paint.setFilterLevel(SkPaint::kLow_FilterLevel); |
| 2058 pile->add_draw_bitmap_with_paint(bitmap, gfx::Point(), paint); | 2070 recording->add_draw_bitmap_with_paint(bitmap, gfx::Point(), paint); |
| 2059 pile->RerecordPile(); | 2071 recording->RerecordPile(); |
| 2072 scoped_refptr<FakePicturePileImpl> pile = |
| 2073 FakePicturePileImpl::CreateFromPile(recording.get(), nullptr); |
| 2060 | 2074 |
| 2061 gfx::Transform content_to_target_transform; | 2075 gfx::Transform content_to_target_transform; |
| 2062 SharedQuadState* shared_state = CreateTestSharedQuadState( | 2076 SharedQuadState* shared_state = CreateTestSharedQuadState( |
| 2063 content_to_target_transform, viewport, pass.get()); | 2077 content_to_target_transform, viewport, pass.get()); |
| 2064 | 2078 |
| 2065 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 2079 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
| 2066 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport, | 2080 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport, |
| 2067 gfx::RectF(0, 0, 2, 2), viewport.size(), nearest_neighbor, | 2081 gfx::RectF(0, 0, 2, 2), viewport.size(), nearest_neighbor, |
| 2068 texture_format, viewport, 1.f, pile.get()); | 2082 texture_format, viewport, 1.f, pile.get()); |
| 2069 | 2083 |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2146 scoped_ptr<RenderPass> pass = | 2160 scoped_ptr<RenderPass> pass = |
| 2147 CreateTestRenderPass(id, viewport, transform_to_root); | 2161 CreateTestRenderPass(id, viewport, transform_to_root); |
| 2148 | 2162 |
| 2149 // As scaling up the blue checkerboards will cause sampling on the GPU, | 2163 // As scaling up the blue checkerboards will cause sampling on the GPU, |
| 2150 // a few extra "cleanup rects" need to be added to clobber the blending | 2164 // a few extra "cleanup rects" need to be added to clobber the blending |
| 2151 // to make the output image more clean. This will also test subrects | 2165 // to make the output image more clean. This will also test subrects |
| 2152 // of the layer. | 2166 // of the layer. |
| 2153 gfx::Transform green_content_to_target_transform; | 2167 gfx::Transform green_content_to_target_transform; |
| 2154 gfx::Rect green_rect1(gfx::Point(80, 0), gfx::Size(20, 100)); | 2168 gfx::Rect green_rect1(gfx::Point(80, 0), gfx::Size(20, 100)); |
| 2155 gfx::Rect green_rect2(gfx::Point(0, 80), gfx::Size(100, 20)); | 2169 gfx::Rect green_rect2(gfx::Point(0, 80), gfx::Size(100, 20)); |
| 2156 scoped_refptr<FakePicturePileImpl> green_pile = | 2170 |
| 2157 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); | 2171 scoped_ptr<FakePicturePile> green_recording = |
| 2172 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); |
| 2173 |
| 2158 SkPaint red_paint; | 2174 SkPaint red_paint; |
| 2159 red_paint.setColor(SK_ColorRED); | 2175 red_paint.setColor(SK_ColorRED); |
| 2160 green_pile->add_draw_rect_with_paint(viewport, red_paint); | 2176 green_recording->add_draw_rect_with_paint(viewport, red_paint); |
| 2161 SkPaint green_paint; | 2177 SkPaint green_paint; |
| 2162 green_paint.setColor(SK_ColorGREEN); | 2178 green_paint.setColor(SK_ColorGREEN); |
| 2163 green_pile->add_draw_rect_with_paint(green_rect1, green_paint); | 2179 green_recording->add_draw_rect_with_paint(green_rect1, green_paint); |
| 2164 green_pile->add_draw_rect_with_paint(green_rect2, green_paint); | 2180 green_recording->add_draw_rect_with_paint(green_rect2, green_paint); |
| 2165 green_pile->RerecordPile(); | 2181 green_recording->RerecordPile(); |
| 2182 scoped_refptr<FakePicturePileImpl> green_pile = |
| 2183 FakePicturePileImpl::CreateFromPile(green_recording.get(), nullptr); |
| 2166 | 2184 |
| 2167 SharedQuadState* top_right_green_shared_quad_state = | 2185 SharedQuadState* top_right_green_shared_quad_state = |
| 2168 CreateTestSharedQuadState( | 2186 CreateTestSharedQuadState( |
| 2169 green_content_to_target_transform, viewport, pass.get()); | 2187 green_content_to_target_transform, viewport, pass.get()); |
| 2170 | 2188 |
| 2171 PictureDrawQuad* green_quad1 = | 2189 PictureDrawQuad* green_quad1 = |
| 2172 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 2190 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
| 2173 green_quad1->SetNew(top_right_green_shared_quad_state, green_rect1, | 2191 green_quad1->SetNew(top_right_green_shared_quad_state, green_rect1, |
| 2174 gfx::Rect(), green_rect1, gfx::RectF(green_rect1.size()), | 2192 gfx::Rect(), green_rect1, gfx::RectF(green_rect1.size()), |
| 2175 green_rect1.size(), nearest_neighbor, texture_format, | 2193 green_rect1.size(), nearest_neighbor, texture_format, |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2210 gfx::RectF blue_layer_rect2(gfx::PointF(8.0f, 6.5f), gfx::SizeF(2.5f, 2.5f)); | 2228 gfx::RectF blue_layer_rect2(gfx::PointF(8.0f, 6.5f), gfx::SizeF(2.5f, 2.5f)); |
| 2211 gfx::RectF union_layer_rect = blue_layer_rect1; | 2229 gfx::RectF union_layer_rect = blue_layer_rect1; |
| 2212 union_layer_rect.Union(blue_layer_rect2); | 2230 union_layer_rect.Union(blue_layer_rect2); |
| 2213 | 2231 |
| 2214 // Because scaling up will cause sampling outside the rects, add one extra | 2232 // Because scaling up will cause sampling outside the rects, add one extra |
| 2215 // pixel of buffer at the final content scale. | 2233 // pixel of buffer at the final content scale. |
| 2216 float inset = -1.f / contents_scale; | 2234 float inset = -1.f / contents_scale; |
| 2217 blue_layer_rect1.Inset(inset, inset, inset, inset); | 2235 blue_layer_rect1.Inset(inset, inset, inset, inset); |
| 2218 blue_layer_rect2.Inset(inset, inset, inset, inset); | 2236 blue_layer_rect2.Inset(inset, inset, inset, inset); |
| 2219 | 2237 |
| 2220 scoped_refptr<FakePicturePileImpl> pile = | 2238 scoped_ptr<FakePicturePile> recording = |
| 2221 FakePicturePileImpl::CreateFilledPile(pile_tile_size, layer_rect.size()); | 2239 FakePicturePile::CreateFilledPile(pile_tile_size, layer_rect.size()); |
| 2222 | 2240 |
| 2223 Region outside(layer_rect); | 2241 Region outside(layer_rect); |
| 2224 outside.Subtract(gfx::ToEnclosingRect(union_layer_rect)); | 2242 outside.Subtract(gfx::ToEnclosingRect(union_layer_rect)); |
| 2225 for (Region::Iterator iter(outside); iter.has_rect(); iter.next()) { | 2243 for (Region::Iterator iter(outside); iter.has_rect(); iter.next()) { |
| 2226 pile->add_draw_rect_with_paint(iter.rect(), red_paint); | 2244 recording->add_draw_rect_with_paint(iter.rect(), red_paint); |
| 2227 } | 2245 } |
| 2228 | 2246 |
| 2229 SkPaint blue_paint; | 2247 SkPaint blue_paint; |
| 2230 blue_paint.setColor(SK_ColorBLUE); | 2248 blue_paint.setColor(SK_ColorBLUE); |
| 2231 pile->add_draw_rect_with_paint(blue_layer_rect1, blue_paint); | 2249 recording->add_draw_rect_with_paint(blue_layer_rect1, blue_paint); |
| 2232 pile->add_draw_rect_with_paint(blue_layer_rect2, blue_paint); | 2250 recording->add_draw_rect_with_paint(blue_layer_rect2, blue_paint); |
| 2233 pile->RerecordPile(); | 2251 recording->RerecordPile(); |
| 2252 scoped_refptr<FakePicturePileImpl> pile = |
| 2253 FakePicturePileImpl::CreateFromPile(recording.get(), nullptr); |
| 2234 | 2254 |
| 2235 gfx::Rect content_rect( | 2255 gfx::Rect content_rect( |
| 2236 gfx::ScaleToEnclosingRect(layer_rect, contents_scale)); | 2256 gfx::ScaleToEnclosingRect(layer_rect, contents_scale)); |
| 2237 gfx::Rect content_union_rect( | 2257 gfx::Rect content_union_rect( |
| 2238 gfx::ToEnclosingRect(gfx::ScaleRect(union_layer_rect, contents_scale))); | 2258 gfx::ToEnclosingRect(gfx::ScaleRect(union_layer_rect, contents_scale))); |
| 2239 | 2259 |
| 2240 // At a scale of 4x the rectangles with a width of 2.5 will take up 10 pixels, | 2260 // At a scale of 4x the rectangles with a width of 2.5 will take up 10 pixels, |
| 2241 // so scale an additional 10x to make them 100x100. | 2261 // so scale an additional 10x to make them 100x100. |
| 2242 gfx::Transform content_to_target_transform; | 2262 gfx::Transform content_to_target_transform; |
| 2243 content_to_target_transform.Scale(10.0, 10.0); | 2263 content_to_target_transform.Scale(10.0, 10.0); |
| (...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2434 gfx::Rect viewport(this->device_viewport_size_); | 2454 gfx::Rect viewport(this->device_viewport_size_); |
| 2435 ResourceFormat texture_format = RGBA_4444; | 2455 ResourceFormat texture_format = RGBA_4444; |
| 2436 bool nearest_neighbor = false; | 2456 bool nearest_neighbor = false; |
| 2437 | 2457 |
| 2438 RenderPassId id(1, 1); | 2458 RenderPassId id(1, 1); |
| 2439 gfx::Transform transform_to_root; | 2459 gfx::Transform transform_to_root; |
| 2440 scoped_ptr<RenderPass> pass = | 2460 scoped_ptr<RenderPass> pass = |
| 2441 CreateTestRenderPass(id, viewport, transform_to_root); | 2461 CreateTestRenderPass(id, viewport, transform_to_root); |
| 2442 | 2462 |
| 2443 // One viewport-filling blue quad | 2463 // One viewport-filling blue quad |
| 2444 scoped_refptr<FakePicturePileImpl> blue_pile = | 2464 scoped_ptr<FakePicturePile> blue_recording = |
| 2445 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); | 2465 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); |
| 2446 SkPaint blue_paint; | 2466 SkPaint blue_paint; |
| 2447 blue_paint.setColor(SK_ColorBLUE); | 2467 blue_paint.setColor(SK_ColorBLUE); |
| 2448 blue_pile->add_draw_rect_with_paint(viewport, blue_paint); | 2468 blue_recording->add_draw_rect_with_paint(viewport, blue_paint); |
| 2449 blue_pile->RerecordPile(); | 2469 blue_recording->RerecordPile(); |
| 2470 scoped_refptr<FakePicturePileImpl> blue_pile = |
| 2471 FakePicturePileImpl::CreateFromPile(blue_recording.get(), nullptr); |
| 2450 | 2472 |
| 2451 gfx::Transform blue_content_to_target_transform; | 2473 gfx::Transform blue_content_to_target_transform; |
| 2452 SharedQuadState* blue_shared_state = CreateTestSharedQuadState( | 2474 SharedQuadState* blue_shared_state = CreateTestSharedQuadState( |
| 2453 blue_content_to_target_transform, viewport, pass.get()); | 2475 blue_content_to_target_transform, viewport, pass.get()); |
| 2454 | 2476 |
| 2455 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 2477 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
| 2456 blue_quad->SetNew(blue_shared_state, viewport, gfx::Rect(), viewport, | 2478 blue_quad->SetNew(blue_shared_state, viewport, gfx::Rect(), viewport, |
| 2457 gfx::RectF(0.f, 0.f, 1.f, 1.f), viewport.size(), | 2479 gfx::RectF(0.f, 0.f, 1.f, 1.f), viewport.size(), |
| 2458 nearest_neighbor, texture_format, viewport, 1.f, | 2480 nearest_neighbor, texture_format, viewport, 1.f, |
| 2459 blue_pile.get()); | 2481 blue_pile.get()); |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2526 EXPECT_TRUE(this->RunPixelTest( | 2548 EXPECT_TRUE(this->RunPixelTest( |
| 2527 &pass_list, | 2549 &pass_list, |
| 2528 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")), | 2550 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")), |
| 2529 FuzzyPixelOffByOneComparator(true))); | 2551 FuzzyPixelOffByOneComparator(true))); |
| 2530 } | 2552 } |
| 2531 | 2553 |
| 2532 #endif // !defined(OS_ANDROID) | 2554 #endif // !defined(OS_ANDROID) |
| 2533 | 2555 |
| 2534 } // namespace | 2556 } // namespace |
| 2535 } // namespace cc | 2557 } // namespace cc |
| OLD | NEW |