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

Side by Side Diff: cc/quads/draw_quad_unittest.cc

Issue 448133002: Remove unused RenderPassDrawQuad fields (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rpdqdamage: win64 Created 6 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 | Annotate | Revision Log
« no previous file with comments | « cc/output/renderer_pixeltest.cc ('k') | cc/quads/largest_draw_quad.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/quads/draw_quad.h" 5 #include "cc/quads/draw_quad.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
11 #include "cc/base/math_util.h" 11 #include "cc/base/math_util.h"
12 #include "cc/output/filter_operations.h" 12 #include "cc/output/filter_operations.h"
13 #include "cc/quads/checkerboard_draw_quad.h" 13 #include "cc/quads/checkerboard_draw_quad.h"
14 #include "cc/quads/debug_border_draw_quad.h" 14 #include "cc/quads/debug_border_draw_quad.h"
15 #include "cc/quads/io_surface_draw_quad.h" 15 #include "cc/quads/io_surface_draw_quad.h"
16 #include "cc/quads/largest_draw_quad.h"
16 #include "cc/quads/picture_draw_quad.h" 17 #include "cc/quads/picture_draw_quad.h"
17 #include "cc/quads/render_pass.h" 18 #include "cc/quads/render_pass.h"
18 #include "cc/quads/render_pass_draw_quad.h" 19 #include "cc/quads/render_pass_draw_quad.h"
19 #include "cc/quads/solid_color_draw_quad.h" 20 #include "cc/quads/solid_color_draw_quad.h"
20 #include "cc/quads/stream_video_draw_quad.h" 21 #include "cc/quads/stream_video_draw_quad.h"
21 #include "cc/quads/surface_draw_quad.h" 22 #include "cc/quads/surface_draw_quad.h"
22 #include "cc/quads/texture_draw_quad.h" 23 #include "cc/quads/texture_draw_quad.h"
23 #include "cc/quads/tile_draw_quad.h" 24 #include "cc/quads/tile_draw_quad.h"
24 #include "cc/quads/yuv_video_draw_quad.h" 25 #include "cc/quads/yuv_video_draw_quad.h"
25 #include "cc/resources/picture_pile_impl.h" 26 #include "cc/resources/picture_pile_impl.h"
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 quad_visible_rect, \ 220 quad_visible_rect, \
220 needs_blending, \ 221 needs_blending, \
221 a, \ 222 a, \
222 b, \ 223 b, \
223 c, \ 224 c, \
224 d, \ 225 d, \
225 e); \ 226 e); \
226 } \ 227 } \
227 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); 228 SETUP_AND_COPY_QUAD_ALL(Type, quad_all);
228 229
229 #define CREATE_QUAD_5_NEW_RP(Type, a, b, c, d, e, copy_a) \
230 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
231 { QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e); } \
232 SETUP_AND_COPY_QUAD_NEW_RP(Type, quad_new, copy_a);
233
234 #define CREATE_QUAD_5_ALL_RP(Type, a, b, c, d, e, copy_a) \
235 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
236 { \
237 QUAD_DATA quad_all->SetAll(shared_state, \
238 quad_rect, \
239 quad_opaque_rect, \
240 quad_visible_rect, \
241 needs_blending, \
242 a, \
243 b, \
244 c, \
245 d, \
246 e); \
247 } \
248 SETUP_AND_COPY_QUAD_ALL_RP(Type, quad_all, copy_a);
249
250 #define CREATE_QUAD_6_NEW(Type, a, b, c, d, e, f) \ 230 #define CREATE_QUAD_6_NEW(Type, a, b, c, d, e, f) \
251 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ 231 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
252 { QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f); } \ 232 { QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f); } \
253 SETUP_AND_COPY_QUAD_NEW(Type, quad_new); 233 SETUP_AND_COPY_QUAD_NEW(Type, quad_new);
254 234
255 #define CREATE_QUAD_6_ALL(Type, a, b, c, d, e, f) \ 235 #define CREATE_QUAD_6_ALL(Type, a, b, c, d, e, f) \
256 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \ 236 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
257 { \ 237 { \
258 QUAD_DATA quad_all->SetAll(shared_state, \ 238 QUAD_DATA quad_all->SetAll(shared_state, \
259 quad_rect, \ 239 quad_rect, \
(...skipping 27 matching lines...) Expand all
287 a, \ 267 a, \
288 b, \ 268 b, \
289 c, \ 269 c, \
290 d, \ 270 d, \
291 e, \ 271 e, \
292 f, \ 272 f, \
293 g); \ 273 g); \
294 } \ 274 } \
295 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); 275 SETUP_AND_COPY_QUAD_ALL(Type, quad_all);
296 276
297 #define CREATE_QUAD_7_NEW_RP(Type, a, b, c, d, e, f, g, copy_a) \
298 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
299 { \
300 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g); \
301 } \
302 SETUP_AND_COPY_QUAD_NEW_RP(Type, quad_new, copy_a);
303
304 #define CREATE_QUAD_7_ALL_RP(Type, a, b, c, d, e, f, g, copy_a) \
305 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
306 { \
307 QUAD_DATA quad_all->SetAll(shared_state, \
308 quad_rect, \
309 quad_opaque_rect, \
310 quad_visible_rect, \
311 needs_blending, \
312 a, \
313 b, \
314 c, \
315 d, \
316 e, \
317 f, \
318 g); \
319 } \
320 SETUP_AND_COPY_QUAD_ALL_RP(Type, quad_all, copy_a);
321
322 #define CREATE_QUAD_8_NEW(Type, a, b, c, d, e, f, g, h) \ 277 #define CREATE_QUAD_8_NEW(Type, a, b, c, d, e, f, g, h) \
323 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ 278 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
324 { \ 279 { \
325 QUAD_DATA quad_new->SetNew( \ 280 QUAD_DATA quad_new->SetNew( \
326 shared_state, quad_rect, a, b, c, d, e, f, g, h); \ 281 shared_state, quad_rect, a, b, c, d, e, f, g, h); \
327 } \ 282 } \
328 SETUP_AND_COPY_QUAD_NEW(Type, quad_new); 283 SETUP_AND_COPY_QUAD_NEW(Type, quad_new);
329 284
330 #define CREATE_QUAD_8_ALL(Type, a, b, c, d, e, f, g, h) \ 285 #define CREATE_QUAD_8_ALL(Type, a, b, c, d, e, f, g, h) \
331 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \ 286 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
332 { \ 287 { \
333 QUAD_DATA quad_all->SetAll(shared_state, \ 288 QUAD_DATA quad_all->SetAll(shared_state, \
334 quad_rect, \ 289 quad_rect, \
335 quad_opaque_rect, \ 290 quad_opaque_rect, \
336 quad_visible_rect, \ 291 quad_visible_rect, \
337 needs_blending, \ 292 needs_blending, \
338 a, \ 293 a, \
339 b, \ 294 b, \
340 c, \ 295 c, \
341 d, \ 296 d, \
342 e, \ 297 e, \
343 f, \ 298 f, \
344 g, \ 299 g, \
345 h); \ 300 h); \
346 } \ 301 } \
347 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); 302 SETUP_AND_COPY_QUAD_ALL(Type, quad_all);
348 303
349 #define CREATE_QUAD_8_ALL_RP(Type, a, b, c, d, e, f, g, h, copy_a) \
350 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
351 { \
352 QUAD_DATA quad_all->SetAll(shared_state, \
353 quad_rect, \
354 quad_opaque_rect, \
355 quad_visible_rect, \
356 needs_blending, \
357 a, \
358 b, \
359 c, \
360 d, \
361 e, \
362 f, \
363 g, \
364 h); \
365 } \
366 SETUP_AND_COPY_QUAD_ALL_RP(Type, quad_all, copy_a);
367
368 #define CREATE_QUAD_9_NEW(Type, a, b, c, d, e, f, g, h, i) \ 304 #define CREATE_QUAD_9_NEW(Type, a, b, c, d, e, f, g, h, i) \
369 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ 305 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
370 { \ 306 { \
371 QUAD_DATA quad_new->SetNew( \ 307 QUAD_DATA quad_new->SetNew( \
372 shared_state, quad_rect, a, b, c, d, e, f, g, h, i); \ 308 shared_state, quad_rect, a, b, c, d, e, f, g, h, i); \
373 } \ 309 } \
374 SETUP_AND_COPY_QUAD_NEW(Type, quad_new); 310 SETUP_AND_COPY_QUAD_NEW(Type, quad_new);
375 311
376 #define CREATE_QUAD_9_NEW_RP(Type, a, b, c, d, e, f, g, h, i, copy_a) \
377 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
378 { \
379 QUAD_DATA quad_new->SetNew( \
380 shared_state, quad_rect, a, b, c, d, e, f, g, h, i); \
381 } \
382 SETUP_AND_COPY_QUAD_NEW_RP(Type, quad_new, copy_a);
383
384 #define CREATE_QUAD_9_ALL(Type, a, b, c, d, e, f, g, h, i) \ 312 #define CREATE_QUAD_9_ALL(Type, a, b, c, d, e, f, g, h, i) \
385 { \ 313 { \
386 QUAD_DATA quad_all->SetAll(shared_state, \ 314 QUAD_DATA quad_all->SetAll(shared_state, \
387 quad_rect, \ 315 quad_rect, \
388 quad_opaque_rect, \ 316 quad_opaque_rect, \
389 quad_visible_rect, \ 317 quad_visible_rect, \
390 needs_blending, \ 318 needs_blending, \
391 a, \ 319 a, \
392 b, \ 320 b, \
393 c, \ 321 c, \
394 d, \ 322 d, \
395 e, \ 323 e, \
396 f, \ 324 f, \
397 g, \ 325 g, \
398 h, \ 326 h, \
399 i); \ 327 i); \
400 } \ 328 } \
401 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); 329 SETUP_AND_COPY_QUAD_ALL(Type, quad_all);
402 330
331 #define CREATE_QUAD_ALL_RP(Type, a, b, c, d, e, f, copy_a) \
332 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
333 { \
334 QUAD_DATA quad_all->SetAll(shared_state, \
335 quad_rect, \
336 quad_opaque_rect, \
337 quad_visible_rect, \
338 needs_blending, \
339 a, \
340 b, \
341 c, \
342 d, \
343 e, \
344 f); \
345 } \
346 SETUP_AND_COPY_QUAD_ALL_RP(Type, quad_all, copy_a);
347
348 #define CREATE_QUAD_NEW_RP(Type, a, b, c, d, e, f, g, copy_a) \
349 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
350 { \
351 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g); \
352 } \
353 SETUP_AND_COPY_QUAD_NEW_RP(Type, quad_new, copy_a);
354
403 TEST(DrawQuadTest, CopyCheckerboardDrawQuad) { 355 TEST(DrawQuadTest, CopyCheckerboardDrawQuad) {
404 gfx::Rect visible_rect(40, 50, 30, 20); 356 gfx::Rect visible_rect(40, 50, 30, 20);
405 SkColor color = 0xfabb0011; 357 SkColor color = 0xfabb0011;
406 CREATE_SHARED_STATE(); 358 CREATE_SHARED_STATE();
407 359
408 CREATE_QUAD_2_NEW(CheckerboardDrawQuad, visible_rect, color); 360 CREATE_QUAD_2_NEW(CheckerboardDrawQuad, visible_rect, color);
409 EXPECT_EQ(DrawQuad::CHECKERBOARD, copy_quad->material); 361 EXPECT_EQ(DrawQuad::CHECKERBOARD, copy_quad->material);
410 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect); 362 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect);
411 EXPECT_EQ(color, copy_quad->color); 363 EXPECT_EQ(color, copy_quad->color);
412 364
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
457 CREATE_QUAD_3_ALL(IOSurfaceDrawQuad, size, resource_id, orientation); 409 CREATE_QUAD_3_ALL(IOSurfaceDrawQuad, size, resource_id, orientation);
458 EXPECT_EQ(DrawQuad::IO_SURFACE_CONTENT, copy_quad->material); 410 EXPECT_EQ(DrawQuad::IO_SURFACE_CONTENT, copy_quad->material);
459 EXPECT_EQ(size, copy_quad->io_surface_size); 411 EXPECT_EQ(size, copy_quad->io_surface_size);
460 EXPECT_EQ(resource_id, copy_quad->io_surface_resource_id); 412 EXPECT_EQ(resource_id, copy_quad->io_surface_resource_id);
461 EXPECT_EQ(orientation, copy_quad->orientation); 413 EXPECT_EQ(orientation, copy_quad->orientation);
462 } 414 }
463 415
464 TEST(DrawQuadTest, CopyRenderPassDrawQuad) { 416 TEST(DrawQuadTest, CopyRenderPassDrawQuad) {
465 gfx::Rect visible_rect(40, 50, 30, 20); 417 gfx::Rect visible_rect(40, 50, 30, 20);
466 RenderPass::Id render_pass_id(22, 64); 418 RenderPass::Id render_pass_id(22, 64);
467 bool is_replica = true;
468 ResourceProvider::ResourceId mask_resource_id = 78; 419 ResourceProvider::ResourceId mask_resource_id = 78;
469 gfx::Rect contents_changed_since_last_frame(42, 11, 74, 24);
470 gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f); 420 gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f);
471 FilterOperations filters; 421 FilterOperations filters;
472 filters.Append(FilterOperation::CreateBlurFilter(1.f)); 422 filters.Append(FilterOperation::CreateBlurFilter(1.f));
473 gfx::Vector2dF filters_scale; 423 gfx::Vector2dF filters_scale;
474 FilterOperations background_filters; 424 FilterOperations background_filters;
475 background_filters.Append( 425 background_filters.Append(
476 FilterOperation::CreateGrayscaleFilter(1.f)); 426 FilterOperation::CreateGrayscaleFilter(1.f));
477 427
478 RenderPass::Id copied_render_pass_id(235, 11); 428 RenderPass::Id copied_render_pass_id(235, 11);
479 CREATE_SHARED_STATE(); 429 CREATE_SHARED_STATE();
480 430
481 CREATE_QUAD_9_NEW_RP(RenderPassDrawQuad, 431 CREATE_QUAD_NEW_RP(RenderPassDrawQuad,
482 visible_rect, 432 visible_rect,
483 render_pass_id, 433 render_pass_id,
484 is_replica, 434 mask_resource_id,
485 mask_resource_id, 435 mask_u_v_rect,
486 contents_changed_since_last_frame, 436 filters,
487 mask_u_v_rect, 437 filters_scale,
488 filters, 438 background_filters,
489 filters_scale, 439 copied_render_pass_id);
490 background_filters,
491 copied_render_pass_id);
492 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material); 440 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material);
493 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect); 441 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect);
494 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id); 442 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id);
495 EXPECT_EQ(is_replica, copy_quad->is_replica);
496 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id); 443 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id);
497 EXPECT_RECT_EQ(contents_changed_since_last_frame,
498 copy_quad->contents_changed_since_last_frame);
499 EXPECT_EQ(mask_u_v_rect.ToString(), copy_quad->mask_uv_rect.ToString()); 444 EXPECT_EQ(mask_u_v_rect.ToString(), copy_quad->mask_uv_rect.ToString());
500 EXPECT_EQ(filters, copy_quad->filters); 445 EXPECT_EQ(filters, copy_quad->filters);
446 EXPECT_EQ(filters_scale, copy_quad->filters_scale);
501 EXPECT_EQ(background_filters, copy_quad->background_filters); 447 EXPECT_EQ(background_filters, copy_quad->background_filters);
502 448
503 CREATE_QUAD_8_ALL_RP(RenderPassDrawQuad, 449 CREATE_QUAD_ALL_RP(RenderPassDrawQuad,
504 render_pass_id, 450 render_pass_id,
505 is_replica, 451 mask_resource_id,
506 mask_resource_id, 452 mask_u_v_rect,
507 contents_changed_since_last_frame, 453 filters,
508 mask_u_v_rect, 454 filters_scale,
509 filters, 455 background_filters,
510 filters_scale, 456 copied_render_pass_id);
511 background_filters,
512 copied_render_pass_id);
513 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material); 457 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material);
514 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id); 458 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id);
515 EXPECT_EQ(is_replica, copy_quad->is_replica);
516 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id); 459 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id);
517 EXPECT_RECT_EQ(contents_changed_since_last_frame,
518 copy_quad->contents_changed_since_last_frame);
519 EXPECT_EQ(mask_u_v_rect.ToString(), copy_quad->mask_uv_rect.ToString()); 460 EXPECT_EQ(mask_u_v_rect.ToString(), copy_quad->mask_uv_rect.ToString());
520 EXPECT_EQ(filters, copy_quad->filters); 461 EXPECT_EQ(filters, copy_quad->filters);
462 EXPECT_EQ(filters_scale, copy_quad->filters_scale);
521 EXPECT_EQ(background_filters, copy_quad->background_filters); 463 EXPECT_EQ(background_filters, copy_quad->background_filters);
522 } 464 }
523 465
524 TEST(DrawQuadTest, CopySolidColorDrawQuad) { 466 TEST(DrawQuadTest, CopySolidColorDrawQuad) {
525 gfx::Rect visible_rect(40, 50, 30, 20); 467 gfx::Rect visible_rect(40, 50, 30, 20);
526 SkColor color = 0x49494949; 468 SkColor color = 0x49494949;
527 bool force_anti_aliasing_off = false; 469 bool force_anti_aliasing_off = false;
528 CREATE_SHARED_STATE(); 470 CREATE_SHARED_STATE();
529 471
530 CREATE_QUAD_3_NEW( 472 CREATE_QUAD_3_NEW(
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
806 resource_id, 748 resource_id,
807 orientation); 749 orientation);
808 EXPECT_EQ(resource_id, quad_new->io_surface_resource_id); 750 EXPECT_EQ(resource_id, quad_new->io_surface_resource_id);
809 EXPECT_EQ(1, IterateAndCount(quad_new)); 751 EXPECT_EQ(1, IterateAndCount(quad_new));
810 EXPECT_EQ(resource_id + 1, quad_new->io_surface_resource_id); 752 EXPECT_EQ(resource_id + 1, quad_new->io_surface_resource_id);
811 } 753 }
812 754
813 TEST_F(DrawQuadIteratorTest, RenderPassDrawQuad) { 755 TEST_F(DrawQuadIteratorTest, RenderPassDrawQuad) {
814 gfx::Rect visible_rect(40, 50, 30, 20); 756 gfx::Rect visible_rect(40, 50, 30, 20);
815 RenderPass::Id render_pass_id(22, 64); 757 RenderPass::Id render_pass_id(22, 64);
816 bool is_replica = true;
817 ResourceProvider::ResourceId mask_resource_id = 78; 758 ResourceProvider::ResourceId mask_resource_id = 78;
818 gfx::Rect contents_changed_since_last_frame(42, 11, 74, 24);
819 gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f); 759 gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f);
820 FilterOperations filters; 760 FilterOperations filters;
821 filters.Append(FilterOperation::CreateBlurFilter(1.f)); 761 filters.Append(FilterOperation::CreateBlurFilter(1.f));
762 gfx::Vector2dF filters_scale(2.f, 3.f);
822 FilterOperations background_filters; 763 FilterOperations background_filters;
823 background_filters.Append( 764 background_filters.Append(
824 FilterOperation::CreateGrayscaleFilter(1.f)); 765 FilterOperation::CreateGrayscaleFilter(1.f));
825 766
826 RenderPass::Id copied_render_pass_id(235, 11); 767 RenderPass::Id copied_render_pass_id(235, 11);
827 768
828 CREATE_SHARED_STATE(); 769 CREATE_SHARED_STATE();
829 CREATE_QUAD_9_NEW_RP(RenderPassDrawQuad, 770 CREATE_QUAD_NEW_RP(RenderPassDrawQuad,
830 visible_rect, 771 visible_rect,
831 render_pass_id, 772 render_pass_id,
832 is_replica, 773 mask_resource_id,
833 mask_resource_id, 774 mask_u_v_rect,
834 contents_changed_since_last_frame, 775 filters,
835 mask_u_v_rect, 776 filters_scale,
836 filters, 777 background_filters,
837 gfx::Vector2dF(), 778 copied_render_pass_id);
838 background_filters,
839 copied_render_pass_id);
840 EXPECT_EQ(mask_resource_id, quad_new->mask_resource_id); 779 EXPECT_EQ(mask_resource_id, quad_new->mask_resource_id);
841 EXPECT_EQ(1, IterateAndCount(quad_new)); 780 EXPECT_EQ(1, IterateAndCount(quad_new));
842 EXPECT_EQ(mask_resource_id + 1, quad_new->mask_resource_id); 781 EXPECT_EQ(mask_resource_id + 1, quad_new->mask_resource_id);
843 quad_new->mask_resource_id = 0; 782 quad_new->mask_resource_id = 0;
844 EXPECT_EQ(0, IterateAndCount(quad_new)); 783 EXPECT_EQ(0, IterateAndCount(quad_new));
845 EXPECT_EQ(0u, quad_new->mask_resource_id); 784 EXPECT_EQ(0u, quad_new->mask_resource_id);
846 } 785 }
847 786
848 TEST_F(DrawQuadIteratorTest, SolidColorDrawQuad) { 787 TEST_F(DrawQuadIteratorTest, SolidColorDrawQuad) {
849 gfx::Rect visible_rect(40, 50, 30, 20); 788 gfx::Rect visible_rect(40, 50, 30, 20);
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
976 visible_rect, 915 visible_rect,
977 tex_coord_rect, 916 tex_coord_rect,
978 texture_size, 917 texture_size,
979 texture_format, 918 texture_format,
980 content_rect, 919 content_rect,
981 contents_scale, 920 contents_scale,
982 picture_pile); 921 picture_pile);
983 EXPECT_EQ(0, IterateAndCount(quad_new)); 922 EXPECT_EQ(0, IterateAndCount(quad_new));
984 } 923 }
985 924
925 TEST(DrawQuadTest, LargestQuadType) {
926 size_t largest = 0;
927
928 for (int i = 0; i <= DrawQuad::MATERIAL_LAST; ++i) {
929 switch (static_cast<DrawQuad::Material>(i)) {
930 case DrawQuad::CHECKERBOARD:
931 largest = std::max(largest, sizeof(CheckerboardDrawQuad));
932 break;
933 case DrawQuad::DEBUG_BORDER:
934 largest = std::max(largest, sizeof(DebugBorderDrawQuad));
935 break;
936 case DrawQuad::IO_SURFACE_CONTENT:
937 largest = std::max(largest, sizeof(IOSurfaceDrawQuad));
938 break;
939 case DrawQuad::PICTURE_CONTENT:
940 largest = std::max(largest, sizeof(PictureDrawQuad));
941 break;
942 case DrawQuad::TEXTURE_CONTENT:
943 largest = std::max(largest, sizeof(TextureDrawQuad));
944 break;
945 case DrawQuad::RENDER_PASS:
946 largest = std::max(largest, sizeof(RenderPassDrawQuad));
947 break;
948 case DrawQuad::SOLID_COLOR:
949 largest = std::max(largest, sizeof(SolidColorDrawQuad));
950 break;
951 case DrawQuad::SURFACE_CONTENT:
952 largest = std::max(largest, sizeof(SurfaceDrawQuad));
953 break;
954 case DrawQuad::TILED_CONTENT:
955 largest = std::max(largest, sizeof(TileDrawQuad));
956 break;
957 case DrawQuad::STREAM_VIDEO_CONTENT:
958 largest = std::max(largest, sizeof(StreamVideoDrawQuad));
959 break;
960 case DrawQuad::YUV_VIDEO_CONTENT:
961 largest = std::max(largest, sizeof(YUVVideoDrawQuad));
962 break;
963 case DrawQuad::INVALID:
964 break;
965 }
966 }
967 EXPECT_EQ(sizeof(kLargestDrawQuad), largest);
968
969 if (!HasFailure())
970 return;
971
972 // On failure, output the size of all quads for debugging.
973 LOG(ERROR) << "largest " << largest;
974 LOG(ERROR) << "kLargestDrawQuad " << sizeof(kLargestDrawQuad);
975 for (int i = 0; i <= DrawQuad::MATERIAL_LAST; ++i) {
976 switch (static_cast<DrawQuad::Material>(i)) {
977 case DrawQuad::CHECKERBOARD:
978 LOG(ERROR) << "CheckerboardDrawQuad " << sizeof(CheckerboardDrawQuad);
979 break;
980 case DrawQuad::DEBUG_BORDER:
981 LOG(ERROR) << "DebugBorderDrawQuad " << sizeof(DebugBorderDrawQuad);
982 break;
983 case DrawQuad::IO_SURFACE_CONTENT:
984 LOG(ERROR) << "IOSurfaceDrawQuad " << sizeof(IOSurfaceDrawQuad);
985 break;
986 case DrawQuad::PICTURE_CONTENT:
987 LOG(ERROR) << "PictureDrawQuad " << sizeof(PictureDrawQuad);
988 break;
989 case DrawQuad::TEXTURE_CONTENT:
990 LOG(ERROR) << "TextureDrawQuad " << sizeof(TextureDrawQuad);
991 break;
992 case DrawQuad::RENDER_PASS:
993 LOG(ERROR) << "RenderPassDrawQuad " << sizeof(RenderPassDrawQuad);
994 break;
995 case DrawQuad::SOLID_COLOR:
996 LOG(ERROR) << "SolidColorDrawQuad " << sizeof(SolidColorDrawQuad);
997 break;
998 case DrawQuad::SURFACE_CONTENT:
999 LOG(ERROR) << "SurfaceDrawQuad " << sizeof(SurfaceDrawQuad);
1000 break;
1001 case DrawQuad::TILED_CONTENT:
1002 LOG(ERROR) << "TileDrawQuad " << sizeof(TileDrawQuad);
1003 break;
1004 case DrawQuad::STREAM_VIDEO_CONTENT:
1005 LOG(ERROR) << "StreamVideoDrawQuad " << sizeof(StreamVideoDrawQuad);
1006 break;
1007 case DrawQuad::YUV_VIDEO_CONTENT:
1008 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad);
1009 break;
1010 case DrawQuad::INVALID:
1011 break;
1012 }
1013 }
1014 }
1015
986 } // namespace 1016 } // namespace
987 } // namespace cc 1017 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/renderer_pixeltest.cc ('k') | cc/quads/largest_draw_quad.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698