| 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 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 c, \ | 325 c, \ |
| 326 d, \ | 326 d, \ |
| 327 e, \ | 327 e, \ |
| 328 f, \ | 328 f, \ |
| 329 g, \ | 329 g, \ |
| 330 h, \ | 330 h, \ |
| 331 i); \ | 331 i); \ |
| 332 } \ | 332 } \ |
| 333 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); | 333 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); |
| 334 | 334 |
| 335 #define CREATE_QUAD_10_NEW(Type, a, b, c, d, e, f, g, h, i, j) \ |
| 336 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ |
| 337 { \ |
| 338 QUAD_DATA quad_new->SetNew( \ |
| 339 shared_state, quad_rect, a, b, c, d, e, f, g, h, i, j); \ |
| 340 } \ |
| 341 SETUP_AND_COPY_QUAD_NEW(Type, quad_new); |
| 342 |
| 335 #define CREATE_QUAD_ALL_RP(Type, a, b, c, d, e, f, g, copy_a) \ | 343 #define CREATE_QUAD_ALL_RP(Type, a, b, c, d, e, f, g, copy_a) \ |
| 336 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \ | 344 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \ |
| 337 { \ | 345 { \ |
| 338 QUAD_DATA quad_all->SetAll(shared_state, \ | 346 QUAD_DATA quad_all->SetAll(shared_state, \ |
| 339 quad_rect, \ | 347 quad_rect, \ |
| 340 quad_opaque_rect, \ | 348 quad_opaque_rect, \ |
| 341 quad_visible_rect, \ | 349 quad_visible_rect, \ |
| 342 needs_blending, \ | 350 needs_blending, \ |
| 343 a, \ | 351 a, \ |
| 344 b, \ | 352 b, \ |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 534 | 542 |
| 535 TEST(DrawQuadTest, CopyTextureDrawQuad) { | 543 TEST(DrawQuadTest, CopyTextureDrawQuad) { |
| 536 gfx::Rect opaque_rect(33, 47, 10, 12); | 544 gfx::Rect opaque_rect(33, 47, 10, 12); |
| 537 gfx::Rect visible_rect(40, 50, 30, 20); | 545 gfx::Rect visible_rect(40, 50, 30, 20); |
| 538 unsigned resource_id = 82; | 546 unsigned resource_id = 82; |
| 539 bool premultiplied_alpha = true; | 547 bool premultiplied_alpha = true; |
| 540 gfx::PointF uv_top_left(0.5f, 224.f); | 548 gfx::PointF uv_top_left(0.5f, 224.f); |
| 541 gfx::PointF uv_bottom_right(51.5f, 260.f); | 549 gfx::PointF uv_bottom_right(51.5f, 260.f); |
| 542 const float vertex_opacity[] = { 1.0f, 1.0f, 1.0f, 1.0f }; | 550 const float vertex_opacity[] = { 1.0f, 1.0f, 1.0f, 1.0f }; |
| 543 bool flipped = true; | 551 bool flipped = true; |
| 552 bool nearest_neighbor = true; |
| 544 CREATE_SHARED_STATE(); | 553 CREATE_SHARED_STATE(); |
| 545 | 554 |
| 546 CREATE_QUAD_9_NEW(TextureDrawQuad, | 555 CREATE_QUAD_10_NEW(TextureDrawQuad, |
| 547 opaque_rect, | 556 opaque_rect, |
| 548 visible_rect, | 557 visible_rect, |
| 549 resource_id, | 558 resource_id, |
| 550 premultiplied_alpha, | 559 premultiplied_alpha, |
| 551 uv_top_left, | 560 uv_top_left, |
| 552 uv_bottom_right, | 561 uv_bottom_right, |
| 553 SK_ColorTRANSPARENT, | 562 SK_ColorTRANSPARENT, |
| 554 vertex_opacity, | 563 vertex_opacity, |
| 555 flipped); | 564 flipped, |
| 565 nearest_neighbor); |
| 556 EXPECT_EQ(DrawQuad::TEXTURE_CONTENT, copy_quad->material); | 566 EXPECT_EQ(DrawQuad::TEXTURE_CONTENT, copy_quad->material); |
| 557 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect); | 567 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect); |
| 558 EXPECT_RECT_EQ(opaque_rect, copy_quad->opaque_rect); | 568 EXPECT_RECT_EQ(opaque_rect, copy_quad->opaque_rect); |
| 559 EXPECT_EQ(resource_id, copy_quad->resource_id); | 569 EXPECT_EQ(resource_id, copy_quad->resource_id); |
| 560 EXPECT_EQ(premultiplied_alpha, copy_quad->premultiplied_alpha); | 570 EXPECT_EQ(premultiplied_alpha, copy_quad->premultiplied_alpha); |
| 561 EXPECT_EQ(uv_top_left, copy_quad->uv_top_left); | 571 EXPECT_EQ(uv_top_left, copy_quad->uv_top_left); |
| 562 EXPECT_EQ(uv_bottom_right, copy_quad->uv_bottom_right); | 572 EXPECT_EQ(uv_bottom_right, copy_quad->uv_bottom_right); |
| 563 EXPECT_FLOAT_ARRAY_EQ(vertex_opacity, copy_quad->vertex_opacity, 4); | 573 EXPECT_FLOAT_ARRAY_EQ(vertex_opacity, copy_quad->vertex_opacity, 4); |
| 564 EXPECT_EQ(flipped, copy_quad->flipped); | 574 EXPECT_EQ(flipped, copy_quad->flipped); |
| 575 EXPECT_EQ(nearest_neighbor, copy_quad->nearest_neighbor); |
| 565 | 576 |
| 566 CREATE_QUAD_7_ALL(TextureDrawQuad, | 577 CREATE_QUAD_8_ALL(TextureDrawQuad, |
| 567 resource_id, | 578 resource_id, |
| 568 premultiplied_alpha, | 579 premultiplied_alpha, |
| 569 uv_top_left, | 580 uv_top_left, |
| 570 uv_bottom_right, | 581 uv_bottom_right, |
| 571 SK_ColorTRANSPARENT, | 582 SK_ColorTRANSPARENT, |
| 572 vertex_opacity, | 583 vertex_opacity, |
| 573 flipped); | 584 flipped, |
| 585 nearest_neighbor); |
| 574 EXPECT_EQ(DrawQuad::TEXTURE_CONTENT, copy_quad->material); | 586 EXPECT_EQ(DrawQuad::TEXTURE_CONTENT, copy_quad->material); |
| 575 EXPECT_EQ(resource_id, copy_quad->resource_id); | 587 EXPECT_EQ(resource_id, copy_quad->resource_id); |
| 576 EXPECT_EQ(premultiplied_alpha, copy_quad->premultiplied_alpha); | 588 EXPECT_EQ(premultiplied_alpha, copy_quad->premultiplied_alpha); |
| 577 EXPECT_EQ(uv_top_left, copy_quad->uv_top_left); | 589 EXPECT_EQ(uv_top_left, copy_quad->uv_top_left); |
| 578 EXPECT_EQ(uv_bottom_right, copy_quad->uv_bottom_right); | 590 EXPECT_EQ(uv_bottom_right, copy_quad->uv_bottom_right); |
| 579 EXPECT_FLOAT_ARRAY_EQ(vertex_opacity, copy_quad->vertex_opacity, 4); | 591 EXPECT_FLOAT_ARRAY_EQ(vertex_opacity, copy_quad->vertex_opacity, 4); |
| 580 EXPECT_EQ(flipped, copy_quad->flipped); | 592 EXPECT_EQ(flipped, copy_quad->flipped); |
| 593 EXPECT_EQ(nearest_neighbor, copy_quad->nearest_neighbor); |
| 581 } | 594 } |
| 582 | 595 |
| 583 TEST(DrawQuadTest, CopyTileDrawQuad) { | 596 TEST(DrawQuadTest, CopyTileDrawQuad) { |
| 584 gfx::Rect opaque_rect(33, 44, 22, 33); | 597 gfx::Rect opaque_rect(33, 44, 22, 33); |
| 585 gfx::Rect visible_rect(40, 50, 30, 20); | 598 gfx::Rect visible_rect(40, 50, 30, 20); |
| 586 unsigned resource_id = 104; | 599 unsigned resource_id = 104; |
| 587 gfx::RectF tex_coord_rect(31.f, 12.f, 54.f, 20.f); | 600 gfx::RectF tex_coord_rect(31.f, 12.f, 54.f, 20.f); |
| 588 gfx::Size texture_size(85, 32); | 601 gfx::Size texture_size(85, 32); |
| 589 bool swizzle_contents = true; | 602 bool swizzle_contents = true; |
| 590 CREATE_SHARED_STATE(); | 603 CREATE_SHARED_STATE(); |
| (...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 835 | 848 |
| 836 TEST_F(DrawQuadIteratorTest, TextureDrawQuad) { | 849 TEST_F(DrawQuadIteratorTest, TextureDrawQuad) { |
| 837 gfx::Rect opaque_rect(33, 47, 10, 12); | 850 gfx::Rect opaque_rect(33, 47, 10, 12); |
| 838 gfx::Rect visible_rect(40, 50, 30, 20); | 851 gfx::Rect visible_rect(40, 50, 30, 20); |
| 839 unsigned resource_id = 82; | 852 unsigned resource_id = 82; |
| 840 bool premultiplied_alpha = true; | 853 bool premultiplied_alpha = true; |
| 841 gfx::PointF uv_top_left(0.5f, 224.f); | 854 gfx::PointF uv_top_left(0.5f, 224.f); |
| 842 gfx::PointF uv_bottom_right(51.5f, 260.f); | 855 gfx::PointF uv_bottom_right(51.5f, 260.f); |
| 843 const float vertex_opacity[] = { 1.0f, 1.0f, 1.0f, 1.0f }; | 856 const float vertex_opacity[] = { 1.0f, 1.0f, 1.0f, 1.0f }; |
| 844 bool flipped = true; | 857 bool flipped = true; |
| 858 bool nearest_neighbor = true; |
| 845 | 859 |
| 846 CREATE_SHARED_STATE(); | 860 CREATE_SHARED_STATE(); |
| 847 CREATE_QUAD_9_NEW(TextureDrawQuad, | 861 CREATE_QUAD_10_NEW(TextureDrawQuad, |
| 848 opaque_rect, | 862 opaque_rect, |
| 849 visible_rect, | 863 visible_rect, |
| 850 resource_id, | 864 resource_id, |
| 851 premultiplied_alpha, | 865 premultiplied_alpha, |
| 852 uv_top_left, | 866 uv_top_left, |
| 853 uv_bottom_right, | 867 uv_bottom_right, |
| 854 SK_ColorTRANSPARENT, | 868 SK_ColorTRANSPARENT, |
| 855 vertex_opacity, | 869 vertex_opacity, |
| 856 flipped); | 870 flipped, |
| 871 nearest_neighbor); |
| 857 EXPECT_EQ(resource_id, quad_new->resource_id); | 872 EXPECT_EQ(resource_id, quad_new->resource_id); |
| 858 EXPECT_EQ(1, IterateAndCount(quad_new)); | 873 EXPECT_EQ(1, IterateAndCount(quad_new)); |
| 859 EXPECT_EQ(resource_id + 1, quad_new->resource_id); | 874 EXPECT_EQ(resource_id + 1, quad_new->resource_id); |
| 860 } | 875 } |
| 861 | 876 |
| 862 TEST_F(DrawQuadIteratorTest, TileDrawQuad) { | 877 TEST_F(DrawQuadIteratorTest, TileDrawQuad) { |
| 863 gfx::Rect opaque_rect(33, 44, 22, 33); | 878 gfx::Rect opaque_rect(33, 44, 22, 33); |
| 864 gfx::Rect visible_rect(40, 50, 30, 20); | 879 gfx::Rect visible_rect(40, 50, 30, 20); |
| 865 unsigned resource_id = 104; | 880 unsigned resource_id = 104; |
| 866 gfx::RectF tex_coord_rect(31.f, 12.f, 54.f, 20.f); | 881 gfx::RectF tex_coord_rect(31.f, 12.f, 54.f, 20.f); |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1023 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad); | 1038 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad); |
| 1024 break; | 1039 break; |
| 1025 case DrawQuad::INVALID: | 1040 case DrawQuad::INVALID: |
| 1026 break; | 1041 break; |
| 1027 } | 1042 } |
| 1028 } | 1043 } |
| 1029 } | 1044 } |
| 1030 | 1045 |
| 1031 } // namespace | 1046 } // namespace |
| 1032 } // namespace cc | 1047 } // namespace cc |
| OLD | NEW |