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/test/render_pass_test_common.h" | 5 #include "cc/test/render_pass_test_common.h" |
6 | 6 |
7 #include "cc/checkerboard_draw_quad.h" | 7 #include "cc/checkerboard_draw_quad.h" |
8 #include "cc/debug_border_draw_quad.h" | 8 #include "cc/debug_border_draw_quad.h" |
9 #include "cc/io_surface_draw_quad.h" | 9 #include "cc/io_surface_draw_quad.h" |
10 #include "cc/render_pass_draw_quad.h" | 10 #include "cc/render_pass_draw_quad.h" |
11 #include "cc/solid_color_draw_quad.h" | 11 #include "cc/solid_color_draw_quad.h" |
12 #include "cc/shared_quad_state.h" | 12 #include "cc/shared_quad_state.h" |
13 #include "cc/stream_video_draw_quad.h" | 13 #include "cc/stream_video_draw_quad.h" |
14 #include "cc/texture_draw_quad.h" | 14 #include "cc/texture_draw_quad.h" |
15 #include "cc/tile_draw_quad.h" | 15 #include "cc/tile_draw_quad.h" |
16 #include "cc/yuv_video_draw_quad.h" | 16 #include "cc/yuv_video_draw_quad.h" |
17 #include "cc/resource_provider.h" | 17 #include "cc/resource_provider.h" |
18 #include <public/WebTransformationMatrix.h> | 18 #include <public/WebTransformationMatrix.h> |
19 | 19 |
20 namespace WebKitTests { | 20 namespace WebKitTests { |
21 | 21 |
22 using cc::DrawQuad; | 22 using cc::DrawQuad; |
23 using WebKit::WebTransformationMatrix; | 23 using WebKit::WebTransformationMatrix; |
24 | 24 |
25 void TestRenderPass::appendOneOfEveryQuadType(cc::ResourceProvider* resourceProv
ider) | 25 void TestRenderPass::AppendOneOfEveryQuadType(cc::ResourceProvider* resourceProv
ider) { |
26 { | 26 gfx::Rect rect(0, 0, 100, 100); |
27 gfx::Rect rect(0, 0, 100, 100); | 27 gfx::Rect opaque_rect(10, 10, 80, 80); |
28 gfx::Rect opaqueRect(10, 10, 80, 80); | 28 cc::ResourceProvider::ResourceId texture_resource = |
29 cc::ResourceProvider::ResourceId textureResource = resourceProvider->createR
esourceFromExternalTexture(1); | 29 resourceProvider->createResourceFromExternalTexture(1); |
30 scoped_ptr<cc::SharedQuadState> sharedState = cc::SharedQuadState::Create(); | 30 scoped_ptr<cc::SharedQuadState> shared_state = cc::SharedQuadState::Create(); |
31 sharedState->SetAll(WebTransformationMatrix(), rect, rect, 1); | 31 shared_state->SetAll(WebTransformationMatrix(), |
| 32 rect, |
| 33 rect, |
| 34 1); |
32 | 35 |
33 scoped_ptr<cc::CheckerboardDrawQuad> checkerboardQuad = cc::CheckerboardDraw
Quad::Create(); | 36 scoped_ptr<cc::CheckerboardDrawQuad> checkerboard_quad = |
34 checkerboardQuad->SetNew(sharedState.get(), rect, SK_ColorRED); | 37 cc::CheckerboardDrawQuad::Create(); |
35 appendQuad(checkerboardQuad.PassAs<DrawQuad>()); | 38 checkerboard_quad->SetNew(shared_state.get(), |
| 39 rect, |
| 40 SK_ColorRED); |
| 41 AppendQuad(checkerboard_quad.PassAs<DrawQuad>()); |
36 | 42 |
37 scoped_ptr<cc::DebugBorderDrawQuad> debugBorderQuad = cc::DebugBorderDrawQua
d::Create(); | 43 scoped_ptr<cc::DebugBorderDrawQuad> debug_border_quad = |
38 debugBorderQuad->SetNew(sharedState.get(), rect, SK_ColorRED, 1); | 44 cc::DebugBorderDrawQuad::Create(); |
39 appendQuad(debugBorderQuad.PassAs<DrawQuad>()); | 45 debug_border_quad->SetNew(shared_state.get(), |
| 46 rect, |
| 47 SK_ColorRED, |
| 48 1); |
| 49 AppendQuad(debug_border_quad.PassAs<DrawQuad>()); |
40 | 50 |
41 scoped_ptr<cc::IOSurfaceDrawQuad> ioSurfaceQuad = cc::IOSurfaceDrawQuad::Cre
ate(); | 51 scoped_ptr<cc::IOSurfaceDrawQuad> io_surface_quad = |
42 ioSurfaceQuad->SetNew(sharedState.get(), rect, opaqueRect, gfx::Size(50, 50)
, 1, cc::IOSurfaceDrawQuad::FLIPPED); | 52 cc::IOSurfaceDrawQuad::Create(); |
43 appendQuad(ioSurfaceQuad.PassAs<DrawQuad>()); | 53 io_surface_quad->SetNew(shared_state.get(), |
| 54 rect, |
| 55 opaque_rect, |
| 56 gfx::Size(50, 50), |
| 57 1, |
| 58 cc::IOSurfaceDrawQuad::FLIPPED); |
| 59 AppendQuad(io_surface_quad.PassAs<DrawQuad>()); |
44 | 60 |
45 scoped_ptr<cc::RenderPassDrawQuad> renderPassQuad = cc::RenderPassDrawQuad::
Create(); | 61 scoped_ptr<cc::RenderPassDrawQuad> render_pass_quad = |
46 renderPassQuad->SetNew(sharedState.get(), rect, cc::RenderPass::Id(1, 1), fa
lse, 0, rect, 0, 0, 0, 0); | 62 cc::RenderPassDrawQuad::Create(); |
47 appendQuad(renderPassQuad.PassAs<DrawQuad>()); | 63 render_pass_quad->SetNew(shared_state.get(), |
| 64 rect, |
| 65 cc::RenderPass::Id(1, 1), |
| 66 false, |
| 67 0, |
| 68 rect, |
| 69 0, |
| 70 0, |
| 71 0, |
| 72 0); |
| 73 AppendQuad(render_pass_quad.PassAs<DrawQuad>()); |
48 | 74 |
49 scoped_ptr<cc::SolidColorDrawQuad> solidColorQuad = cc::SolidColorDrawQuad::
Create(); | 75 scoped_ptr<cc::SolidColorDrawQuad> solid_color_quad = |
50 solidColorQuad->SetNew(sharedState.get(), rect, SK_ColorRED); | 76 cc::SolidColorDrawQuad::Create(); |
51 appendQuad(solidColorQuad.PassAs<DrawQuad>()); | 77 solid_color_quad->SetNew(shared_state.get(), |
| 78 rect, |
| 79 SK_ColorRED); |
| 80 AppendQuad(solid_color_quad.PassAs<DrawQuad>()); |
52 | 81 |
53 scoped_ptr<cc::StreamVideoDrawQuad> streamVideoQuad = cc::StreamVideoDrawQua
d::Create(); | 82 scoped_ptr<cc::StreamVideoDrawQuad> stream_video_quad = |
54 streamVideoQuad->SetNew(sharedState.get(), rect, opaqueRect, 1, WebKit::WebT
ransformationMatrix()); | 83 cc::StreamVideoDrawQuad::Create(); |
55 appendQuad(streamVideoQuad.PassAs<DrawQuad>()); | 84 stream_video_quad->SetNew(shared_state.get(), |
| 85 rect, |
| 86 opaque_rect, |
| 87 1, |
| 88 WebKit::WebTransformationMatrix()); |
| 89 AppendQuad(stream_video_quad.PassAs<DrawQuad>()); |
56 | 90 |
57 scoped_ptr<cc::TextureDrawQuad> textureQuad = cc::TextureDrawQuad::Create(); | 91 scoped_ptr<cc::TextureDrawQuad> texture_quad = |
58 textureQuad->SetNew(sharedState.get(), rect, opaqueRect, textureResource, fa
lse, rect, false); | 92 cc::TextureDrawQuad::Create(); |
59 appendQuad(textureQuad.PassAs<DrawQuad>()); | 93 texture_quad->SetNew(shared_state.get(), |
| 94 rect, |
| 95 opaque_rect, |
| 96 texture_resource, |
| 97 false, |
| 98 rect, |
| 99 false); |
| 100 AppendQuad(texture_quad.PassAs<DrawQuad>()); |
60 | 101 |
61 scoped_ptr<cc::TileDrawQuad> tileQuad = cc::TileDrawQuad::Create(); | 102 scoped_ptr<cc::TileDrawQuad> tile_quad = |
62 tileQuad->SetNew(sharedState.get(), rect, opaqueRect, textureResource, gfx::
RectF(0, 0, 100, 100), gfx::Size(100, 100), false, false, false, false, false); | 103 cc::TileDrawQuad::Create(); |
63 appendQuad(tileQuad.PassAs<DrawQuad>()); | 104 tile_quad->SetNew(shared_state.get(), |
| 105 rect, |
| 106 opaque_rect, |
| 107 texture_resource, |
| 108 gfx::RectF(0, 0, 100, 100), |
| 109 gfx::Size(100, 100), |
| 110 false, |
| 111 false, |
| 112 false, |
| 113 false, |
| 114 false); |
| 115 AppendQuad(tile_quad.PassAs<DrawQuad>()); |
64 | 116 |
65 cc::VideoLayerImpl::FramePlane planes[3]; | 117 cc::VideoLayerImpl::FramePlane planes[3]; |
66 for (int i = 0; i < 3; ++i) { | 118 for (int i = 0; i < 3; ++i) { |
67 planes[i].resourceId = resourceProvider->createResourceFromExternalTextu
re(1); | 119 planes[i].resourceId = |
68 planes[i].size = gfx::Size(100, 100); | 120 resourceProvider->createResourceFromExternalTexture(1); |
69 planes[i].format = GL_LUMINANCE; | 121 planes[i].size = gfx::Size(100, 100); |
70 } | 122 planes[i].format = GL_LUMINANCE; |
71 scoped_ptr<cc::YUVVideoDrawQuad> yuvQuad = cc::YUVVideoDrawQuad::Create(); | 123 } |
72 yuvQuad->SetNew(sharedState.get(), rect, opaqueRect, gfx::Size(100, 100), pl
anes[0], planes[1], planes[2]); | 124 scoped_ptr<cc::YUVVideoDrawQuad> yuv_quad = |
73 appendQuad(yuvQuad.PassAs<DrawQuad>()); | 125 cc::YUVVideoDrawQuad::Create(); |
| 126 yuv_quad->SetNew(shared_state.get(), |
| 127 rect, |
| 128 opaque_rect, |
| 129 gfx::Size(100, 100), |
| 130 planes[0], |
| 131 planes[1], |
| 132 planes[2]); |
| 133 AppendQuad(yuv_quad.PassAs<DrawQuad>()); |
74 | 134 |
75 appendSharedQuadState(sharedState.Pass()); | 135 AppendSharedQuadState(shared_state.Pass()); |
76 } | 136 } |
77 | 137 |
78 } // namespace WebKitTests | 138 } // namespace WebKitTests |
OLD | NEW |