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/quads/checkerboard_draw_quad.h" | 7 #include "cc/quads/checkerboard_draw_quad.h" |
8 #include "cc/quads/debug_border_draw_quad.h" | 8 #include "cc/quads/debug_border_draw_quad.h" |
9 #include "cc/quads/io_surface_draw_quad.h" | 9 #include "cc/quads/io_surface_draw_quad.h" |
10 #include "cc/quads/render_pass_draw_quad.h" | 10 #include "cc/quads/render_pass_draw_quad.h" |
(...skipping 15 matching lines...) Expand all Loading... |
26 void TestRenderPass::AppendSharedQuadState( | 26 void TestRenderPass::AppendSharedQuadState( |
27 scoped_ptr<cc::SharedQuadState> state) { | 27 scoped_ptr<cc::SharedQuadState> state) { |
28 shared_quad_state_list.push_back(state.Pass()); | 28 shared_quad_state_list.push_back(state.Pass()); |
29 } | 29 } |
30 | 30 |
31 void TestRenderPass::AppendOneOfEveryQuadType( | 31 void TestRenderPass::AppendOneOfEveryQuadType( |
32 cc::ResourceProvider* resource_provider, RenderPass::Id child_pass) { | 32 cc::ResourceProvider* resource_provider, RenderPass::Id child_pass) { |
33 gfx::Rect rect(0, 0, 100, 100); | 33 gfx::Rect rect(0, 0, 100, 100); |
34 gfx::Rect opaque_rect(10, 10, 80, 80); | 34 gfx::Rect opaque_rect(10, 10, 80, 80); |
35 const float vertex_opacity[] = {1.0f, 1.0f, 1.0f, 1.0f}; | 35 const float vertex_opacity[] = {1.0f, 1.0f, 1.0f, 1.0f}; |
36 cc::ResourceProvider::ResourceId texture_resource = | |
37 resource_provider->CreateResource( | |
38 gfx::Size(20, 12), | |
39 resource_provider->best_texture_format(), | |
40 ResourceProvider::TextureUsageAny); | |
41 resource_provider->AllocateForTesting(texture_resource); | |
42 unsigned texture_id = ResourceProvider::ScopedReadLockGL( | |
43 resource_provider, texture_resource).texture_id(); | |
44 cc::ResourceProvider::ResourceId resource1 = | 36 cc::ResourceProvider::ResourceId resource1 = |
45 resource_provider->CreateResource( | 37 resource_provider->CreateResource( |
46 gfx::Size(45, 5), | 38 gfx::Size(45, 5), |
47 resource_provider->best_texture_format(), | 39 resource_provider->best_texture_format(), |
48 ResourceProvider::TextureUsageAny); | 40 ResourceProvider::TextureUsageAny); |
49 resource_provider->AllocateForTesting(resource1); | 41 resource_provider->AllocateForTesting(resource1); |
50 cc::ResourceProvider::ResourceId resource2 = | 42 cc::ResourceProvider::ResourceId resource2 = |
51 resource_provider->CreateResource( | 43 resource_provider->CreateResource( |
52 gfx::Size(346, 61), | 44 gfx::Size(346, 61), |
53 resource_provider->best_texture_format(), | 45 resource_provider->best_texture_format(), |
(...skipping 10 matching lines...) Expand all Loading... |
64 gfx::Size(56, 12), | 56 gfx::Size(56, 12), |
65 resource_provider->best_texture_format(), | 57 resource_provider->best_texture_format(), |
66 ResourceProvider::TextureUsageAny); | 58 ResourceProvider::TextureUsageAny); |
67 resource_provider->AllocateForTesting(resource4); | 59 resource_provider->AllocateForTesting(resource4); |
68 cc::ResourceProvider::ResourceId resource5 = | 60 cc::ResourceProvider::ResourceId resource5 = |
69 resource_provider->CreateResource( | 61 resource_provider->CreateResource( |
70 gfx::Size(73, 26), | 62 gfx::Size(73, 26), |
71 resource_provider->best_texture_format(), | 63 resource_provider->best_texture_format(), |
72 ResourceProvider::TextureUsageAny); | 64 ResourceProvider::TextureUsageAny); |
73 resource_provider->AllocateForTesting(resource5); | 65 resource_provider->AllocateForTesting(resource5); |
| 66 cc::ResourceProvider::ResourceId resource6 = |
| 67 resource_provider->CreateResource( |
| 68 gfx::Size(64, 92), |
| 69 resource_provider->best_texture_format(), |
| 70 ResourceProvider::TextureUsageAny); |
| 71 resource_provider->AllocateForTesting(resource6); |
| 72 cc::ResourceProvider::ResourceId resource7 = |
| 73 resource_provider->CreateResource( |
| 74 gfx::Size(9, 14), |
| 75 resource_provider->best_texture_format(), |
| 76 ResourceProvider::TextureUsageAny); |
| 77 resource_provider->AllocateForTesting(resource7); |
74 | 78 |
75 scoped_ptr<cc::SharedQuadState> shared_state = cc::SharedQuadState::Create(); | 79 scoped_ptr<cc::SharedQuadState> shared_state = cc::SharedQuadState::Create(); |
76 shared_state->SetAll(gfx::Transform(), | 80 shared_state->SetAll(gfx::Transform(), |
77 rect.size(), | 81 rect.size(), |
78 rect, | 82 rect, |
79 rect, | 83 rect, |
80 false, | 84 false, |
81 1); | 85 1); |
82 | 86 |
83 scoped_ptr<cc::CheckerboardDrawQuad> checkerboard_quad = | 87 scoped_ptr<cc::CheckerboardDrawQuad> checkerboard_quad = |
(...skipping 10 matching lines...) Expand all Loading... |
94 SK_ColorRED, | 98 SK_ColorRED, |
95 1); | 99 1); |
96 AppendQuad(debug_border_quad.PassAs<DrawQuad>()); | 100 AppendQuad(debug_border_quad.PassAs<DrawQuad>()); |
97 | 101 |
98 scoped_ptr<cc::IOSurfaceDrawQuad> io_surface_quad = | 102 scoped_ptr<cc::IOSurfaceDrawQuad> io_surface_quad = |
99 cc::IOSurfaceDrawQuad::Create(); | 103 cc::IOSurfaceDrawQuad::Create(); |
100 io_surface_quad->SetNew(shared_state.get(), | 104 io_surface_quad->SetNew(shared_state.get(), |
101 rect, | 105 rect, |
102 opaque_rect, | 106 opaque_rect, |
103 gfx::Size(50, 50), | 107 gfx::Size(50, 50), |
104 texture_id, | 108 resource7, |
105 cc::IOSurfaceDrawQuad::FLIPPED); | 109 cc::IOSurfaceDrawQuad::FLIPPED); |
106 AppendQuad(io_surface_quad.PassAs<DrawQuad>()); | 110 AppendQuad(io_surface_quad.PassAs<DrawQuad>()); |
107 | 111 |
108 if (child_pass.layer_id) { | 112 if (child_pass.layer_id) { |
109 scoped_ptr<cc::RenderPassDrawQuad> render_pass_quad = | 113 scoped_ptr<cc::RenderPassDrawQuad> render_pass_quad = |
110 cc::RenderPassDrawQuad::Create(); | 114 cc::RenderPassDrawQuad::Create(); |
111 render_pass_quad->SetNew(shared_state.get(), | 115 render_pass_quad->SetNew(shared_state.get(), |
112 rect, | 116 rect, |
113 child_pass, | 117 child_pass, |
114 false, | 118 false, |
(...skipping 25 matching lines...) Expand all Loading... |
140 solid_color_quad->SetNew(shared_state.get(), | 144 solid_color_quad->SetNew(shared_state.get(), |
141 rect, | 145 rect, |
142 SK_ColorRED); | 146 SK_ColorRED); |
143 AppendQuad(solid_color_quad.PassAs<DrawQuad>()); | 147 AppendQuad(solid_color_quad.PassAs<DrawQuad>()); |
144 | 148 |
145 scoped_ptr<cc::StreamVideoDrawQuad> stream_video_quad = | 149 scoped_ptr<cc::StreamVideoDrawQuad> stream_video_quad = |
146 cc::StreamVideoDrawQuad::Create(); | 150 cc::StreamVideoDrawQuad::Create(); |
147 stream_video_quad->SetNew(shared_state.get(), | 151 stream_video_quad->SetNew(shared_state.get(), |
148 rect, | 152 rect, |
149 opaque_rect, | 153 opaque_rect, |
150 texture_id, | 154 resource6, |
151 gfx::Transform()); | 155 gfx::Transform()); |
152 AppendQuad(stream_video_quad.PassAs<DrawQuad>()); | 156 AppendQuad(stream_video_quad.PassAs<DrawQuad>()); |
153 | 157 |
154 scoped_ptr<cc::TextureDrawQuad> texture_quad = | 158 scoped_ptr<cc::TextureDrawQuad> texture_quad = |
155 cc::TextureDrawQuad::Create(); | 159 cc::TextureDrawQuad::Create(); |
156 texture_quad->SetNew(shared_state.get(), | 160 texture_quad->SetNew(shared_state.get(), |
157 rect, | 161 rect, |
158 opaque_rect, | 162 opaque_rect, |
159 resource1, | 163 resource1, |
160 false, | 164 false, |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 cc::TileDrawQuad::Create(); | 199 cc::TileDrawQuad::Create(); |
196 tile_quad->SetNew(shared_state.get(), | 200 tile_quad->SetNew(shared_state.get(), |
197 rect, | 201 rect, |
198 opaque_rect, | 202 opaque_rect, |
199 resource4, | 203 resource4, |
200 gfx::RectF(0, 0, 100, 100), | 204 gfx::RectF(0, 0, 100, 100), |
201 gfx::Size(100, 100), | 205 gfx::Size(100, 100), |
202 false); | 206 false); |
203 AppendQuad(tile_quad.PassAs<DrawQuad>()); | 207 AppendQuad(tile_quad.PassAs<DrawQuad>()); |
204 | 208 |
205 cc::VideoLayerImpl::FramePlane planes[3]; | 209 ResourceProvider::ResourceId plane_resources[3]; |
206 for (int i = 0; i < 3; ++i) { | 210 for (int i = 0; i < 3; ++i) { |
207 planes[i].resource_id = | 211 plane_resources[i] = |
208 resource_provider->CreateResource( | 212 resource_provider->CreateResource( |
209 gfx::Size(20, 12), | 213 gfx::Size(20, 12), |
210 resource_provider->best_texture_format(), | 214 resource_provider->best_texture_format(), |
211 ResourceProvider::TextureUsageAny); | 215 ResourceProvider::TextureUsageAny); |
212 resource_provider->AllocateForTesting(planes[i].resource_id); | 216 resource_provider->AllocateForTesting(plane_resources[i]); |
213 planes[i].size = gfx::Size(100, 100); | |
214 planes[i].format = GL_LUMINANCE; | |
215 } | 217 } |
216 scoped_ptr<cc::YUVVideoDrawQuad> yuv_quad = | 218 scoped_ptr<cc::YUVVideoDrawQuad> yuv_quad = |
217 cc::YUVVideoDrawQuad::Create(); | 219 cc::YUVVideoDrawQuad::Create(); |
218 yuv_quad->SetNew(shared_state.get(), | 220 yuv_quad->SetNew(shared_state.get(), |
219 rect, | 221 rect, |
220 opaque_rect, | 222 opaque_rect, |
221 gfx::Size(100, 100), | 223 gfx::Size(100, 100), |
222 planes[0], | 224 plane_resources[0], |
223 planes[1], | 225 plane_resources[1], |
224 planes[2]); | 226 plane_resources[2]); |
225 AppendQuad(yuv_quad.PassAs<DrawQuad>()); | 227 AppendQuad(yuv_quad.PassAs<DrawQuad>()); |
226 | 228 |
227 AppendSharedQuadState(transformed_state.Pass()); | 229 AppendSharedQuadState(transformed_state.Pass()); |
228 AppendSharedQuadState(shared_state.Pass()); | 230 AppendSharedQuadState(shared_state.Pass()); |
229 } | 231 } |
230 | 232 |
231 } // namespace cc | 233 } // namespace cc |
OLD | NEW |