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

Side by Side Diff: cc/playback/display_list_raster_source_unittest.cc

Issue 1279843004: cc: Plumb more details about pixel refs to tile manager. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/memory/scoped_ptr.h" 5 #include "base/memory/scoped_ptr.h"
6 #include "cc/playback/display_list_raster_source.h" 6 #include "cc/playback/display_list_raster_source.h"
7 #include "cc/test/fake_display_list_recording_source.h" 7 #include "cc/test/fake_display_list_recording_source.h"
8 #include "cc/test/skia_common.h" 8 #include "cc/test/skia_common.h"
9 #include "skia/ext/refptr.h" 9 #include "skia/ext/refptr.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 gfx::Point(260, 260)); 193 gfx::Point(260, 260));
194 recording_source->SetGatherPixelRefs(true); 194 recording_source->SetGatherPixelRefs(true);
195 recording_source->Rerecord(); 195 recording_source->Rerecord();
196 196
197 scoped_refptr<DisplayListRasterSource> raster = 197 scoped_refptr<DisplayListRasterSource> raster =
198 DisplayListRasterSource::CreateFromDisplayListRecordingSource( 198 DisplayListRasterSource::CreateFromDisplayListRecordingSource(
199 recording_source.get(), false); 199 recording_source.get(), false);
200 200
201 // Tile sized iterators. These should find only one pixel ref. 201 // Tile sized iterators. These should find only one pixel ref.
202 { 202 {
203 std::vector<SkPixelRef*> pixel_refs; 203 std::vector<skia::PositionPixelRef> pixel_refs;
204 raster->GatherPixelRefs(gfx::Rect(0, 0, 256, 256), 1.0, &pixel_refs); 204 raster->GatherPixelRefs(gfx::Rect(0, 0, 256, 256), 1.0, &pixel_refs);
205 EXPECT_EQ(1u, pixel_refs.size()); 205 EXPECT_EQ(1u, pixel_refs.size());
206 EXPECT_EQ(discardable_bitmap[0][0].pixelRef(), pixel_refs[0]); 206 EXPECT_EQ(discardable_bitmap[0][0].pixelRef(), pixel_refs[0].pixel_ref);
207 EXPECT_EQ(gfx::RectF(32, 32).ToString(),
208 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect).ToString());
207 } 209 }
208 { 210 {
209 std::vector<SkPixelRef*> pixel_refs; 211 std::vector<skia::PositionPixelRef> pixel_refs;
210 raster->GatherPixelRefs(gfx::Rect(0, 0, 512, 512), 2.0, &pixel_refs); 212 raster->GatherPixelRefs(gfx::Rect(0, 0, 512, 512), 2.0, &pixel_refs);
211 EXPECT_EQ(1u, pixel_refs.size()); 213 EXPECT_EQ(1u, pixel_refs.size());
212 EXPECT_EQ(discardable_bitmap[0][0].pixelRef(), pixel_refs[0]); 214 EXPECT_EQ(discardable_bitmap[0][0].pixelRef(), pixel_refs[0].pixel_ref);
215 EXPECT_EQ(gfx::RectF(32, 32).ToString(),
216 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect).ToString());
213 } 217 }
214 { 218 {
215 std::vector<SkPixelRef*> pixel_refs; 219 std::vector<skia::PositionPixelRef> pixel_refs;
216 raster->GatherPixelRefs(gfx::Rect(0, 0, 128, 128), 0.5, &pixel_refs); 220 raster->GatherPixelRefs(gfx::Rect(0, 0, 128, 128), 0.5, &pixel_refs);
217 EXPECT_EQ(1u, pixel_refs.size()); 221 EXPECT_EQ(1u, pixel_refs.size());
218 EXPECT_EQ(discardable_bitmap[0][0].pixelRef(), pixel_refs[0]); 222 EXPECT_EQ(discardable_bitmap[0][0].pixelRef(), pixel_refs[0].pixel_ref);
223 EXPECT_EQ(gfx::RectF(32, 32).ToString(),
224 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect).ToString());
219 } 225 }
220 // Shifted tile sized iterators. These should find only one pixel ref. 226 // Shifted tile sized iterators. These should find only one pixel ref.
221 { 227 {
222 std::vector<SkPixelRef*> pixel_refs; 228 std::vector<skia::PositionPixelRef> pixel_refs;
223 raster->GatherPixelRefs(gfx::Rect(260, 260, 256, 256), 1.0, &pixel_refs); 229 raster->GatherPixelRefs(gfx::Rect(260, 260, 256, 256), 1.0, &pixel_refs);
224 EXPECT_EQ(1u, pixel_refs.size()); 230 EXPECT_EQ(1u, pixel_refs.size());
225 EXPECT_EQ(discardable_bitmap[1][1].pixelRef(), pixel_refs[0]); 231 EXPECT_EQ(discardable_bitmap[1][1].pixelRef(), pixel_refs[0].pixel_ref);
232 EXPECT_EQ(gfx::RectF(260, 260, 32, 32).ToString(),
233 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect).ToString());
226 } 234 }
227 { 235 {
228 std::vector<SkPixelRef*> pixel_refs; 236 std::vector<skia::PositionPixelRef> pixel_refs;
229 raster->GatherPixelRefs(gfx::Rect(520, 520, 512, 512), 2.0, &pixel_refs); 237 raster->GatherPixelRefs(gfx::Rect(520, 520, 512, 512), 2.0, &pixel_refs);
230 EXPECT_EQ(1u, pixel_refs.size()); 238 EXPECT_EQ(1u, pixel_refs.size());
231 EXPECT_EQ(discardable_bitmap[1][1].pixelRef(), pixel_refs[0]); 239 EXPECT_EQ(discardable_bitmap[1][1].pixelRef(), pixel_refs[0].pixel_ref);
240 EXPECT_EQ(gfx::RectF(260, 260, 32, 32).ToString(),
241 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect).ToString());
232 } 242 }
233 { 243 {
234 std::vector<SkPixelRef*> pixel_refs; 244 std::vector<skia::PositionPixelRef> pixel_refs;
235 raster->GatherPixelRefs(gfx::Rect(130, 130, 128, 128), 0.5, &pixel_refs); 245 raster->GatherPixelRefs(gfx::Rect(130, 130, 128, 128), 0.5, &pixel_refs);
236 EXPECT_EQ(1u, pixel_refs.size()); 246 EXPECT_EQ(1u, pixel_refs.size());
237 EXPECT_EQ(discardable_bitmap[1][1].pixelRef(), pixel_refs[0]); 247 EXPECT_EQ(discardable_bitmap[1][1].pixelRef(), pixel_refs[0].pixel_ref);
248 EXPECT_EQ(gfx::RectF(260, 260, 32, 32).ToString(),
249 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect).ToString());
238 } 250 }
239 // Ensure there's no discardable pixel refs in the empty cell 251 // Ensure there's no discardable pixel refs in the empty cell
240 { 252 {
241 std::vector<SkPixelRef*> pixel_refs; 253 std::vector<skia::PositionPixelRef> pixel_refs;
242 raster->GatherPixelRefs(gfx::Rect(0, 256, 256, 256), 1.0, &pixel_refs); 254 raster->GatherPixelRefs(gfx::Rect(0, 256, 256, 256), 1.0, &pixel_refs);
243 EXPECT_EQ(0u, pixel_refs.size()); 255 EXPECT_EQ(0u, pixel_refs.size());
244 } 256 }
245 // Layer sized iterators. These should find three pixel ref. 257 // Layer sized iterators. These should find three pixel ref.
246 { 258 {
247 std::vector<SkPixelRef*> pixel_refs; 259 std::vector<skia::PositionPixelRef> pixel_refs;
248 raster->GatherPixelRefs(gfx::Rect(0, 0, 512, 512), 1.0, &pixel_refs); 260 raster->GatherPixelRefs(gfx::Rect(0, 0, 512, 512), 1.0, &pixel_refs);
249 EXPECT_EQ(3u, pixel_refs.size()); 261 EXPECT_EQ(3u, pixel_refs.size());
250 EXPECT_EQ(discardable_bitmap[0][0].pixelRef(), pixel_refs[0]); 262 EXPECT_EQ(discardable_bitmap[0][0].pixelRef(), pixel_refs[0].pixel_ref);
251 EXPECT_EQ(discardable_bitmap[0][1].pixelRef(), pixel_refs[1]); 263 EXPECT_EQ(discardable_bitmap[0][1].pixelRef(), pixel_refs[1].pixel_ref);
252 EXPECT_EQ(discardable_bitmap[1][1].pixelRef(), pixel_refs[2]); 264 EXPECT_EQ(discardable_bitmap[1][1].pixelRef(), pixel_refs[2].pixel_ref);
265 EXPECT_EQ(gfx::RectF(32, 32).ToString(),
266 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect).ToString());
267 EXPECT_EQ(gfx::RectF(260, 0, 32, 32).ToString(),
268 gfx::SkRectToRectF(pixel_refs[1].pixel_ref_rect).ToString());
269 EXPECT_EQ(gfx::RectF(260, 260, 32, 32).ToString(),
270 gfx::SkRectToRectF(pixel_refs[2].pixel_ref_rect).ToString());
253 } 271 }
254 { 272 {
255 std::vector<SkPixelRef*> pixel_refs; 273 std::vector<skia::PositionPixelRef> pixel_refs;
256 raster->GatherPixelRefs(gfx::Rect(0, 0, 1024, 1024), 2.0, &pixel_refs); 274 raster->GatherPixelRefs(gfx::Rect(0, 0, 1024, 1024), 2.0, &pixel_refs);
257 EXPECT_EQ(3u, pixel_refs.size()); 275 EXPECT_EQ(3u, pixel_refs.size());
258 EXPECT_EQ(discardable_bitmap[0][0].pixelRef(), pixel_refs[0]); 276 EXPECT_EQ(discardable_bitmap[0][0].pixelRef(), pixel_refs[0].pixel_ref);
259 EXPECT_EQ(discardable_bitmap[0][1].pixelRef(), pixel_refs[1]); 277 EXPECT_EQ(discardable_bitmap[0][1].pixelRef(), pixel_refs[1].pixel_ref);
260 EXPECT_EQ(discardable_bitmap[1][1].pixelRef(), pixel_refs[2]); 278 EXPECT_EQ(discardable_bitmap[1][1].pixelRef(), pixel_refs[2].pixel_ref);
279 EXPECT_EQ(gfx::RectF(32, 32).ToString(),
280 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect).ToString());
281 EXPECT_EQ(gfx::RectF(260, 0, 32, 32).ToString(),
282 gfx::SkRectToRectF(pixel_refs[1].pixel_ref_rect).ToString());
283 EXPECT_EQ(gfx::RectF(260, 260, 32, 32).ToString(),
284 gfx::SkRectToRectF(pixel_refs[2].pixel_ref_rect).ToString());
261 } 285 }
262 { 286 {
263 std::vector<SkPixelRef*> pixel_refs; 287 std::vector<skia::PositionPixelRef> pixel_refs;
264 raster->GatherPixelRefs(gfx::Rect(0, 0, 256, 256), 0.5, &pixel_refs); 288 raster->GatherPixelRefs(gfx::Rect(0, 0, 256, 256), 0.5, &pixel_refs);
265 EXPECT_EQ(3u, pixel_refs.size()); 289 EXPECT_EQ(3u, pixel_refs.size());
266 EXPECT_EQ(discardable_bitmap[0][0].pixelRef(), pixel_refs[0]); 290 EXPECT_EQ(discardable_bitmap[0][0].pixelRef(), pixel_refs[0].pixel_ref);
267 EXPECT_EQ(discardable_bitmap[0][1].pixelRef(), pixel_refs[1]); 291 EXPECT_EQ(discardable_bitmap[0][1].pixelRef(), pixel_refs[1].pixel_ref);
268 EXPECT_EQ(discardable_bitmap[1][1].pixelRef(), pixel_refs[2]); 292 EXPECT_EQ(discardable_bitmap[1][1].pixelRef(), pixel_refs[2].pixel_ref);
293 EXPECT_EQ(gfx::RectF(32, 32).ToString(),
294 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect).ToString());
295 EXPECT_EQ(gfx::RectF(260, 0, 32, 32).ToString(),
296 gfx::SkRectToRectF(pixel_refs[1].pixel_ref_rect).ToString());
297 EXPECT_EQ(gfx::RectF(260, 260, 32, 32).ToString(),
298 gfx::SkRectToRectF(pixel_refs[2].pixel_ref_rect).ToString());
269 } 299 }
270 } 300 }
271 301
272 TEST(DisplayListRasterSourceTest, RasterFullContents) { 302 TEST(DisplayListRasterSourceTest, RasterFullContents) {
273 gfx::Size layer_bounds(3, 5); 303 gfx::Size layer_bounds(3, 5);
274 float contents_scale = 1.5f; 304 float contents_scale = 1.5f;
275 float raster_divisions = 2.f; 305 float raster_divisions = 2.f;
276 306
277 scoped_ptr<FakeDisplayListRecordingSource> recording_source = 307 scoped_ptr<FakeDisplayListRecordingSource> recording_source =
278 FakeDisplayListRecordingSource::CreateFilledRecordingSource(layer_bounds); 308 FakeDisplayListRecordingSource::CreateFilledRecordingSource(layer_bounds);
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 scoped_refptr<DisplayListRasterSource> raster = 594 scoped_refptr<DisplayListRasterSource> raster =
565 DisplayListRasterSource::CreateFromDisplayListRecordingSource( 595 DisplayListRasterSource::CreateFromDisplayListRecordingSource(
566 recording_source.get(), false); 596 recording_source.get(), false);
567 size_t total_memory_usage = raster->GetPictureMemoryUsage(); 597 size_t total_memory_usage = raster->GetPictureMemoryUsage();
568 EXPECT_GE(total_memory_usage, kReportedMemoryUsageInBytes); 598 EXPECT_GE(total_memory_usage, kReportedMemoryUsageInBytes);
569 EXPECT_LT(total_memory_usage, 2 * kReportedMemoryUsageInBytes); 599 EXPECT_LT(total_memory_usage, 2 * kReportedMemoryUsageInBytes);
570 } 600 }
571 601
572 } // namespace 602 } // namespace
573 } // namespace cc 603 } // namespace cc
OLDNEW
« no previous file with comments | « cc/playback/display_list_raster_source.cc ('k') | cc/playback/display_list_recording_source_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698