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 "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" |
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
321 c, \ | 321 c, \ |
322 d, \ | 322 d, \ |
323 e, \ | 323 e, \ |
324 f, \ | 324 f, \ |
325 g, \ | 325 g, \ |
326 h, \ | 326 h, \ |
327 i); \ | 327 i); \ |
328 } \ | 328 } \ |
329 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); | 329 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); |
330 | 330 |
331 #define CREATE_QUAD_ALL_RP(Type, a, b, c, d, e, f, copy_a) \ | 331 #define CREATE_QUAD_ALL_RP(Type, a, b, c, d, e, f, g, copy_a) \ |
332 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \ | 332 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \ |
333 { \ | 333 { \ |
334 QUAD_DATA quad_all->SetAll(shared_state, \ | 334 QUAD_DATA quad_all->SetAll(shared_state, \ |
335 quad_rect, \ | 335 quad_rect, \ |
336 quad_opaque_rect, \ | 336 quad_opaque_rect, \ |
337 quad_visible_rect, \ | 337 quad_visible_rect, \ |
338 needs_blending, \ | 338 needs_blending, \ |
339 a, \ | 339 a, \ |
340 b, \ | 340 b, \ |
341 c, \ | 341 c, \ |
342 d, \ | 342 d, \ |
343 e, \ | 343 e, \ |
344 f); \ | 344 f, \ |
345 g); \ | |
345 } \ | 346 } \ |
346 SETUP_AND_COPY_QUAD_ALL_RP(Type, quad_all, copy_a); | 347 SETUP_AND_COPY_QUAD_ALL_RP(Type, quad_all, copy_a); |
347 | 348 |
348 #define CREATE_QUAD_NEW_RP(Type, a, b, c, d, e, f, g, copy_a) \ | 349 #define CREATE_QUAD_NEW_RP(Type, a, b, c, d, e, f, g, h, copy_a) \ |
349 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ | 350 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ |
350 { \ | 351 { \ |
351 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g); \ | 352 QUAD_DATA quad_new->SetNew( \ |
352 } \ | 353 shared_state, quad_rect, a, b, c, d, e, f, g, h); \ |
354 } \ | |
353 SETUP_AND_COPY_QUAD_NEW_RP(Type, quad_new, copy_a); | 355 SETUP_AND_COPY_QUAD_NEW_RP(Type, quad_new, copy_a); |
354 | 356 |
355 TEST(DrawQuadTest, CopyCheckerboardDrawQuad) { | 357 TEST(DrawQuadTest, CopyCheckerboardDrawQuad) { |
356 gfx::Rect visible_rect(40, 50, 30, 20); | 358 gfx::Rect visible_rect(40, 50, 30, 20); |
357 SkColor color = 0xfabb0011; | 359 SkColor color = 0xfabb0011; |
358 CREATE_SHARED_STATE(); | 360 CREATE_SHARED_STATE(); |
359 | 361 |
360 CREATE_QUAD_2_NEW(CheckerboardDrawQuad, visible_rect, color); | 362 CREATE_QUAD_2_NEW(CheckerboardDrawQuad, visible_rect, color); |
361 EXPECT_EQ(DrawQuad::CHECKERBOARD, copy_quad->material); | 363 EXPECT_EQ(DrawQuad::CHECKERBOARD, copy_quad->material); |
362 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect); | 364 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
410 EXPECT_EQ(DrawQuad::IO_SURFACE_CONTENT, copy_quad->material); | 412 EXPECT_EQ(DrawQuad::IO_SURFACE_CONTENT, copy_quad->material); |
411 EXPECT_EQ(size, copy_quad->io_surface_size); | 413 EXPECT_EQ(size, copy_quad->io_surface_size); |
412 EXPECT_EQ(resource_id, copy_quad->io_surface_resource_id); | 414 EXPECT_EQ(resource_id, copy_quad->io_surface_resource_id); |
413 EXPECT_EQ(orientation, copy_quad->orientation); | 415 EXPECT_EQ(orientation, copy_quad->orientation); |
414 } | 416 } |
415 | 417 |
416 TEST(DrawQuadTest, CopyRenderPassDrawQuad) { | 418 TEST(DrawQuadTest, CopyRenderPassDrawQuad) { |
417 gfx::Rect visible_rect(40, 50, 30, 20); | 419 gfx::Rect visible_rect(40, 50, 30, 20); |
418 RenderPassId render_pass_id(22, 64); | 420 RenderPassId render_pass_id(22, 64); |
419 ResourceProvider::ResourceId mask_resource_id = 78; | 421 ResourceProvider::ResourceId mask_resource_id = 78; |
420 gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f); | 422 gfx::Vector2dF mask_uv_scale(33.f, 19.f); |
423 gfx::Size mask_texture_size(128, 134); | |
421 FilterOperations filters; | 424 FilterOperations filters; |
422 filters.Append(FilterOperation::CreateBlurFilter(1.f)); | 425 filters.Append(FilterOperation::CreateBlurFilter(1.f)); |
423 gfx::Vector2dF filters_scale; | 426 gfx::Vector2dF filters_scale; |
424 FilterOperations background_filters; | 427 FilterOperations background_filters; |
425 background_filters.Append( | 428 background_filters.Append( |
426 FilterOperation::CreateGrayscaleFilter(1.f)); | 429 FilterOperation::CreateGrayscaleFilter(1.f)); |
427 | 430 |
428 RenderPassId copied_render_pass_id(235, 11); | 431 RenderPassId copied_render_pass_id(235, 11); |
429 CREATE_SHARED_STATE(); | 432 CREATE_SHARED_STATE(); |
430 | 433 |
431 CREATE_QUAD_NEW_RP(RenderPassDrawQuad, | 434 CREATE_QUAD_NEW_RP(RenderPassDrawQuad, |
432 visible_rect, | 435 visible_rect, |
433 render_pass_id, | 436 render_pass_id, |
434 mask_resource_id, | 437 mask_resource_id, |
435 mask_u_v_rect, | 438 mask_uv_scale, |
439 mask_texture_size, | |
436 filters, | 440 filters, |
437 filters_scale, | 441 filters_scale, |
438 background_filters, | 442 background_filters, |
439 copied_render_pass_id); | 443 copied_render_pass_id); |
440 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material); | 444 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material); |
441 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect); | 445 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect); |
442 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id); | 446 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id); |
443 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id); | 447 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id); |
444 EXPECT_EQ(mask_u_v_rect.ToString(), copy_quad->mask_uv_rect.ToString()); | 448 EXPECT_EQ(mask_uv_scale.ToString(), copy_quad->mask_uv_scale.ToString()); |
danakj
2014/10/15 15:33:35
you don't need to ToString() anymore for these thi
enne (OOO)
2014/10/15 19:10:54
Punt. The rest of the file ToStrings everything,
| |
449 EXPECT_EQ(mask_texture_size.ToString(), | |
450 copy_quad->mask_texture_size.ToString()); | |
445 EXPECT_EQ(filters, copy_quad->filters); | 451 EXPECT_EQ(filters, copy_quad->filters); |
446 EXPECT_EQ(filters_scale, copy_quad->filters_scale); | 452 EXPECT_EQ(filters_scale, copy_quad->filters_scale); |
447 EXPECT_EQ(background_filters, copy_quad->background_filters); | 453 EXPECT_EQ(background_filters, copy_quad->background_filters); |
448 | 454 |
449 CREATE_QUAD_ALL_RP(RenderPassDrawQuad, | 455 CREATE_QUAD_ALL_RP(RenderPassDrawQuad, |
450 render_pass_id, | 456 render_pass_id, |
451 mask_resource_id, | 457 mask_resource_id, |
452 mask_u_v_rect, | 458 mask_uv_scale, |
459 mask_texture_size, | |
453 filters, | 460 filters, |
454 filters_scale, | 461 filters_scale, |
455 background_filters, | 462 background_filters, |
456 copied_render_pass_id); | 463 copied_render_pass_id); |
457 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material); | 464 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material); |
458 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id); | 465 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id); |
459 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id); | 466 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id); |
460 EXPECT_EQ(mask_u_v_rect.ToString(), copy_quad->mask_uv_rect.ToString()); | 467 EXPECT_EQ(mask_uv_scale.ToString(), copy_quad->mask_uv_scale.ToString()); |
468 EXPECT_EQ(mask_texture_size.ToString(), | |
469 copy_quad->mask_texture_size.ToString()); | |
461 EXPECT_EQ(filters, copy_quad->filters); | 470 EXPECT_EQ(filters, copy_quad->filters); |
462 EXPECT_EQ(filters_scale, copy_quad->filters_scale); | 471 EXPECT_EQ(filters_scale, copy_quad->filters_scale); |
463 EXPECT_EQ(background_filters, copy_quad->background_filters); | 472 EXPECT_EQ(background_filters, copy_quad->background_filters); |
464 } | 473 } |
465 | 474 |
466 TEST(DrawQuadTest, CopySolidColorDrawQuad) { | 475 TEST(DrawQuadTest, CopySolidColorDrawQuad) { |
467 gfx::Rect visible_rect(40, 50, 30, 20); | 476 gfx::Rect visible_rect(40, 50, 30, 20); |
468 SkColor color = 0x49494949; | 477 SkColor color = 0x49494949; |
469 bool force_anti_aliasing_off = false; | 478 bool force_anti_aliasing_off = false; |
470 CREATE_SHARED_STATE(); | 479 CREATE_SHARED_STATE(); |
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
749 orientation); | 758 orientation); |
750 EXPECT_EQ(resource_id, quad_new->io_surface_resource_id); | 759 EXPECT_EQ(resource_id, quad_new->io_surface_resource_id); |
751 EXPECT_EQ(1, IterateAndCount(quad_new)); | 760 EXPECT_EQ(1, IterateAndCount(quad_new)); |
752 EXPECT_EQ(resource_id + 1, quad_new->io_surface_resource_id); | 761 EXPECT_EQ(resource_id + 1, quad_new->io_surface_resource_id); |
753 } | 762 } |
754 | 763 |
755 TEST_F(DrawQuadIteratorTest, RenderPassDrawQuad) { | 764 TEST_F(DrawQuadIteratorTest, RenderPassDrawQuad) { |
756 gfx::Rect visible_rect(40, 50, 30, 20); | 765 gfx::Rect visible_rect(40, 50, 30, 20); |
757 RenderPassId render_pass_id(22, 64); | 766 RenderPassId render_pass_id(22, 64); |
758 ResourceProvider::ResourceId mask_resource_id = 78; | 767 ResourceProvider::ResourceId mask_resource_id = 78; |
759 gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f); | 768 gfx::Vector2dF mask_uv_scale(33.f, 19.f); |
769 gfx::Size mask_texture_size(128, 134); | |
760 FilterOperations filters; | 770 FilterOperations filters; |
761 filters.Append(FilterOperation::CreateBlurFilter(1.f)); | 771 filters.Append(FilterOperation::CreateBlurFilter(1.f)); |
762 gfx::Vector2dF filters_scale(2.f, 3.f); | 772 gfx::Vector2dF filters_scale(2.f, 3.f); |
763 FilterOperations background_filters; | 773 FilterOperations background_filters; |
764 background_filters.Append( | 774 background_filters.Append( |
765 FilterOperation::CreateGrayscaleFilter(1.f)); | 775 FilterOperation::CreateGrayscaleFilter(1.f)); |
766 | 776 |
767 RenderPassId copied_render_pass_id(235, 11); | 777 RenderPassId copied_render_pass_id(235, 11); |
768 | 778 |
769 CREATE_SHARED_STATE(); | 779 CREATE_SHARED_STATE(); |
770 CREATE_QUAD_NEW_RP(RenderPassDrawQuad, | 780 CREATE_QUAD_NEW_RP(RenderPassDrawQuad, |
771 visible_rect, | 781 visible_rect, |
772 render_pass_id, | 782 render_pass_id, |
773 mask_resource_id, | 783 mask_resource_id, |
774 mask_u_v_rect, | 784 mask_uv_scale, |
785 mask_texture_size, | |
775 filters, | 786 filters, |
776 filters_scale, | 787 filters_scale, |
777 background_filters, | 788 background_filters, |
778 copied_render_pass_id); | 789 copied_render_pass_id); |
779 EXPECT_EQ(mask_resource_id, quad_new->mask_resource_id); | 790 EXPECT_EQ(mask_resource_id, quad_new->mask_resource_id); |
780 EXPECT_EQ(1, IterateAndCount(quad_new)); | 791 EXPECT_EQ(1, IterateAndCount(quad_new)); |
781 EXPECT_EQ(mask_resource_id + 1, quad_new->mask_resource_id); | 792 EXPECT_EQ(mask_resource_id + 1, quad_new->mask_resource_id); |
782 quad_new->mask_resource_id = 0; | 793 quad_new->mask_resource_id = 0; |
783 EXPECT_EQ(0, IterateAndCount(quad_new)); | 794 EXPECT_EQ(0, IterateAndCount(quad_new)); |
784 EXPECT_EQ(0u, quad_new->mask_resource_id); | 795 EXPECT_EQ(0u, quad_new->mask_resource_id); |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1008 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad); | 1019 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad); |
1009 break; | 1020 break; |
1010 case DrawQuad::INVALID: | 1021 case DrawQuad::INVALID: |
1011 break; | 1022 break; |
1012 } | 1023 } |
1013 } | 1024 } |
1014 } | 1025 } |
1015 | 1026 |
1016 } // namespace | 1027 } // namespace |
1017 } // namespace cc | 1028 } // namespace cc |
OLD | NEW |