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

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

Issue 930503002: cc: Make raster source members const (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Display lists too Created 5 years, 10 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 "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
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
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
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
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698