OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/render_pass.h" | 5 #include "cc/quads/render_pass.h" |
6 #include "cc/quads/solid_color_draw_quad.h" | 6 #include "cc/quads/solid_color_draw_quad.h" |
7 #include "cc/quads/surface_draw_quad.h" | 7 #include "cc/quads/surface_draw_quad.h" |
8 #include "cc/quads/texture_draw_quad.h" | 8 #include "cc/quads/texture_draw_quad.h" |
9 #include "cc/resources/resource_provider.h" | 9 #include "cc/resources/resource_provider.h" |
10 #include "gpu/command_buffer/common/mailbox.h" | 10 #include "gpu/command_buffer/common/mailbox.h" |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
166 mojo_pass->id->index = 1u; | 166 mojo_pass->id->index = 1u; |
167 mojo_pass->quads.push_back(mojo_texture_quad.Pass()); | 167 mojo_pass->quads.push_back(mojo_texture_quad.Pass()); |
168 SharedQuadStatePtr mojo_sqs = SharedQuadState::New(); | 168 SharedQuadStatePtr mojo_sqs = SharedQuadState::New(); |
169 mojo_pass->shared_quad_states.push_back(mojo_sqs.Pass()); | 169 mojo_pass->shared_quad_states.push_back(mojo_sqs.Pass()); |
170 | 170 |
171 scoped_ptr<cc::RenderPass> pass = mojo_pass.To<scoped_ptr<cc::RenderPass> >(); | 171 scoped_ptr<cc::RenderPass> pass = mojo_pass.To<scoped_ptr<cc::RenderPass> >(); |
172 EXPECT_FALSE(pass); | 172 EXPECT_FALSE(pass); |
173 } | 173 } |
174 | 174 |
175 TEST(SurfaceLibTest, SharedQuadState) { | 175 TEST(SurfaceLibTest, SharedQuadState) { |
176 gfx::Transform content_to_target_transform; | 176 gfx::Transform quad_to_target_transform; |
177 content_to_target_transform.Scale3d(0.3f, 0.7f, 0.9f); | 177 quad_to_target_transform.Scale3d(0.3f, 0.7f, 0.9f); |
178 gfx::Size content_bounds(57, 39); | 178 gfx::Size quad_layer_bounds(57, 39); |
179 gfx::Rect visible_content_rect(3, 7, 28, 42); | 179 gfx::Rect visible_quad_layer_rect(3, 7, 28, 42); |
180 gfx::Rect clip_rect(9, 12, 21, 31); | 180 gfx::Rect clip_rect(9, 12, 21, 31); |
181 bool is_clipped = true; | 181 bool is_clipped = true; |
182 float opacity = 0.65f; | 182 float opacity = 0.65f; |
183 int sorting_context_id = 13; | 183 int sorting_context_id = 13; |
184 ::SkXfermode::Mode blend_mode = ::SkXfermode::kSrcOver_Mode; | 184 ::SkXfermode::Mode blend_mode = ::SkXfermode::kSrcOver_Mode; |
185 scoped_ptr<cc::RenderPass> pass = cc::RenderPass::Create(); | 185 scoped_ptr<cc::RenderPass> pass = cc::RenderPass::Create(); |
186 cc::SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState(); | 186 cc::SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState(); |
187 sqs->SetAll(content_to_target_transform, | 187 sqs->SetAll(quad_to_target_transform, quad_layer_bounds, |
188 content_bounds, | 188 visible_quad_layer_rect, clip_rect, is_clipped, opacity, |
189 visible_content_rect, | 189 blend_mode, sorting_context_id); |
190 clip_rect, | |
191 is_clipped, | |
192 opacity, | |
193 blend_mode, | |
194 sorting_context_id); | |
195 | 190 |
196 SharedQuadStatePtr mojo_sqs = SharedQuadState::From(*sqs); | 191 SharedQuadStatePtr mojo_sqs = SharedQuadState::From(*sqs); |
197 ASSERT_FALSE(mojo_sqs.is_null()); | 192 ASSERT_FALSE(mojo_sqs.is_null()); |
198 EXPECT_EQ(Transform::From(content_to_target_transform), | 193 EXPECT_EQ(Transform::From(quad_to_target_transform), |
199 mojo_sqs->content_to_target_transform); | 194 mojo_sqs->quad_to_target_transform); |
200 EXPECT_EQ(Size::From(content_bounds), mojo_sqs->content_bounds); | 195 EXPECT_EQ(Size::From(quad_layer_bounds), mojo_sqs->quad_layer_bounds); |
201 EXPECT_EQ(Rect::From(visible_content_rect), mojo_sqs->visible_content_rect); | 196 EXPECT_EQ(Rect::From(visible_quad_layer_rect), |
| 197 mojo_sqs->visible_quad_layer_rect); |
202 EXPECT_EQ(Rect::From(clip_rect), mojo_sqs->clip_rect); | 198 EXPECT_EQ(Rect::From(clip_rect), mojo_sqs->clip_rect); |
203 EXPECT_EQ(is_clipped, mojo_sqs->is_clipped); | 199 EXPECT_EQ(is_clipped, mojo_sqs->is_clipped); |
204 EXPECT_EQ(opacity, mojo_sqs->opacity); | 200 EXPECT_EQ(opacity, mojo_sqs->opacity); |
205 EXPECT_EQ(sorting_context_id, mojo_sqs->sorting_context_id); | 201 EXPECT_EQ(sorting_context_id, mojo_sqs->sorting_context_id); |
206 } | 202 } |
207 | 203 |
208 TEST(SurfaceLibTest, RenderPass) { | 204 TEST(SurfaceLibTest, RenderPass) { |
209 scoped_ptr<cc::RenderPass> pass = cc::RenderPass::Create(); | 205 scoped_ptr<cc::RenderPass> pass = cc::RenderPass::Create(); |
210 cc::RenderPassId pass_id(1, 6); | 206 cc::RenderPassId pass_id(1, 6); |
211 gfx::Rect output_rect(4, 9, 13, 71); | 207 gfx::Rect output_rect(4, 9, 13, 71); |
212 gfx::Rect damage_rect(9, 17, 41, 45); | 208 gfx::Rect damage_rect(9, 17, 41, 45); |
213 gfx::Transform transform_to_root_target; | 209 gfx::Transform transform_to_root_target; |
214 transform_to_root_target.SkewY(43.0); | 210 transform_to_root_target.SkewY(43.0); |
215 bool has_transparent_background = false; | 211 bool has_transparent_background = false; |
216 pass->SetAll(pass_id, | 212 pass->SetAll(pass_id, |
217 output_rect, | 213 output_rect, |
218 damage_rect, | 214 damage_rect, |
219 transform_to_root_target, | 215 transform_to_root_target, |
220 has_transparent_background); | 216 has_transparent_background); |
221 | 217 |
222 gfx::Transform content_to_target_transform; | 218 gfx::Transform quad_to_target_transform; |
223 content_to_target_transform.Scale3d(0.3f, 0.7f, 0.9f); | 219 quad_to_target_transform.Scale3d(0.3f, 0.7f, 0.9f); |
224 gfx::Size content_bounds(57, 39); | 220 gfx::Size quad_layer_bounds(57, 39); |
225 gfx::Rect visible_content_rect(3, 7, 28, 42); | 221 gfx::Rect visible_quad_layer_rect(3, 7, 28, 42); |
226 gfx::Rect clip_rect(9, 12, 21, 31); | 222 gfx::Rect clip_rect(9, 12, 21, 31); |
227 bool is_clipped = true; | 223 bool is_clipped = true; |
228 float opacity = 0.65f; | 224 float opacity = 0.65f; |
229 int sorting_context_id = 13; | 225 int sorting_context_id = 13; |
230 ::SkXfermode::Mode blend_mode = ::SkXfermode::kSrcOver_Mode; | 226 ::SkXfermode::Mode blend_mode = ::SkXfermode::kSrcOver_Mode; |
231 cc::SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState(); | 227 cc::SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState(); |
232 sqs->SetAll(content_to_target_transform, | 228 sqs->SetAll(quad_to_target_transform, quad_layer_bounds, |
233 content_bounds, | 229 visible_quad_layer_rect, clip_rect, is_clipped, opacity, |
234 visible_content_rect, | 230 blend_mode, sorting_context_id); |
235 clip_rect, | |
236 is_clipped, | |
237 opacity, | |
238 blend_mode, | |
239 sorting_context_id); | |
240 | 231 |
241 gfx::Rect rect(5, 7, 13, 19); | 232 gfx::Rect rect(5, 7, 13, 19); |
242 gfx::Rect opaque_rect(rect); | 233 gfx::Rect opaque_rect(rect); |
243 gfx::Rect visible_rect(9, 11, 5, 7); | 234 gfx::Rect visible_rect(9, 11, 5, 7); |
244 bool needs_blending = false; | 235 bool needs_blending = false; |
245 | 236 |
246 cc::SolidColorDrawQuad* color_quad = | 237 cc::SolidColorDrawQuad* color_quad = |
247 pass->CreateAndAppendDrawQuad<cc::SolidColorDrawQuad>(); | 238 pass->CreateAndAppendDrawQuad<cc::SolidColorDrawQuad>(); |
248 SkColor arbitrary_color = SK_ColorGREEN; | 239 SkColor arbitrary_color = SK_ColorGREEN; |
249 bool force_anti_aliasing_off = true; | 240 bool force_anti_aliasing_off = true; |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 round_trip_pass->transform_to_root_target); | 290 round_trip_pass->transform_to_root_target); |
300 EXPECT_EQ(has_transparent_background, | 291 EXPECT_EQ(has_transparent_background, |
301 round_trip_pass->has_transparent_background); | 292 round_trip_pass->has_transparent_background); |
302 ASSERT_EQ(1u, round_trip_pass->shared_quad_state_list.size()); | 293 ASSERT_EQ(1u, round_trip_pass->shared_quad_state_list.size()); |
303 ASSERT_EQ(3u, round_trip_pass->quad_list.size()); | 294 ASSERT_EQ(3u, round_trip_pass->quad_list.size()); |
304 EXPECT_EQ(round_trip_pass->shared_quad_state_list.front(), | 295 EXPECT_EQ(round_trip_pass->shared_quad_state_list.front(), |
305 round_trip_pass->quad_list.front()->shared_quad_state); | 296 round_trip_pass->quad_list.front()->shared_quad_state); |
306 | 297 |
307 cc::SharedQuadState* round_trip_sqs = | 298 cc::SharedQuadState* round_trip_sqs = |
308 round_trip_pass->shared_quad_state_list.front(); | 299 round_trip_pass->shared_quad_state_list.front(); |
309 EXPECT_EQ(content_to_target_transform, | 300 EXPECT_EQ(quad_to_target_transform, round_trip_sqs->quad_to_target_transform); |
310 round_trip_sqs->content_to_target_transform); | 301 EXPECT_EQ(quad_layer_bounds, round_trip_sqs->quad_layer_bounds); |
311 EXPECT_EQ(content_bounds, round_trip_sqs->content_bounds); | 302 EXPECT_EQ(visible_quad_layer_rect, round_trip_sqs->visible_quad_layer_rect); |
312 EXPECT_EQ(visible_content_rect, round_trip_sqs->visible_content_rect); | |
313 EXPECT_EQ(clip_rect, round_trip_sqs->clip_rect); | 303 EXPECT_EQ(clip_rect, round_trip_sqs->clip_rect); |
314 EXPECT_EQ(is_clipped, round_trip_sqs->is_clipped); | 304 EXPECT_EQ(is_clipped, round_trip_sqs->is_clipped); |
315 EXPECT_EQ(opacity, round_trip_sqs->opacity); | 305 EXPECT_EQ(opacity, round_trip_sqs->opacity); |
316 EXPECT_EQ(sorting_context_id, round_trip_sqs->sorting_context_id); | 306 EXPECT_EQ(sorting_context_id, round_trip_sqs->sorting_context_id); |
317 | 307 |
318 cc::DrawQuad* round_trip_quad = round_trip_pass->quad_list.front(); | 308 cc::DrawQuad* round_trip_quad = round_trip_pass->quad_list.front(); |
319 // First is solid color quad. | 309 // First is solid color quad. |
320 ASSERT_EQ(cc::DrawQuad::SOLID_COLOR, round_trip_quad->material); | 310 ASSERT_EQ(cc::DrawQuad::SOLID_COLOR, round_trip_quad->material); |
321 EXPECT_EQ(rect, round_trip_quad->rect); | 311 EXPECT_EQ(rect, round_trip_quad->rect); |
322 EXPECT_EQ(opaque_rect, round_trip_quad->opaque_rect); | 312 EXPECT_EQ(opaque_rect, round_trip_quad->opaque_rect); |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
449 cc::ReturnedResource round_trip_resource = | 439 cc::ReturnedResource round_trip_resource = |
450 mojo_resource.To<cc::ReturnedResource>(); | 440 mojo_resource.To<cc::ReturnedResource>(); |
451 EXPECT_EQ(id, round_trip_resource.id); | 441 EXPECT_EQ(id, round_trip_resource.id); |
452 EXPECT_EQ(sync_point, round_trip_resource.sync_point); | 442 EXPECT_EQ(sync_point, round_trip_resource.sync_point); |
453 EXPECT_EQ(count, round_trip_resource.count); | 443 EXPECT_EQ(count, round_trip_resource.count); |
454 EXPECT_EQ(lost, round_trip_resource.lost); | 444 EXPECT_EQ(lost, round_trip_resource.lost); |
455 } | 445 } |
456 | 446 |
457 } // namespace | 447 } // namespace |
458 } // namespace mojo | 448 } // namespace mojo |
OLD | NEW |