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" |
11 #include "cc/base/math_util.h" | 11 #include "cc/base/math_util.h" |
12 #include "cc/output/filter_operations.h" | 12 #include "cc/output/filter_operations.h" |
13 #include "cc/quads/checkerboard_draw_quad.h" | 13 #include "cc/quads/checkerboard_draw_quad.h" |
14 #include "cc/quads/debug_border_draw_quad.h" | 14 #include "cc/quads/debug_border_draw_quad.h" |
15 #include "cc/quads/io_surface_draw_quad.h" | 15 #include "cc/quads/io_surface_draw_quad.h" |
16 #include "cc/quads/picture_draw_quad.h" | 16 #include "cc/quads/picture_draw_quad.h" |
17 #include "cc/quads/render_pass_draw_quad.h" | 17 #include "cc/quads/render_pass_draw_quad.h" |
18 #include "cc/quads/solid_color_draw_quad.h" | 18 #include "cc/quads/solid_color_draw_quad.h" |
19 #include "cc/quads/stream_video_draw_quad.h" | 19 #include "cc/quads/stream_video_draw_quad.h" |
| 20 #include "cc/quads/surface_draw_quad.h" |
20 #include "cc/quads/texture_draw_quad.h" | 21 #include "cc/quads/texture_draw_quad.h" |
21 #include "cc/quads/tile_draw_quad.h" | 22 #include "cc/quads/tile_draw_quad.h" |
22 #include "cc/quads/yuv_video_draw_quad.h" | 23 #include "cc/quads/yuv_video_draw_quad.h" |
23 #include "cc/resources/picture_pile_impl.h" | 24 #include "cc/resources/picture_pile_impl.h" |
24 #include "cc/test/geometry_test_utils.h" | 25 #include "cc/test/geometry_test_utils.h" |
25 #include "testing/gtest/include/gtest/gtest.h" | 26 #include "testing/gtest/include/gtest/gtest.h" |
26 #include "third_party/skia/include/effects/SkBlurImageFilter.h" | 27 #include "third_party/skia/include/effects/SkBlurImageFilter.h" |
27 #include "ui/gfx/transform.h" | 28 #include "ui/gfx/transform.h" |
28 | 29 |
29 namespace cc { | 30 namespace cc { |
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
459 EXPECT_RECT_EQ(opaque_rect, copy_quad->opaque_rect); | 460 EXPECT_RECT_EQ(opaque_rect, copy_quad->opaque_rect); |
460 EXPECT_EQ(resource_id, copy_quad->resource_id); | 461 EXPECT_EQ(resource_id, copy_quad->resource_id); |
461 EXPECT_EQ(matrix, copy_quad->matrix); | 462 EXPECT_EQ(matrix, copy_quad->matrix); |
462 | 463 |
463 CREATE_QUAD_2_ALL(StreamVideoDrawQuad, resource_id, matrix); | 464 CREATE_QUAD_2_ALL(StreamVideoDrawQuad, resource_id, matrix); |
464 EXPECT_EQ(DrawQuad::STREAM_VIDEO_CONTENT, copy_quad->material); | 465 EXPECT_EQ(DrawQuad::STREAM_VIDEO_CONTENT, copy_quad->material); |
465 EXPECT_EQ(resource_id, copy_quad->resource_id); | 466 EXPECT_EQ(resource_id, copy_quad->resource_id); |
466 EXPECT_EQ(matrix, copy_quad->matrix); | 467 EXPECT_EQ(matrix, copy_quad->matrix); |
467 } | 468 } |
468 | 469 |
| 470 TEST(DrawQuadTest, CopySurfaceDrawQuad) { |
| 471 int surface_id = 1234; |
| 472 CREATE_SHARED_STATE(); |
| 473 |
| 474 CREATE_QUAD_1_NEW(SurfaceDrawQuad, surface_id); |
| 475 EXPECT_EQ(DrawQuad::SURFACE_CONTENT, copy_quad->material); |
| 476 EXPECT_EQ(surface_id, copy_quad->surface_id); |
| 477 |
| 478 CREATE_QUAD_1_ALL(SurfaceDrawQuad, surface_id); |
| 479 EXPECT_EQ(DrawQuad::SURFACE_CONTENT, copy_quad->material); |
| 480 EXPECT_EQ(surface_id, copy_quad->surface_id); |
| 481 } |
| 482 |
| 483 |
469 TEST(DrawQuadTest, CopyTextureDrawQuad) { | 484 TEST(DrawQuadTest, CopyTextureDrawQuad) { |
470 gfx::Rect opaque_rect(33, 47, 10, 12); | 485 gfx::Rect opaque_rect(33, 47, 10, 12); |
471 unsigned resource_id = 82; | 486 unsigned resource_id = 82; |
472 bool premultiplied_alpha = true; | 487 bool premultiplied_alpha = true; |
473 gfx::PointF uv_top_left(0.5f, 224.f); | 488 gfx::PointF uv_top_left(0.5f, 224.f); |
474 gfx::PointF uv_bottom_right(51.5f, 260.f); | 489 gfx::PointF uv_bottom_right(51.5f, 260.f); |
475 const float vertex_opacity[] = { 1.0f, 1.0f, 1.0f, 1.0f }; | 490 const float vertex_opacity[] = { 1.0f, 1.0f, 1.0f, 1.0f }; |
476 bool flipped = true; | 491 bool flipped = true; |
477 CREATE_SHARED_STATE(); | 492 CREATE_SHARED_STATE(); |
478 | 493 |
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
721 ResourceProvider::ResourceId resource_id = 64; | 736 ResourceProvider::ResourceId resource_id = 64; |
722 gfx::Transform matrix = gfx::Transform(0.5, 0.25, 1, 0.75, 0, 1); | 737 gfx::Transform matrix = gfx::Transform(0.5, 0.25, 1, 0.75, 0, 1); |
723 | 738 |
724 CREATE_SHARED_STATE(); | 739 CREATE_SHARED_STATE(); |
725 CREATE_QUAD_3_NEW(StreamVideoDrawQuad, opaque_rect, resource_id, matrix); | 740 CREATE_QUAD_3_NEW(StreamVideoDrawQuad, opaque_rect, resource_id, matrix); |
726 EXPECT_EQ(resource_id, quad_new->resource_id); | 741 EXPECT_EQ(resource_id, quad_new->resource_id); |
727 EXPECT_EQ(1, IterateAndCount(quad_new.get())); | 742 EXPECT_EQ(1, IterateAndCount(quad_new.get())); |
728 EXPECT_EQ(resource_id + 1, quad_new->resource_id); | 743 EXPECT_EQ(resource_id + 1, quad_new->resource_id); |
729 } | 744 } |
730 | 745 |
| 746 TEST_F(DrawQuadIteratorTest, SurfaceDrawQuad) { |
| 747 int surface_id = 4321; |
| 748 |
| 749 CREATE_SHARED_STATE(); |
| 750 CREATE_QUAD_1_NEW(SurfaceDrawQuad, surface_id); |
| 751 EXPECT_EQ(0, IterateAndCount(quad_new.get())); |
| 752 } |
| 753 |
731 TEST_F(DrawQuadIteratorTest, TextureDrawQuad) { | 754 TEST_F(DrawQuadIteratorTest, TextureDrawQuad) { |
732 gfx::Rect opaque_rect(33, 47, 10, 12); | 755 gfx::Rect opaque_rect(33, 47, 10, 12); |
733 unsigned resource_id = 82; | 756 unsigned resource_id = 82; |
734 bool premultiplied_alpha = true; | 757 bool premultiplied_alpha = true; |
735 gfx::PointF uv_top_left(0.5f, 224.f); | 758 gfx::PointF uv_top_left(0.5f, 224.f); |
736 gfx::PointF uv_bottom_right(51.5f, 260.f); | 759 gfx::PointF uv_bottom_right(51.5f, 260.f); |
737 const float vertex_opacity[] = { 1.0f, 1.0f, 1.0f, 1.0f }; | 760 const float vertex_opacity[] = { 1.0f, 1.0f, 1.0f, 1.0f }; |
738 bool flipped = true; | 761 bool flipped = true; |
739 | 762 |
740 CREATE_SHARED_STATE(); | 763 CREATE_SHARED_STATE(); |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
816 texture_size, | 839 texture_size, |
817 texture_format, | 840 texture_format, |
818 content_rect, | 841 content_rect, |
819 contents_scale, | 842 contents_scale, |
820 picture_pile); | 843 picture_pile); |
821 EXPECT_EQ(0, IterateAndCount(quad_new.get())); | 844 EXPECT_EQ(0, IterateAndCount(quad_new.get())); |
822 } | 845 } |
823 | 846 |
824 } // namespace | 847 } // namespace |
825 } // namespace cc | 848 } // namespace cc |
OLD | NEW |