Chromium Code Reviews| 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 |