OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "content/common/cc_messages.h" | 5 #include "content/common/cc_messages.h" |
6 | 6 |
7 #include <string.h> | 7 #include <string.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 | 10 |
11 #include "cc/output/compositor_frame.h" | 11 #include "cc/output/compositor_frame.h" |
12 #include "ipc/ipc_message.h" | 12 #include "ipc/ipc_message.h" |
13 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
14 #include "third_party/khronos/GLES2/gl2ext.h" | 14 #include "third_party/khronos/GLES2/gl2ext.h" |
15 #include "third_party/skia/include/effects/SkBlurImageFilter.h" | 15 #include "third_party/skia/include/effects/SkBlurImageFilter.h" |
16 | 16 |
17 using cc::CheckerboardDrawQuad; | 17 using cc::CheckerboardDrawQuad; |
18 using cc::DelegatedFrameData; | 18 using cc::DelegatedFrameData; |
19 using cc::DebugBorderDrawQuad; | 19 using cc::DebugBorderDrawQuad; |
20 using cc::DrawQuad; | 20 using cc::DrawQuad; |
21 using cc::FilterOperation; | 21 using cc::FilterOperation; |
22 using cc::FilterOperations; | 22 using cc::FilterOperations; |
23 using cc::IOSurfaceDrawQuad; | 23 using cc::IOSurfaceDrawQuad; |
24 using cc::PictureDrawQuad; | 24 using cc::PictureDrawQuad; |
25 using cc::RenderPass; | 25 using cc::RenderPass; |
26 using cc::RenderPassDrawQuad; | 26 using cc::RenderPassDrawQuad; |
27 using cc::ResourceProvider; | 27 using cc::ResourceProvider; |
28 using cc::SharedQuadState; | 28 using cc::SharedQuadState; |
29 using cc::SolidColorDrawQuad; | 29 using cc::SolidColorDrawQuad; |
30 using cc::SurfaceDrawQuad; | |
30 using cc::TextureDrawQuad; | 31 using cc::TextureDrawQuad; |
31 using cc::TileDrawQuad; | 32 using cc::TileDrawQuad; |
32 using cc::TransferableResource; | 33 using cc::TransferableResource; |
33 using cc::StreamVideoDrawQuad; | 34 using cc::StreamVideoDrawQuad; |
34 using cc::VideoLayerImpl; | 35 using cc::VideoLayerImpl; |
35 using cc::YUVVideoDrawQuad; | 36 using cc::YUVVideoDrawQuad; |
36 using gfx::Transform; | 37 using gfx::Transform; |
37 | 38 |
38 namespace content { | 39 namespace content { |
39 namespace { | 40 namespace { |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
98 TileDrawQuad::MaterialCast(b)); | 99 TileDrawQuad::MaterialCast(b)); |
99 break; | 100 break; |
100 case DrawQuad::SOLID_COLOR: | 101 case DrawQuad::SOLID_COLOR: |
101 Compare(SolidColorDrawQuad::MaterialCast(a), | 102 Compare(SolidColorDrawQuad::MaterialCast(a), |
102 SolidColorDrawQuad::MaterialCast(b)); | 103 SolidColorDrawQuad::MaterialCast(b)); |
103 break; | 104 break; |
104 case DrawQuad::STREAM_VIDEO_CONTENT: | 105 case DrawQuad::STREAM_VIDEO_CONTENT: |
105 Compare(StreamVideoDrawQuad::MaterialCast(a), | 106 Compare(StreamVideoDrawQuad::MaterialCast(a), |
106 StreamVideoDrawQuad::MaterialCast(b)); | 107 StreamVideoDrawQuad::MaterialCast(b)); |
107 break; | 108 break; |
109 case DrawQuad::SURFACE_CONTENT: | |
110 Compare(SurfaceDrawQuad::MaterialCast(a), | |
danakj
2014/01/14 18:31:57
This Compare method is not implemented yet.
| |
111 SurfaceDrawQuad::MaterialCast(b)); | |
112 break; | |
108 case DrawQuad::YUV_VIDEO_CONTENT: | 113 case DrawQuad::YUV_VIDEO_CONTENT: |
109 Compare(YUVVideoDrawQuad::MaterialCast(a), | 114 Compare(YUVVideoDrawQuad::MaterialCast(a), |
110 YUVVideoDrawQuad::MaterialCast(b)); | 115 YUVVideoDrawQuad::MaterialCast(b)); |
111 break; | 116 break; |
112 case DrawQuad::INVALID: | 117 case DrawQuad::INVALID: |
113 break; | 118 break; |
114 } | 119 } |
115 } | 120 } |
116 | 121 |
117 void Compare(const CheckerboardDrawQuad* a, const CheckerboardDrawQuad* b) { | 122 void Compare(const CheckerboardDrawQuad* a, const CheckerboardDrawQuad* b) { |
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
354 StreamVideoDrawQuad::Create(); | 359 StreamVideoDrawQuad::Create(); |
355 streamvideo_in->SetAll(shared_state3_in.get(), | 360 streamvideo_in->SetAll(shared_state3_in.get(), |
356 arbitrary_rect2, | 361 arbitrary_rect2, |
357 arbitrary_rect2_inside_rect2, | 362 arbitrary_rect2_inside_rect2, |
358 arbitrary_rect1_inside_rect2, | 363 arbitrary_rect1_inside_rect2, |
359 arbitrary_bool1, | 364 arbitrary_bool1, |
360 arbitrary_resourceid2, | 365 arbitrary_resourceid2, |
361 arbitrary_matrix); | 366 arbitrary_matrix); |
362 scoped_ptr<DrawQuad> streamvideo_cmp = streamvideo_in->Copy( | 367 scoped_ptr<DrawQuad> streamvideo_cmp = streamvideo_in->Copy( |
363 streamvideo_in->shared_quad_state); | 368 streamvideo_in->shared_quad_state); |
364 | 369 |
danakj
2014/01/14 18:31:57
add a surfacedrawquad into the frame here?
| |
365 scoped_ptr<TextureDrawQuad> texture_in = TextureDrawQuad::Create(); | 370 scoped_ptr<TextureDrawQuad> texture_in = TextureDrawQuad::Create(); |
366 texture_in->SetAll(shared_state3_in.get(), | 371 texture_in->SetAll(shared_state3_in.get(), |
367 arbitrary_rect2, | 372 arbitrary_rect2, |
368 arbitrary_rect2_inside_rect2, | 373 arbitrary_rect2_inside_rect2, |
369 arbitrary_rect1_inside_rect2, | 374 arbitrary_rect1_inside_rect2, |
370 arbitrary_bool1, | 375 arbitrary_bool1, |
371 arbitrary_resourceid1, | 376 arbitrary_resourceid1, |
372 arbitrary_bool2, | 377 arbitrary_bool2, |
373 arbitrary_pointf1, | 378 arbitrary_pointf1, |
374 arbitrary_pointf2, | 379 arbitrary_pointf2, |
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
690 break; | 695 break; |
691 case cc::DrawQuad::TEXTURE_CONTENT: | 696 case cc::DrawQuad::TEXTURE_CONTENT: |
692 largest = std::max(largest, sizeof(cc::TextureDrawQuad)); | 697 largest = std::max(largest, sizeof(cc::TextureDrawQuad)); |
693 break; | 698 break; |
694 case cc::DrawQuad::RENDER_PASS: | 699 case cc::DrawQuad::RENDER_PASS: |
695 largest = std::max(largest, sizeof(cc::RenderPassDrawQuad)); | 700 largest = std::max(largest, sizeof(cc::RenderPassDrawQuad)); |
696 break; | 701 break; |
697 case cc::DrawQuad::SOLID_COLOR: | 702 case cc::DrawQuad::SOLID_COLOR: |
698 largest = std::max(largest, sizeof(cc::SolidColorDrawQuad)); | 703 largest = std::max(largest, sizeof(cc::SolidColorDrawQuad)); |
699 break; | 704 break; |
700 case cc::DrawQuad::TILED_CONTENT: | 705 case cc::DrawQuad::TILED_CONTENT: |
danakj
2014/01/14 18:31:57
add the surface draw quad here
| |
701 largest = std::max(largest, sizeof(cc::TileDrawQuad)); | 706 largest = std::max(largest, sizeof(cc::TileDrawQuad)); |
702 break; | 707 break; |
703 case cc::DrawQuad::STREAM_VIDEO_CONTENT: | 708 case cc::DrawQuad::STREAM_VIDEO_CONTENT: |
704 largest = std::max(largest, sizeof(cc::StreamVideoDrawQuad)); | 709 largest = std::max(largest, sizeof(cc::StreamVideoDrawQuad)); |
705 break; | 710 break; |
706 case cc::DrawQuad::YUV_VIDEO_CONTENT: | 711 case cc::DrawQuad::YUV_VIDEO_CONTENT: |
707 largest = std::max(largest, sizeof(cc::YUVVideoDrawQuad)); | 712 largest = std::max(largest, sizeof(cc::YUVVideoDrawQuad)); |
708 break; | 713 break; |
709 case cc::DrawQuad::INVALID: | 714 case cc::DrawQuad::INVALID: |
710 break; | 715 break; |
711 default: | 716 default: |
712 done = true; | 717 done = true; |
713 } | 718 } |
714 } | 719 } |
715 | 720 |
716 // Verify the largest DrawQuad type is RenderPassDrawQuad. If this ever | 721 // Verify the largest DrawQuad type is RenderPassDrawQuad. If this ever |
717 // changes, then the ReserveSizeForRenderPassWrite() method needs to be | 722 // changes, then the ReserveSizeForRenderPassWrite() method needs to be |
718 // updated as well to use the new largest quad. | 723 // updated as well to use the new largest quad. |
719 EXPECT_EQ(sizeof(RenderPassDrawQuad), largest); | 724 EXPECT_EQ(sizeof(RenderPassDrawQuad), largest); |
720 } | 725 } |
721 | 726 |
722 } // namespace | 727 } // namespace |
723 } // namespace content | 728 } // namespace content |
OLD | NEW |