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

Side by Side Diff: cc/layers/tiled_layer_impl_unittest.cc

Issue 448303002: Use custom ListContainer to allocate DrawQuads (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@perftest
Patch Set: change header files to try fix compile error Created 6 years, 2 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 "cc/layers/tiled_layer_impl.h" 5 #include "cc/layers/tiled_layer_impl.h"
6 6
7 #include "cc/layers/append_quads_data.h" 7 #include "cc/layers/append_quads_data.h"
8 #include "cc/quads/tile_draw_quad.h" 8 #include "cc/quads/tile_draw_quad.h"
9 #include "cc/resources/layer_tiling_data.h" 9 #include "cc/resources/layer_tiling_data.h"
10 #include "cc/test/fake_impl_proxy.h" 10 #include "cc/test/fake_impl_proxy.h"
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 // No checkerboarding 161 // No checkerboarding
162 { 162 {
163 MockOcclusionTracker<LayerImpl> occlusion_tracker; 163 MockOcclusionTracker<LayerImpl> occlusion_tracker;
164 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 164 scoped_ptr<RenderPass> render_pass = RenderPass::Create();
165 165
166 AppendQuadsData data; 166 AppendQuadsData data;
167 layer->AppendQuads(render_pass.get(), occlusion_tracker, &data); 167 layer->AppendQuads(render_pass.get(), occlusion_tracker, &data);
168 EXPECT_EQ(render_pass->quad_list.size(), 4u); 168 EXPECT_EQ(render_pass->quad_list.size(), 4u);
169 EXPECT_EQ(0u, data.num_missing_tiles); 169 EXPECT_EQ(0u, data.num_missing_tiles);
170 170
171 for (size_t i = 0; i < render_pass->quad_list.size(); ++i) 171 for (QuadList::Iterator iter = render_pass->quad_list.begin();
172 EXPECT_EQ(render_pass->quad_list[i]->material, DrawQuad::TILED_CONTENT); 172 iter != render_pass->quad_list.end();
173 ++iter)
174 EXPECT_EQ(iter->material, DrawQuad::TILED_CONTENT);
173 } 175 }
174 176
175 for (int i = 0; i < num_tiles_x; ++i) 177 for (int i = 0; i < num_tiles_x; ++i)
176 for (int j = 0; j < num_tiles_y; ++j) 178 for (int j = 0; j < num_tiles_y; ++j)
177 layer->PushTileProperties(i, j, 0, false); 179 layer->PushTileProperties(i, j, 0, false);
178 180
179 // All checkerboarding 181 // All checkerboarding
180 { 182 {
181 MockOcclusionTracker<LayerImpl> occlusion_tracker; 183 MockOcclusionTracker<LayerImpl> occlusion_tracker;
182 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 184 scoped_ptr<RenderPass> render_pass = RenderPass::Create();
183 185
184 AppendQuadsData data; 186 AppendQuadsData data;
185 layer->AppendQuads(render_pass.get(), occlusion_tracker, &data); 187 layer->AppendQuads(render_pass.get(), occlusion_tracker, &data);
186 EXPECT_LT(0u, data.num_missing_tiles); 188 EXPECT_LT(0u, data.num_missing_tiles);
187 EXPECT_EQ(render_pass->quad_list.size(), 4u); 189 EXPECT_EQ(render_pass->quad_list.size(), 4u);
188 for (size_t i = 0; i < render_pass->quad_list.size(); ++i) 190 for (QuadList::Iterator iter = render_pass->quad_list.begin();
189 EXPECT_NE(render_pass->quad_list[i]->material, DrawQuad::TILED_CONTENT); 191 iter != render_pass->quad_list.end();
192 ++iter)
193 EXPECT_NE(iter->material, DrawQuad::TILED_CONTENT);
190 } 194 }
191 } 195 }
192 196
193 // Test with both border texels and without. 197 // Test with both border texels and without.
194 #define WITH_AND_WITHOUT_BORDER_TEST(text_fixture_name) \ 198 #define WITH_AND_WITHOUT_BORDER_TEST(text_fixture_name) \
195 TEST_F(TiledLayerImplBorderTest, text_fixture_name##NoBorders) { \ 199 TEST_F(TiledLayerImplBorderTest, text_fixture_name##NoBorders) { \
196 text_fixture_name(LayerTilingData::NO_BORDER_TEXELS); \ 200 text_fixture_name(LayerTilingData::NO_BORDER_TEXELS); \
197 } \ 201 } \
198 TEST_F(TiledLayerImplBorderTest, text_fixture_name##HasBorders) { \ 202 TEST_F(TiledLayerImplBorderTest, text_fixture_name##HasBorders) { \
199 text_fixture_name(LayerTilingData::HAS_BORDER_TEXELS); \ 203 text_fixture_name(LayerTilingData::HAS_BORDER_TEXELS); \
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 TEST_F(TiledLayerImplTest, TextureInfoForLayerNoBorders) { 259 TEST_F(TiledLayerImplTest, TextureInfoForLayerNoBorders) {
256 gfx::Size tile_size(50, 50); 260 gfx::Size tile_size(50, 50);
257 gfx::Size layer_size(250, 250); 261 gfx::Size layer_size(250, 250);
258 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 262 scoped_ptr<RenderPass> render_pass = RenderPass::Create();
259 GetQuads(render_pass.get(), 263 GetQuads(render_pass.get(),
260 tile_size, 264 tile_size,
261 layer_size, 265 layer_size,
262 LayerTilingData::NO_BORDER_TEXELS, 266 LayerTilingData::NO_BORDER_TEXELS,
263 gfx::Rect(layer_size)); 267 gfx::Rect(layer_size));
264 268
265 for (size_t i = 0; i < render_pass->quad_list.size(); ++i) { 269 size_t i = 0;
266 const TileDrawQuad* quad = 270 for (QuadList::Iterator iter = render_pass->quad_list.begin();
267 TileDrawQuad::MaterialCast(render_pass->quad_list[i]); 271 iter != render_pass->quad_list.end();
272 ++iter) {
273 const TileDrawQuad* quad = TileDrawQuad::MaterialCast(&*iter);
268 274
269 EXPECT_NE(0u, quad->resource_id) << LayerTestCommon::quad_string << i; 275 EXPECT_NE(0u, quad->resource_id) << LayerTestCommon::quad_string << i;
270 EXPECT_EQ(gfx::RectF(gfx::PointF(), tile_size), quad->tex_coord_rect) 276 EXPECT_EQ(gfx::RectF(gfx::PointF(), tile_size), quad->tex_coord_rect)
271 << LayerTestCommon::quad_string << i; 277 << LayerTestCommon::quad_string << i;
272 EXPECT_EQ(tile_size, quad->texture_size) << LayerTestCommon::quad_string 278 EXPECT_EQ(tile_size, quad->texture_size) << LayerTestCommon::quad_string
273 << i; 279 << i;
274 } 280 }
275 } 281 }
276 282
277 TEST_F(TiledLayerImplTest, GPUMemoryUsage) { 283 TEST_F(TiledLayerImplTest, GPUMemoryUsage) {
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 LayerTestCommon::VerifyQuadsAreOccluded( 374 LayerTestCommon::VerifyQuadsAreOccluded(
369 impl.quad_list(), occluded, &partially_occluded_count); 375 impl.quad_list(), occluded, &partially_occluded_count);
370 // The layer outputs one quad, which is partially occluded. 376 // The layer outputs one quad, which is partially occluded.
371 EXPECT_EQ(100u - 10u, impl.quad_list().size()); 377 EXPECT_EQ(100u - 10u, impl.quad_list().size());
372 EXPECT_EQ(10u + 10u, partially_occluded_count); 378 EXPECT_EQ(10u + 10u, partially_occluded_count);
373 } 379 }
374 } 380 }
375 381
376 } // namespace 382 } // namespace
377 } // namespace cc 383 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/solid_color_layer_impl_unittest.cc ('k') | cc/layers/ui_resource_layer_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698