| 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 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 825 | 838 |
| 826 TEST_F(DrawQuadIteratorTest, TextureDrawQuad) { | 839 TEST_F(DrawQuadIteratorTest, TextureDrawQuad) { |
| 827 gfx::Rect opaque_rect(33, 47, 10, 12); | 840 gfx::Rect opaque_rect(33, 47, 10, 12); |
| 828 gfx::Rect visible_rect(40, 50, 30, 20); | 841 gfx::Rect visible_rect(40, 50, 30, 20); |
| 829 unsigned resource_id = 82; | 842 unsigned resource_id = 82; |
| 830 bool premultiplied_alpha = true; | 843 bool premultiplied_alpha = true; |
| 831 gfx::PointF uv_top_left(0.5f, 224.f); | 844 gfx::PointF uv_top_left(0.5f, 224.f); |
| 832 gfx::PointF uv_bottom_right(51.5f, 260.f); | 845 gfx::PointF uv_bottom_right(51.5f, 260.f); |
| 833 const float vertex_opacity[] = { 1.0f, 1.0f, 1.0f, 1.0f }; | 846 const float vertex_opacity[] = { 1.0f, 1.0f, 1.0f, 1.0f }; |
| 834 bool flipped = true; | 847 bool flipped = true; |
| 848 bool nearest_neighbor = true; |
| 835 | 849 |
| 836 CREATE_SHARED_STATE(); | 850 CREATE_SHARED_STATE(); |
| 837 CREATE_QUAD_9_NEW(TextureDrawQuad, | 851 CREATE_QUAD_10_NEW(TextureDrawQuad, |
| 838 opaque_rect, | 852 opaque_rect, |
| 839 visible_rect, | 853 visible_rect, |
| 840 resource_id, | 854 resource_id, |
| 841 premultiplied_alpha, | 855 premultiplied_alpha, |
| 842 uv_top_left, | 856 uv_top_left, |
| 843 uv_bottom_right, | 857 uv_bottom_right, |
| 844 SK_ColorTRANSPARENT, | 858 SK_ColorTRANSPARENT, |
| 845 vertex_opacity, | 859 vertex_opacity, |
| 846 flipped); | 860 flipped, |
| 861 nearest_neighbor); |
| 847 EXPECT_EQ(resource_id, quad_new->resource_id); | 862 EXPECT_EQ(resource_id, quad_new->resource_id); |
| 848 EXPECT_EQ(1, IterateAndCount(quad_new)); | 863 EXPECT_EQ(1, IterateAndCount(quad_new)); |
| 849 EXPECT_EQ(resource_id + 1, quad_new->resource_id); | 864 EXPECT_EQ(resource_id + 1, quad_new->resource_id); |
| 850 } | 865 } |
| 851 | 866 |
| 852 TEST_F(DrawQuadIteratorTest, TileDrawQuad) { | 867 TEST_F(DrawQuadIteratorTest, TileDrawQuad) { |
| 853 gfx::Rect opaque_rect(33, 44, 22, 33); | 868 gfx::Rect opaque_rect(33, 44, 22, 33); |
| 854 gfx::Rect visible_rect(40, 50, 30, 20); | 869 gfx::Rect visible_rect(40, 50, 30, 20); |
| 855 unsigned resource_id = 104; | 870 unsigned resource_id = 104; |
| 856 gfx::RectF tex_coord_rect(31.f, 12.f, 54.f, 20.f); | 871 gfx::RectF tex_coord_rect(31.f, 12.f, 54.f, 20.f); |
| (...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1007 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad); | 1022 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad); |
| 1008 break; | 1023 break; |
| 1009 case DrawQuad::INVALID: | 1024 case DrawQuad::INVALID: |
| 1010 break; | 1025 break; |
| 1011 } | 1026 } |
| 1012 } | 1027 } |
| 1013 } | 1028 } |
| 1014 | 1029 |
| 1015 } // namespace | 1030 } // namespace |
| 1016 } // namespace cc | 1031 } // namespace cc |
| OLD | NEW |