| 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 |