| 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 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 327 #define CREATE_QUAD_9_ALL(Type, a, b, c, d, e, f, g, h, i) \ | 327 #define CREATE_QUAD_9_ALL(Type, a, b, c, d, e, f, g, h, i) \ |
| 328 scoped_ptr<Type> quad_all(Type::Create()); \ | 328 scoped_ptr<Type> quad_all(Type::Create()); \ |
| 329 { \ | 329 { \ |
| 330 QUAD_DATA \ | 330 QUAD_DATA \ |
| 331 quad_all->SetAll(shared_state.get(), quad_rect, quad_opaque_rect, \ | 331 quad_all->SetAll(shared_state.get(), quad_rect, quad_opaque_rect, \ |
| 332 quad_visible_rect, needs_blending, \ | 332 quad_visible_rect, needs_blending, \ |
| 333 a, b, c, d, e, f, g, h, i); \ | 333 a, b, c, d, e, f, g, h, i); \ |
| 334 } \ | 334 } \ |
| 335 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); | 335 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); |
| 336 | 336 |
| 337 #define CREATE_QUAD_9_NEW_1(Type, a, b, c, d, e, f, g, h, i, copy_a) \ |
| 338 scoped_ptr<Type> quad_new(Type::Create()); \ |
| 339 { \ |
| 340 QUAD_DATA quad_new->SetNew( \ |
| 341 shared_state.get(), quad_rect, a, b, c, d, e, f, g, h, i); \ |
| 342 } \ |
| 343 SETUP_AND_COPY_QUAD_NEW_1(Type, quad_new, copy_a); |
| 344 |
| 337 TEST(DrawQuadTest, CopyCheckerboardDrawQuad) { | 345 TEST(DrawQuadTest, CopyCheckerboardDrawQuad) { |
| 338 gfx::Rect visible_rect(40, 50, 30, 20); | 346 gfx::Rect visible_rect(40, 50, 30, 20); |
| 339 SkColor color = 0xfabb0011; | 347 SkColor color = 0xfabb0011; |
| 340 CREATE_SHARED_STATE(); | 348 CREATE_SHARED_STATE(); |
| 341 | 349 |
| 342 CREATE_QUAD_2_NEW(CheckerboardDrawQuad, visible_rect, color); | 350 CREATE_QUAD_2_NEW(CheckerboardDrawQuad, visible_rect, color); |
| 343 EXPECT_EQ(DrawQuad::CHECKERBOARD, copy_quad->material); | 351 EXPECT_EQ(DrawQuad::CHECKERBOARD, copy_quad->material); |
| 344 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect); | 352 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect); |
| 345 EXPECT_EQ(color, copy_quad->color); | 353 EXPECT_EQ(color, copy_quad->color); |
| 346 | 354 |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 400 RenderPass::Id render_pass_id(22, 64); | 408 RenderPass::Id render_pass_id(22, 64); |
| 401 bool is_replica = true; | 409 bool is_replica = true; |
| 402 ResourceProvider::ResourceId mask_resource_id = 78; | 410 ResourceProvider::ResourceId mask_resource_id = 78; |
| 403 gfx::Rect contents_changed_since_last_frame(42, 11, 74, 24); | 411 gfx::Rect contents_changed_since_last_frame(42, 11, 74, 24); |
| 404 gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f); | 412 gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f); |
| 405 FilterOperations filters; | 413 FilterOperations filters; |
| 406 filters.Append(FilterOperation::CreateBlurFilter(1.f)); | 414 filters.Append(FilterOperation::CreateBlurFilter(1.f)); |
| 407 FilterOperations background_filters; | 415 FilterOperations background_filters; |
| 408 background_filters.Append( | 416 background_filters.Append( |
| 409 FilterOperation::CreateGrayscaleFilter(1.f)); | 417 FilterOperation::CreateGrayscaleFilter(1.f)); |
| 418 gfx::Vector2dF scale(1.f, 1.f); |
| 410 | 419 |
| 411 RenderPass::Id copied_render_pass_id(235, 11); | 420 RenderPass::Id copied_render_pass_id(235, 11); |
| 412 CREATE_SHARED_STATE(); | 421 CREATE_SHARED_STATE(); |
| 413 | 422 |
| 414 CREATE_QUAD_8_NEW_1(RenderPassDrawQuad, | 423 CREATE_QUAD_9_NEW_1(RenderPassDrawQuad, |
| 415 visible_rect, | 424 visible_rect, |
| 416 render_pass_id, | 425 render_pass_id, |
| 417 is_replica, | 426 is_replica, |
| 418 mask_resource_id, | 427 mask_resource_id, |
| 419 contents_changed_since_last_frame, | 428 contents_changed_since_last_frame, |
| 420 mask_u_v_rect, | 429 mask_u_v_rect, |
| 421 filters, | 430 filters, |
| 422 background_filters, | 431 background_filters, |
| 432 scale, |
| 423 copied_render_pass_id); | 433 copied_render_pass_id); |
| 424 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material); | 434 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material); |
| 425 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect); | 435 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect); |
| 426 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id); | 436 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id); |
| 427 EXPECT_EQ(is_replica, copy_quad->is_replica); | 437 EXPECT_EQ(is_replica, copy_quad->is_replica); |
| 428 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id); | 438 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id); |
| 429 EXPECT_RECT_EQ(contents_changed_since_last_frame, | 439 EXPECT_RECT_EQ(contents_changed_since_last_frame, |
| 430 copy_quad->contents_changed_since_last_frame); | 440 copy_quad->contents_changed_since_last_frame); |
| 431 EXPECT_EQ(mask_u_v_rect.ToString(), copy_quad->mask_uv_rect.ToString()); | 441 EXPECT_EQ(mask_u_v_rect.ToString(), copy_quad->mask_uv_rect.ToString()); |
| 432 EXPECT_EQ(filters, copy_quad->filters); | 442 EXPECT_EQ(filters, copy_quad->filters); |
| 433 EXPECT_EQ(background_filters, copy_quad->background_filters); | 443 EXPECT_EQ(background_filters, copy_quad->background_filters); |
| 434 | 444 |
| 435 CREATE_QUAD_7_ALL_1(RenderPassDrawQuad, | 445 CREATE_QUAD_8_ALL_1(RenderPassDrawQuad, |
| 436 render_pass_id, | 446 render_pass_id, |
| 437 is_replica, | 447 is_replica, |
| 438 mask_resource_id, | 448 mask_resource_id, |
| 439 contents_changed_since_last_frame, | 449 contents_changed_since_last_frame, |
| 440 mask_u_v_rect, | 450 mask_u_v_rect, |
| 441 filters, | 451 filters, |
| 442 background_filters, | 452 background_filters, |
| 453 scale, |
| 443 copied_render_pass_id); | 454 copied_render_pass_id); |
| 444 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material); | 455 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material); |
| 445 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id); | 456 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id); |
| 446 EXPECT_EQ(is_replica, copy_quad->is_replica); | 457 EXPECT_EQ(is_replica, copy_quad->is_replica); |
| 447 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id); | 458 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id); |
| 448 EXPECT_RECT_EQ(contents_changed_since_last_frame, | 459 EXPECT_RECT_EQ(contents_changed_since_last_frame, |
| 449 copy_quad->contents_changed_since_last_frame); | 460 copy_quad->contents_changed_since_last_frame); |
| 450 EXPECT_EQ(mask_u_v_rect.ToString(), copy_quad->mask_uv_rect.ToString()); | 461 EXPECT_EQ(mask_u_v_rect.ToString(), copy_quad->mask_uv_rect.ToString()); |
| 451 EXPECT_EQ(filters, copy_quad->filters); | 462 EXPECT_EQ(filters, copy_quad->filters); |
| 452 EXPECT_EQ(background_filters, copy_quad->background_filters); | 463 EXPECT_EQ(background_filters, copy_quad->background_filters); |
| (...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 746 RenderPass::Id render_pass_id(22, 64); | 757 RenderPass::Id render_pass_id(22, 64); |
| 747 bool is_replica = true; | 758 bool is_replica = true; |
| 748 ResourceProvider::ResourceId mask_resource_id = 78; | 759 ResourceProvider::ResourceId mask_resource_id = 78; |
| 749 gfx::Rect contents_changed_since_last_frame(42, 11, 74, 24); | 760 gfx::Rect contents_changed_since_last_frame(42, 11, 74, 24); |
| 750 gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f); | 761 gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f); |
| 751 FilterOperations filters; | 762 FilterOperations filters; |
| 752 filters.Append(FilterOperation::CreateBlurFilter(1.f)); | 763 filters.Append(FilterOperation::CreateBlurFilter(1.f)); |
| 753 FilterOperations background_filters; | 764 FilterOperations background_filters; |
| 754 background_filters.Append( | 765 background_filters.Append( |
| 755 FilterOperation::CreateGrayscaleFilter(1.f)); | 766 FilterOperation::CreateGrayscaleFilter(1.f)); |
| 767 gfx::Vector2dF scale(1.f, 1.f); |
| 756 | 768 |
| 757 RenderPass::Id copied_render_pass_id(235, 11); | 769 RenderPass::Id copied_render_pass_id(235, 11); |
| 758 | 770 |
| 759 CREATE_SHARED_STATE(); | 771 CREATE_SHARED_STATE(); |
| 760 CREATE_QUAD_8_NEW_1(RenderPassDrawQuad, | 772 CREATE_QUAD_9_NEW_1(RenderPassDrawQuad, |
| 761 visible_rect, | 773 visible_rect, |
| 762 render_pass_id, | 774 render_pass_id, |
| 763 is_replica, | 775 is_replica, |
| 764 mask_resource_id, | 776 mask_resource_id, |
| 765 contents_changed_since_last_frame, | 777 contents_changed_since_last_frame, |
| 766 mask_u_v_rect, | 778 mask_u_v_rect, |
| 767 filters, | 779 filters, |
| 768 background_filters, | 780 background_filters, |
| 781 scale, |
| 769 copied_render_pass_id); | 782 copied_render_pass_id); |
| 770 EXPECT_EQ(mask_resource_id, quad_new->mask_resource_id); | 783 EXPECT_EQ(mask_resource_id, quad_new->mask_resource_id); |
| 771 EXPECT_EQ(1, IterateAndCount(quad_new.get())); | 784 EXPECT_EQ(1, IterateAndCount(quad_new.get())); |
| 772 EXPECT_EQ(mask_resource_id + 1, quad_new->mask_resource_id); | 785 EXPECT_EQ(mask_resource_id + 1, quad_new->mask_resource_id); |
| 773 quad_new->mask_resource_id = 0; | 786 quad_new->mask_resource_id = 0; |
| 774 EXPECT_EQ(0, IterateAndCount(quad_new.get())); | 787 EXPECT_EQ(0, IterateAndCount(quad_new.get())); |
| 775 EXPECT_EQ(0u, quad_new->mask_resource_id); | 788 EXPECT_EQ(0u, quad_new->mask_resource_id); |
| 776 } | 789 } |
| 777 | 790 |
| 778 TEST_F(DrawQuadIteratorTest, SolidColorDrawQuad) { | 791 TEST_F(DrawQuadIteratorTest, SolidColorDrawQuad) { |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 908 texture_size, | 921 texture_size, |
| 909 texture_format, | 922 texture_format, |
| 910 content_rect, | 923 content_rect, |
| 911 contents_scale, | 924 contents_scale, |
| 912 picture_pile); | 925 picture_pile); |
| 913 EXPECT_EQ(0, IterateAndCount(quad_new.get())); | 926 EXPECT_EQ(0, IterateAndCount(quad_new.get())); |
| 914 } | 927 } |
| 915 | 928 |
| 916 } // namespace | 929 } // namespace |
| 917 } // namespace cc | 930 } // namespace cc |
| OLD | NEW |