| 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/layers/delegated_renderer_layer_impl.h" | 5 #include "cc/layers/delegated_renderer_layer_impl.h" |
| 6 | 6 |
| 7 #include "cc/base/scoped_ptr_vector.h" | 7 #include "cc/base/scoped_ptr_vector.h" |
| 8 #include "cc/layers/solid_color_layer_impl.h" | 8 #include "cc/layers/solid_color_layer_impl.h" |
| 9 #include "cc/quads/render_pass_draw_quad.h" | 9 #include "cc/quads/render_pass_draw_quad.h" |
| 10 #include "cc/quads/solid_color_draw_quad.h" | 10 #include "cc/quads/solid_color_draw_quad.h" |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 AddRenderPassQuad(pass3, pass2); | 170 AddRenderPassQuad(pass3, pass2); |
| 171 delegated_renderer_layer->SetFrameDataForRenderPasses( | 171 delegated_renderer_layer->SetFrameDataForRenderPasses( |
| 172 1.f, delegated_render_passes); | 172 1.f, delegated_render_passes); |
| 173 | 173 |
| 174 fake_delegated_renderer_layer_impl = delegated_renderer_layer.get(); | 174 fake_delegated_renderer_layer_impl = delegated_renderer_layer.get(); |
| 175 | 175 |
| 176 root_layer->AddChild(delegated_renderer_layer.Pass()); | 176 root_layer->AddChild(delegated_renderer_layer.Pass()); |
| 177 | 177 |
| 178 host_impl_->active_tree()->SetRootLayer(root_layer.Pass()); | 178 host_impl_->active_tree()->SetRootLayer(root_layer.Pass()); |
| 179 | 179 |
| 180 LayerTreeHostImpl::FrameData frame; | 180 FrameData frame; |
| 181 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 181 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 182 | 182 |
| 183 // Root layer has one render pass, and delegated renderer layer has two | 183 // Root layer has one render pass, and delegated renderer layer has two |
| 184 // contributing render passes and its own render pass. | 184 // contributing render passes and its own render pass. |
| 185 ASSERT_EQ(4u, frame.render_passes.size()); | 185 ASSERT_EQ(4u, frame.render_passes.size()); |
| 186 | 186 |
| 187 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 187 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 188 host_impl_->DidDrawAllLayers(frame); | 188 host_impl_->DidDrawAllLayers(frame); |
| 189 } | 189 } |
| 190 { | 190 { |
| 191 // New frame makes delegated renderer layer loses its contributing render | 191 // New frame makes delegated renderer layer loses its contributing render |
| 192 // passes. | 192 // passes. |
| 193 RenderPassList delegated_render_passes; | 193 RenderPassList delegated_render_passes; |
| 194 AddRenderPass(&delegated_render_passes, RenderPassId(9, 8), | 194 AddRenderPass(&delegated_render_passes, RenderPassId(9, 8), |
| 195 gfx::Rect(0, 0, 8, 8), gfx::Transform(1, 0, 0, 1, 9, 10)); | 195 gfx::Rect(0, 0, 8, 8), gfx::Transform(1, 0, 0, 1, 9, 10)); |
| 196 fake_delegated_renderer_layer_impl->SetFrameDataForRenderPasses( | 196 fake_delegated_renderer_layer_impl->SetFrameDataForRenderPasses( |
| 197 1.f, delegated_render_passes); | 197 1.f, delegated_render_passes); |
| 198 | 198 |
| 199 // Force damage to redraw a new frame. | 199 // Force damage to redraw a new frame. |
| 200 host_impl_->SetViewportDamage(gfx::Rect(10, 10)); | 200 host_impl_->SetViewportDamage(gfx::Rect(10, 10)); |
| 201 | 201 |
| 202 LayerTreeHostImpl::FrameData frame; | 202 FrameData frame; |
| 203 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 203 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 204 | 204 |
| 205 // Each non-DelegatedRendererLayer added one RenderPass. The | 205 // Each non-DelegatedRendererLayer added one RenderPass. The |
| 206 // DelegatedRendererLayer added two contributing passes. | 206 // DelegatedRendererLayer added two contributing passes. |
| 207 ASSERT_EQ(1u, frame.render_passes.size()); | 207 ASSERT_EQ(1u, frame.render_passes.size()); |
| 208 | 208 |
| 209 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 209 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 210 host_impl_->DidDrawAllLayers(frame); | 210 host_impl_->DidDrawAllLayers(frame); |
| 211 } | 211 } |
| 212 } | 212 } |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 251 delegated_renderer_layer->SetFrameDataForRenderPasses( | 251 delegated_renderer_layer->SetFrameDataForRenderPasses( |
| 252 1.f, delegated_render_passes); | 252 1.f, delegated_render_passes); |
| 253 | 253 |
| 254 fake_delegated_renderer_layer_impl = delegated_renderer_layer.get(); | 254 fake_delegated_renderer_layer_impl = delegated_renderer_layer.get(); |
| 255 | 255 |
| 256 root_layer->AddChild(delegated_renderer_layer.Pass()); | 256 root_layer->AddChild(delegated_renderer_layer.Pass()); |
| 257 | 257 |
| 258 host_impl_->pending_tree()->SetRootLayer(root_layer.Pass()); | 258 host_impl_->pending_tree()->SetRootLayer(root_layer.Pass()); |
| 259 host_impl_->ActivateSyncTree(); | 259 host_impl_->ActivateSyncTree(); |
| 260 | 260 |
| 261 LayerTreeHostImpl::FrameData frame; | 261 FrameData frame; |
| 262 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 262 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 263 | 263 |
| 264 // Root layer has one render pass, and delegated renderer layer has two | 264 // Root layer has one render pass, and delegated renderer layer has two |
| 265 // contributing render passes and its own render pass. | 265 // contributing render passes and its own render pass. |
| 266 ASSERT_EQ(4u, frame.render_passes.size()); | 266 ASSERT_EQ(4u, frame.render_passes.size()); |
| 267 | 267 |
| 268 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 268 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 269 host_impl_->DidDrawAllLayers(frame); | 269 host_impl_->DidDrawAllLayers(frame); |
| 270 } | 270 } |
| 271 { | 271 { |
| 272 // Remove contributing render passes from the delegated renderer layer. | 272 // Remove contributing render passes from the delegated renderer layer. |
| 273 host_impl_->CreatePendingTree(); | 273 host_impl_->CreatePendingTree(); |
| 274 host_impl_->pending_tree()->set_needs_full_tree_sync(false); | 274 host_impl_->pending_tree()->set_needs_full_tree_sync(false); |
| 275 RenderPassList delegated_render_passes; | 275 RenderPassList delegated_render_passes; |
| 276 AddRenderPass(&delegated_render_passes, RenderPassId(9, 8), | 276 AddRenderPass(&delegated_render_passes, RenderPassId(9, 8), |
| 277 gfx::Rect(0, 0, 8, 8), gfx::Transform(1, 0, 0, 1, 9, 10)); | 277 gfx::Rect(0, 0, 8, 8), gfx::Transform(1, 0, 0, 1, 9, 10)); |
| 278 | 278 |
| 279 fake_delegated_renderer_layer_impl->SetFrameDataForRenderPasses( | 279 fake_delegated_renderer_layer_impl->SetFrameDataForRenderPasses( |
| 280 1.f, delegated_render_passes); | 280 1.f, delegated_render_passes); |
| 281 | 281 |
| 282 // Force damage to redraw a new frame. | 282 // Force damage to redraw a new frame. |
| 283 | 283 |
| 284 host_impl_->ActivateSyncTree(); | 284 host_impl_->ActivateSyncTree(); |
| 285 host_impl_->SetViewportDamage(gfx::Rect(100, 100)); | 285 host_impl_->SetViewportDamage(gfx::Rect(100, 100)); |
| 286 LayerTreeHostImpl::FrameData frame; | 286 FrameData frame; |
| 287 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 287 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 288 | 288 |
| 289 // Root layer has one render pass, and delegated renderer layer no longer | 289 // Root layer has one render pass, and delegated renderer layer no longer |
| 290 // has contributing render passes. | 290 // has contributing render passes. |
| 291 ASSERT_EQ(1u, frame.render_passes.size()); | 291 ASSERT_EQ(1u, frame.render_passes.size()); |
| 292 | 292 |
| 293 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 293 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 294 host_impl_->DidDrawAllLayers(frame); | 294 host_impl_->DidDrawAllLayers(frame); |
| 295 } | 295 } |
| 296 } | 296 } |
| 297 | 297 |
| 298 TEST_F(DelegatedRendererLayerImplTestSimple, AddsContributingRenderPasses) { | 298 TEST_F(DelegatedRendererLayerImplTestSimple, AddsContributingRenderPasses) { |
| 299 LayerTreeHostImpl::FrameData frame; | 299 FrameData frame; |
| 300 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 300 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 301 | 301 |
| 302 // Each non-DelegatedRendererLayer added one RenderPass. The | 302 // Each non-DelegatedRendererLayer added one RenderPass. The |
| 303 // DelegatedRendererLayer added two contributing passes. | 303 // DelegatedRendererLayer added two contributing passes. |
| 304 ASSERT_EQ(5u, frame.render_passes.size()); | 304 ASSERT_EQ(5u, frame.render_passes.size()); |
| 305 | 305 |
| 306 // The DelegatedRendererLayer should have added its contributing RenderPasses | 306 // The DelegatedRendererLayer should have added its contributing RenderPasses |
| 307 // to the frame. | 307 // to the frame. |
| 308 EXPECT_EQ(4, frame.render_passes[1]->id.layer_id); | 308 EXPECT_EQ(4, frame.render_passes[1]->id.layer_id); |
| 309 EXPECT_EQ(1, frame.render_passes[1]->id.index); | 309 EXPECT_EQ(1, frame.render_passes[1]->id.index); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 323 frame.render_passes[1]->output_rect.ToString()); | 323 frame.render_passes[1]->output_rect.ToString()); |
| 324 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(), | 324 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(), |
| 325 frame.render_passes[2]->output_rect.ToString()); | 325 frame.render_passes[2]->output_rect.ToString()); |
| 326 | 326 |
| 327 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 327 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 328 host_impl_->DidDrawAllLayers(frame); | 328 host_impl_->DidDrawAllLayers(frame); |
| 329 } | 329 } |
| 330 | 330 |
| 331 TEST_F(DelegatedRendererLayerImplTestSimple, | 331 TEST_F(DelegatedRendererLayerImplTestSimple, |
| 332 AddsQuadsToContributingRenderPasses) { | 332 AddsQuadsToContributingRenderPasses) { |
| 333 LayerTreeHostImpl::FrameData frame; | 333 FrameData frame; |
| 334 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 334 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 335 | 335 |
| 336 // Each non-DelegatedRendererLayer added one RenderPass. The | 336 // Each non-DelegatedRendererLayer added one RenderPass. The |
| 337 // DelegatedRendererLayer added two contributing passes. | 337 // DelegatedRendererLayer added two contributing passes. |
| 338 ASSERT_EQ(5u, frame.render_passes.size()); | 338 ASSERT_EQ(5u, frame.render_passes.size()); |
| 339 | 339 |
| 340 // The DelegatedRendererLayer should have added its contributing RenderPasses | 340 // The DelegatedRendererLayer should have added its contributing RenderPasses |
| 341 // to the frame. | 341 // to the frame. |
| 342 EXPECT_EQ(4, frame.render_passes[1]->id.layer_id); | 342 EXPECT_EQ(4, frame.render_passes[1]->id.layer_id); |
| 343 EXPECT_EQ(1, frame.render_passes[1]->id.index); | 343 EXPECT_EQ(1, frame.render_passes[1]->id.index); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 358 frame.render_passes[2]->quad_list.ElementAt(1)->rect.ToString()); | 358 frame.render_passes[2]->quad_list.ElementAt(1)->rect.ToString()); |
| 359 ASSERT_EQ(1u, frame.render_passes[1]->quad_list.size()); | 359 ASSERT_EQ(1u, frame.render_passes[1]->quad_list.size()); |
| 360 EXPECT_EQ(gfx::Rect(0, 0, 6, 6).ToString(), | 360 EXPECT_EQ(gfx::Rect(0, 0, 6, 6).ToString(), |
| 361 frame.render_passes[1]->quad_list.front()->rect.ToString()); | 361 frame.render_passes[1]->quad_list.front()->rect.ToString()); |
| 362 | 362 |
| 363 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 363 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 364 host_impl_->DidDrawAllLayers(frame); | 364 host_impl_->DidDrawAllLayers(frame); |
| 365 } | 365 } |
| 366 | 366 |
| 367 TEST_F(DelegatedRendererLayerImplTestSimple, AddsQuadsToTargetRenderPass) { | 367 TEST_F(DelegatedRendererLayerImplTestSimple, AddsQuadsToTargetRenderPass) { |
| 368 LayerTreeHostImpl::FrameData frame; | 368 FrameData frame; |
| 369 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 369 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 370 | 370 |
| 371 // Each non-DelegatedRendererLayer added one RenderPass. The | 371 // Each non-DelegatedRendererLayer added one RenderPass. The |
| 372 // DelegatedRendererLayer added two contributing passes. | 372 // DelegatedRendererLayer added two contributing passes. |
| 373 ASSERT_EQ(5u, frame.render_passes.size()); | 373 ASSERT_EQ(5u, frame.render_passes.size()); |
| 374 | 374 |
| 375 // The layer's target is the RenderPass from layer_after_. | 375 // The layer's target is the RenderPass from layer_after_. |
| 376 EXPECT_EQ(RenderPassId(3, 0), frame.render_passes[3]->id); | 376 EXPECT_EQ(RenderPassId(3, 0), frame.render_passes[3]->id); |
| 377 | 377 |
| 378 // The DelegatedRendererLayer should have added copies of quads in its root | 378 // The DelegatedRendererLayer should have added copies of quads in its root |
| 379 // RenderPass to its target RenderPass. The layer_after_ also adds one quad. | 379 // RenderPass to its target RenderPass. The layer_after_ also adds one quad. |
| 380 ASSERT_EQ(2u, frame.render_passes[3]->quad_list.size()); | 380 ASSERT_EQ(2u, frame.render_passes[3]->quad_list.size()); |
| 381 | 381 |
| 382 // Verify it added the right quads. | 382 // Verify it added the right quads. |
| 383 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(), | 383 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(), |
| 384 frame.render_passes[3]->quad_list.front()->rect.ToString()); | 384 frame.render_passes[3]->quad_list.front()->rect.ToString()); |
| 385 | 385 |
| 386 // Its target layer should have a quad as well. | 386 // Its target layer should have a quad as well. |
| 387 EXPECT_EQ(gfx::Rect(0, 0, 15, 15).ToString(), | 387 EXPECT_EQ(gfx::Rect(0, 0, 15, 15).ToString(), |
| 388 frame.render_passes[3]->quad_list.ElementAt(1)->rect.ToString()); | 388 frame.render_passes[3]->quad_list.ElementAt(1)->rect.ToString()); |
| 389 | 389 |
| 390 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 390 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 391 host_impl_->DidDrawAllLayers(frame); | 391 host_impl_->DidDrawAllLayers(frame); |
| 392 } | 392 } |
| 393 | 393 |
| 394 TEST_F(DelegatedRendererLayerImplTestSimple, | 394 TEST_F(DelegatedRendererLayerImplTestSimple, |
| 395 QuadsFromRootRenderPassAreModifiedForTheTarget) { | 395 QuadsFromRootRenderPassAreModifiedForTheTarget) { |
| 396 LayerTreeHostImpl::FrameData frame; | 396 FrameData frame; |
| 397 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 397 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 398 | 398 |
| 399 // Each non-DelegatedRendererLayer added one RenderPass. The | 399 // Each non-DelegatedRendererLayer added one RenderPass. The |
| 400 // DelegatedRendererLayer added two contributing passes. | 400 // DelegatedRendererLayer added two contributing passes. |
| 401 ASSERT_EQ(5u, frame.render_passes.size()); | 401 ASSERT_EQ(5u, frame.render_passes.size()); |
| 402 | 402 |
| 403 // The DelegatedRendererLayer is at position 3,3 compared to its target, and | 403 // The DelegatedRendererLayer is at position 3,3 compared to its target, and |
| 404 // has a translation transform of 1,1. So its root RenderPass' quads should | 404 // has a translation transform of 1,1. So its root RenderPass' quads should |
| 405 // all be transformed by that combined amount. | 405 // all be transformed by that combined amount. |
| 406 gfx::Transform transform; | 406 gfx::Transform transform; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 420 ASSERT_EQ(1u, frame.render_passes[1]->quad_list.size()); | 420 ASSERT_EQ(1u, frame.render_passes[1]->quad_list.size()); |
| 421 EXPECT_TRANSFORMATION_MATRIX_EQ( | 421 EXPECT_TRANSFORMATION_MATRIX_EQ( |
| 422 gfx::Transform(), | 422 gfx::Transform(), |
| 423 frame.render_passes[1]->quad_list.front()->quadTransform()); | 423 frame.render_passes[1]->quad_list.front()->quadTransform()); |
| 424 | 424 |
| 425 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 425 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 426 host_impl_->DidDrawAllLayers(frame); | 426 host_impl_->DidDrawAllLayers(frame); |
| 427 } | 427 } |
| 428 | 428 |
| 429 TEST_F(DelegatedRendererLayerImplTestSimple, RenderPassTransformIsModified) { | 429 TEST_F(DelegatedRendererLayerImplTestSimple, RenderPassTransformIsModified) { |
| 430 LayerTreeHostImpl::FrameData frame; | 430 FrameData frame; |
| 431 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 431 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 432 | 432 |
| 433 // The delegated layer has a surface between it and the root. | 433 // The delegated layer has a surface between it and the root. |
| 434 EXPECT_TRUE(delegated_renderer_layer_->render_target()->parent()); | 434 EXPECT_TRUE(delegated_renderer_layer_->render_target()->parent()); |
| 435 | 435 |
| 436 // Each non-DelegatedRendererLayer added one RenderPass. The | 436 // Each non-DelegatedRendererLayer added one RenderPass. The |
| 437 // DelegatedRendererLayer added two contributing passes. | 437 // DelegatedRendererLayer added two contributing passes. |
| 438 ASSERT_EQ(5u, frame.render_passes.size()); | 438 ASSERT_EQ(5u, frame.render_passes.size()); |
| 439 | 439 |
| 440 // The DelegatedRendererLayer is at position 9,9 compared to the root, so all | 440 // The DelegatedRendererLayer is at position 9,9 compared to the root, so all |
| (...skipping 20 matching lines...) Expand all Loading... |
| 461 class DelegatedRendererLayerImplTestOwnSurface | 461 class DelegatedRendererLayerImplTestOwnSurface |
| 462 : public DelegatedRendererLayerImplTestSimple { | 462 : public DelegatedRendererLayerImplTestSimple { |
| 463 public: | 463 public: |
| 464 DelegatedRendererLayerImplTestOwnSurface() | 464 DelegatedRendererLayerImplTestOwnSurface() |
| 465 : DelegatedRendererLayerImplTestSimple() { | 465 : DelegatedRendererLayerImplTestSimple() { |
| 466 delegated_renderer_layer_->SetHasRenderSurface(true); | 466 delegated_renderer_layer_->SetHasRenderSurface(true); |
| 467 } | 467 } |
| 468 }; | 468 }; |
| 469 | 469 |
| 470 TEST_F(DelegatedRendererLayerImplTestOwnSurface, AddsRenderPasses) { | 470 TEST_F(DelegatedRendererLayerImplTestOwnSurface, AddsRenderPasses) { |
| 471 LayerTreeHostImpl::FrameData frame; | 471 FrameData frame; |
| 472 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 472 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 473 | 473 |
| 474 // Each non-DelegatedRendererLayer added one RenderPass. The | 474 // Each non-DelegatedRendererLayer added one RenderPass. The |
| 475 // DelegatedRendererLayer added two contributing passes and its owned surface | 475 // DelegatedRendererLayer added two contributing passes and its owned surface |
| 476 // added one pass. | 476 // added one pass. |
| 477 ASSERT_EQ(6u, frame.render_passes.size()); | 477 ASSERT_EQ(6u, frame.render_passes.size()); |
| 478 | 478 |
| 479 // The DelegatedRendererLayer should have added its contributing RenderPasses | 479 // The DelegatedRendererLayer should have added its contributing RenderPasses |
| 480 // to the frame. | 480 // to the frame. |
| 481 EXPECT_EQ(4, frame.render_passes[1]->id.layer_id); | 481 EXPECT_EQ(4, frame.render_passes[1]->id.layer_id); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 500 frame.render_passes[1]->output_rect.ToString()); | 500 frame.render_passes[1]->output_rect.ToString()); |
| 501 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(), | 501 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(), |
| 502 frame.render_passes[2]->output_rect.ToString()); | 502 frame.render_passes[2]->output_rect.ToString()); |
| 503 | 503 |
| 504 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 504 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 505 host_impl_->DidDrawAllLayers(frame); | 505 host_impl_->DidDrawAllLayers(frame); |
| 506 } | 506 } |
| 507 | 507 |
| 508 TEST_F(DelegatedRendererLayerImplTestOwnSurface, | 508 TEST_F(DelegatedRendererLayerImplTestOwnSurface, |
| 509 AddsQuadsToContributingRenderPasses) { | 509 AddsQuadsToContributingRenderPasses) { |
| 510 LayerTreeHostImpl::FrameData frame; | 510 FrameData frame; |
| 511 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 511 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 512 | 512 |
| 513 // Each non-DelegatedRendererLayer added one RenderPass. The | 513 // Each non-DelegatedRendererLayer added one RenderPass. The |
| 514 // DelegatedRendererLayer added two contributing passes and its owned surface | 514 // DelegatedRendererLayer added two contributing passes and its owned surface |
| 515 // added one pass. | 515 // added one pass. |
| 516 ASSERT_EQ(6u, frame.render_passes.size()); | 516 ASSERT_EQ(6u, frame.render_passes.size()); |
| 517 | 517 |
| 518 // The DelegatedRendererLayer should have added its contributing RenderPasses | 518 // The DelegatedRendererLayer should have added its contributing RenderPasses |
| 519 // to the frame. | 519 // to the frame. |
| 520 EXPECT_EQ(4, frame.render_passes[1]->id.layer_id); | 520 EXPECT_EQ(4, frame.render_passes[1]->id.layer_id); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 537 frame.render_passes[2]->quad_list.ElementAt(1)->rect.ToString()); | 537 frame.render_passes[2]->quad_list.ElementAt(1)->rect.ToString()); |
| 538 ASSERT_EQ(1u, frame.render_passes[1]->quad_list.size()); | 538 ASSERT_EQ(1u, frame.render_passes[1]->quad_list.size()); |
| 539 EXPECT_EQ(gfx::Rect(0, 0, 6, 6).ToString(), | 539 EXPECT_EQ(gfx::Rect(0, 0, 6, 6).ToString(), |
| 540 frame.render_passes[1]->quad_list.front()->rect.ToString()); | 540 frame.render_passes[1]->quad_list.front()->rect.ToString()); |
| 541 | 541 |
| 542 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 542 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 543 host_impl_->DidDrawAllLayers(frame); | 543 host_impl_->DidDrawAllLayers(frame); |
| 544 } | 544 } |
| 545 | 545 |
| 546 TEST_F(DelegatedRendererLayerImplTestOwnSurface, AddsQuadsToTargetRenderPass) { | 546 TEST_F(DelegatedRendererLayerImplTestOwnSurface, AddsQuadsToTargetRenderPass) { |
| 547 LayerTreeHostImpl::FrameData frame; | 547 FrameData frame; |
| 548 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 548 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 549 | 549 |
| 550 // Each non-DelegatedRendererLayer added one RenderPass. The | 550 // Each non-DelegatedRendererLayer added one RenderPass. The |
| 551 // DelegatedRendererLayer added two contributing passes and its owned surface | 551 // DelegatedRendererLayer added two contributing passes and its owned surface |
| 552 // added one pass. | 552 // added one pass. |
| 553 ASSERT_EQ(6u, frame.render_passes.size()); | 553 ASSERT_EQ(6u, frame.render_passes.size()); |
| 554 | 554 |
| 555 // The layer's target is the RenderPass owned by itself. | 555 // The layer's target is the RenderPass owned by itself. |
| 556 EXPECT_EQ(RenderPassId(4, 0), frame.render_passes[3]->id); | 556 EXPECT_EQ(RenderPassId(4, 0), frame.render_passes[3]->id); |
| 557 | 557 |
| 558 // The DelegatedRendererLayer should have added copies of quads in its root | 558 // The DelegatedRendererLayer should have added copies of quads in its root |
| 559 // RenderPass to its target RenderPass. | 559 // RenderPass to its target RenderPass. |
| 560 // The layer_after also adds one quad. | 560 // The layer_after also adds one quad. |
| 561 ASSERT_EQ(1u, frame.render_passes[3]->quad_list.size()); | 561 ASSERT_EQ(1u, frame.render_passes[3]->quad_list.size()); |
| 562 | 562 |
| 563 // Verify it added the right quads. | 563 // Verify it added the right quads. |
| 564 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(), | 564 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(), |
| 565 frame.render_passes[3]->quad_list.front()->rect.ToString()); | 565 frame.render_passes[3]->quad_list.front()->rect.ToString()); |
| 566 | 566 |
| 567 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 567 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 568 host_impl_->DidDrawAllLayers(frame); | 568 host_impl_->DidDrawAllLayers(frame); |
| 569 } | 569 } |
| 570 | 570 |
| 571 TEST_F(DelegatedRendererLayerImplTestOwnSurface, | 571 TEST_F(DelegatedRendererLayerImplTestOwnSurface, |
| 572 QuadsFromRootRenderPassAreNotModifiedForTheTarget) { | 572 QuadsFromRootRenderPassAreNotModifiedForTheTarget) { |
| 573 LayerTreeHostImpl::FrameData frame; | 573 FrameData frame; |
| 574 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 574 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 575 | 575 |
| 576 // Each non-DelegatedRendererLayer added one RenderPass. The | 576 // Each non-DelegatedRendererLayer added one RenderPass. The |
| 577 // DelegatedRendererLayer added two contributing passes and its owned surface | 577 // DelegatedRendererLayer added two contributing passes and its owned surface |
| 578 // added one pass. | 578 // added one pass. |
| 579 ASSERT_EQ(6u, frame.render_passes.size()); | 579 ASSERT_EQ(6u, frame.render_passes.size()); |
| 580 | 580 |
| 581 // Because the DelegatedRendererLayer owns a RenderSurfaceImpl, its root | 581 // Because the DelegatedRendererLayer owns a RenderSurfaceImpl, its root |
| 582 // RenderPass' quads do not need to be translated at all. | 582 // RenderPass' quads do not need to be translated at all. |
| 583 EXPECT_TRANSFORMATION_MATRIX_EQ( | 583 EXPECT_TRANSFORMATION_MATRIX_EQ( |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 740 delegated_device_scale_factor_, delegated_render_passes); | 740 delegated_device_scale_factor_, delegated_render_passes); |
| 741 | 741 |
| 742 root_layer_ = root_layer.get(); | 742 root_layer_ = root_layer.get(); |
| 743 delegated_renderer_layer_ = delegated_renderer_layer.get(); | 743 delegated_renderer_layer_ = delegated_renderer_layer.get(); |
| 744 | 744 |
| 745 root_layer->AddChild(delegated_renderer_layer.Pass()); | 745 root_layer->AddChild(delegated_renderer_layer.Pass()); |
| 746 host_impl_->active_tree()->SetRootLayer(root_layer.Pass()); | 746 host_impl_->active_tree()->SetRootLayer(root_layer.Pass()); |
| 747 } | 747 } |
| 748 | 748 |
| 749 void VerifyRenderPasses( | 749 void VerifyRenderPasses( |
| 750 const LayerTreeHostImpl::FrameData& frame, | 750 const FrameData& frame, |
| 751 size_t num_render_passes, | 751 size_t num_render_passes, |
| 752 const SharedQuadState** root_delegated_shared_quad_state, | 752 const SharedQuadState** root_delegated_shared_quad_state, |
| 753 const SharedQuadState** contrib_delegated_shared_quad_state) { | 753 const SharedQuadState** contrib_delegated_shared_quad_state) { |
| 754 ASSERT_EQ(num_render_passes, frame.render_passes.size()); | 754 ASSERT_EQ(num_render_passes, frame.render_passes.size()); |
| 755 // The contributing render pass in the DelegatedRendererLayer. | 755 // The contributing render pass in the DelegatedRendererLayer. |
| 756 EXPECT_EQ(2, frame.render_passes[0]->id.layer_id); | 756 EXPECT_EQ(2, frame.render_passes[0]->id.layer_id); |
| 757 EXPECT_EQ(1, frame.render_passes[0]->id.index); | 757 EXPECT_EQ(1, frame.render_passes[0]->id.index); |
| 758 // The root render pass. | 758 // The root render pass. |
| 759 EXPECT_EQ(1, frame.render_passes.back()->id.layer_id); | 759 EXPECT_EQ(1, frame.render_passes.back()->id.layer_id); |
| 760 EXPECT_EQ(0, frame.render_passes.back()->id.index); | 760 EXPECT_EQ(0, frame.render_passes.back()->id.index); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 792 LayerImpl* root_layer_; | 792 LayerImpl* root_layer_; |
| 793 DelegatedRendererLayerImpl* delegated_renderer_layer_; | 793 DelegatedRendererLayerImpl* delegated_renderer_layer_; |
| 794 bool root_delegated_render_pass_is_clipped_; | 794 bool root_delegated_render_pass_is_clipped_; |
| 795 float delegated_device_scale_factor_; | 795 float delegated_device_scale_factor_; |
| 796 }; | 796 }; |
| 797 | 797 |
| 798 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsUnclipped_NoSurface) { | 798 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsUnclipped_NoSurface) { |
| 799 root_delegated_render_pass_is_clipped_ = false; | 799 root_delegated_render_pass_is_clipped_ = false; |
| 800 SetUpTest(); | 800 SetUpTest(); |
| 801 | 801 |
| 802 LayerTreeHostImpl::FrameData frame; | 802 FrameData frame; |
| 803 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 803 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 804 | 804 |
| 805 const SharedQuadState* root_delegated_shared_quad_state = nullptr; | 805 const SharedQuadState* root_delegated_shared_quad_state = nullptr; |
| 806 const SharedQuadState* contrib_delegated_shared_quad_state = nullptr; | 806 const SharedQuadState* contrib_delegated_shared_quad_state = nullptr; |
| 807 VerifyRenderPasses( | 807 VerifyRenderPasses( |
| 808 frame, | 808 frame, |
| 809 2, | 809 2, |
| 810 &root_delegated_shared_quad_state, | 810 &root_delegated_shared_quad_state, |
| 811 &contrib_delegated_shared_quad_state); | 811 &contrib_delegated_shared_quad_state); |
| 812 | 812 |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 847 contrib_delegated_shared_quad_state->content_to_target_transform); | 847 contrib_delegated_shared_quad_state->content_to_target_transform); |
| 848 | 848 |
| 849 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 849 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 850 host_impl_->DidDrawAllLayers(frame); | 850 host_impl_->DidDrawAllLayers(frame); |
| 851 } | 851 } |
| 852 | 852 |
| 853 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsClipped_NoSurface) { | 853 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsClipped_NoSurface) { |
| 854 root_delegated_render_pass_is_clipped_ = true; | 854 root_delegated_render_pass_is_clipped_ = true; |
| 855 SetUpTest(); | 855 SetUpTest(); |
| 856 | 856 |
| 857 LayerTreeHostImpl::FrameData frame; | 857 FrameData frame; |
| 858 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 858 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 859 | 859 |
| 860 const SharedQuadState* root_delegated_shared_quad_state = nullptr; | 860 const SharedQuadState* root_delegated_shared_quad_state = nullptr; |
| 861 const SharedQuadState* contrib_delegated_shared_quad_state = nullptr; | 861 const SharedQuadState* contrib_delegated_shared_quad_state = nullptr; |
| 862 VerifyRenderPasses( | 862 VerifyRenderPasses( |
| 863 frame, | 863 frame, |
| 864 2, | 864 2, |
| 865 &root_delegated_shared_quad_state, | 865 &root_delegated_shared_quad_state, |
| 866 &contrib_delegated_shared_quad_state); | 866 &contrib_delegated_shared_quad_state); |
| 867 | 867 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 908 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 908 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 909 host_impl_->DidDrawAllLayers(frame); | 909 host_impl_->DidDrawAllLayers(frame); |
| 910 } | 910 } |
| 911 | 911 |
| 912 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsUnclipped_Surface) { | 912 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsUnclipped_Surface) { |
| 913 root_delegated_render_pass_is_clipped_ = false; | 913 root_delegated_render_pass_is_clipped_ = false; |
| 914 SetUpTest(); | 914 SetUpTest(); |
| 915 | 915 |
| 916 delegated_renderer_layer_->SetHasRenderSurface(true); | 916 delegated_renderer_layer_->SetHasRenderSurface(true); |
| 917 | 917 |
| 918 LayerTreeHostImpl::FrameData frame; | 918 FrameData frame; |
| 919 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 919 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 920 | 920 |
| 921 const SharedQuadState* root_delegated_shared_quad_state = nullptr; | 921 const SharedQuadState* root_delegated_shared_quad_state = nullptr; |
| 922 const SharedQuadState* contrib_delegated_shared_quad_state = nullptr; | 922 const SharedQuadState* contrib_delegated_shared_quad_state = nullptr; |
| 923 VerifyRenderPasses( | 923 VerifyRenderPasses( |
| 924 frame, | 924 frame, |
| 925 3, | 925 3, |
| 926 &root_delegated_shared_quad_state, | 926 &root_delegated_shared_quad_state, |
| 927 &contrib_delegated_shared_quad_state); | 927 &contrib_delegated_shared_quad_state); |
| 928 | 928 |
| (...skipping 28 matching lines...) Expand all Loading... |
| 957 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 957 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 958 host_impl_->DidDrawAllLayers(frame); | 958 host_impl_->DidDrawAllLayers(frame); |
| 959 } | 959 } |
| 960 | 960 |
| 961 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsClipped_Surface) { | 961 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsClipped_Surface) { |
| 962 root_delegated_render_pass_is_clipped_ = true; | 962 root_delegated_render_pass_is_clipped_ = true; |
| 963 SetUpTest(); | 963 SetUpTest(); |
| 964 | 964 |
| 965 delegated_renderer_layer_->SetHasRenderSurface(true); | 965 delegated_renderer_layer_->SetHasRenderSurface(true); |
| 966 | 966 |
| 967 LayerTreeHostImpl::FrameData frame; | 967 FrameData frame; |
| 968 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 968 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 969 | 969 |
| 970 const SharedQuadState* root_delegated_shared_quad_state = nullptr; | 970 const SharedQuadState* root_delegated_shared_quad_state = nullptr; |
| 971 const SharedQuadState* contrib_delegated_shared_quad_state = nullptr; | 971 const SharedQuadState* contrib_delegated_shared_quad_state = nullptr; |
| 972 VerifyRenderPasses( | 972 VerifyRenderPasses( |
| 973 frame, | 973 frame, |
| 974 3, | 974 3, |
| 975 &root_delegated_shared_quad_state, | 975 &root_delegated_shared_quad_state, |
| 976 &contrib_delegated_shared_quad_state); | 976 &contrib_delegated_shared_quad_state); |
| 977 | 977 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 1005 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 1005 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 1006 host_impl_->DidDrawAllLayers(frame); | 1006 host_impl_->DidDrawAllLayers(frame); |
| 1007 } | 1007 } |
| 1008 | 1008 |
| 1009 TEST_F(DelegatedRendererLayerImplTestTransform, MismatchedDeviceScaleFactor) { | 1009 TEST_F(DelegatedRendererLayerImplTestTransform, MismatchedDeviceScaleFactor) { |
| 1010 root_delegated_render_pass_is_clipped_ = true; | 1010 root_delegated_render_pass_is_clipped_ = true; |
| 1011 delegated_device_scale_factor_ = 1.3f; | 1011 delegated_device_scale_factor_ = 1.3f; |
| 1012 | 1012 |
| 1013 SetUpTest(); | 1013 SetUpTest(); |
| 1014 | 1014 |
| 1015 LayerTreeHostImpl::FrameData frame; | 1015 FrameData frame; |
| 1016 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 1016 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 1017 | 1017 |
| 1018 const SharedQuadState* root_delegated_shared_quad_state = nullptr; | 1018 const SharedQuadState* root_delegated_shared_quad_state = nullptr; |
| 1019 const SharedQuadState* contrib_delegated_shared_quad_state = nullptr; | 1019 const SharedQuadState* contrib_delegated_shared_quad_state = nullptr; |
| 1020 VerifyRenderPasses(frame, | 1020 VerifyRenderPasses(frame, |
| 1021 2, | 1021 2, |
| 1022 &root_delegated_shared_quad_state, | 1022 &root_delegated_shared_quad_state, |
| 1023 &contrib_delegated_shared_quad_state); | 1023 &contrib_delegated_shared_quad_state); |
| 1024 | 1024 |
| 1025 // The parent tree's device scale factor is 2.0, but the child has submitted a | 1025 // The parent tree's device scale factor is 2.0, but the child has submitted a |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1202 bool root_delegated_render_pass_is_clipped_; | 1202 bool root_delegated_render_pass_is_clipped_; |
| 1203 bool clip_delegated_renderer_layer_; | 1203 bool clip_delegated_renderer_layer_; |
| 1204 }; | 1204 }; |
| 1205 | 1205 |
| 1206 TEST_F(DelegatedRendererLayerImplTestClip, | 1206 TEST_F(DelegatedRendererLayerImplTestClip, |
| 1207 QuadsUnclipped_LayerUnclipped_NoSurface) { | 1207 QuadsUnclipped_LayerUnclipped_NoSurface) { |
| 1208 root_delegated_render_pass_is_clipped_ = false; | 1208 root_delegated_render_pass_is_clipped_ = false; |
| 1209 clip_delegated_renderer_layer_ = false; | 1209 clip_delegated_renderer_layer_ = false; |
| 1210 SetUpTest(); | 1210 SetUpTest(); |
| 1211 | 1211 |
| 1212 LayerTreeHostImpl::FrameData frame; | 1212 FrameData frame; |
| 1213 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 1213 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 1214 | 1214 |
| 1215 ASSERT_EQ(2u, frame.render_passes.size()); | 1215 ASSERT_EQ(2u, frame.render_passes.size()); |
| 1216 const QuadList& contrib_delegated_quad_list = | 1216 const QuadList& contrib_delegated_quad_list = |
| 1217 frame.render_passes[0]->quad_list; | 1217 frame.render_passes[0]->quad_list; |
| 1218 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); | 1218 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); |
| 1219 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; | 1219 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; |
| 1220 ASSERT_EQ(5u, root_delegated_quad_list.size()); | 1220 ASSERT_EQ(5u, root_delegated_quad_list.size()); |
| 1221 const SharedQuadState* root_delegated_shared_quad_state = | 1221 const SharedQuadState* root_delegated_shared_quad_state = |
| 1222 root_delegated_quad_list.front()->shared_quad_state; | 1222 root_delegated_quad_list.front()->shared_quad_state; |
| 1223 | 1223 |
| 1224 // When the quads don't have a clip of their own, the clip rect is set to | 1224 // When the quads don't have a clip of their own, the clip rect is set to |
| 1225 // the drawable_content_rect of the delegated renderer layer. | 1225 // the drawable_content_rect of the delegated renderer layer. |
| 1226 EXPECT_EQ(gfx::Rect(20, 20, 50, 50).ToString(), | 1226 EXPECT_EQ(gfx::Rect(20, 20, 50, 50).ToString(), |
| 1227 root_delegated_shared_quad_state->clip_rect.ToString()); | 1227 root_delegated_shared_quad_state->clip_rect.ToString()); |
| 1228 // Quads are clipped to the delegated renderer layer. | 1228 // Quads are clipped to the delegated renderer layer. |
| 1229 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped); | 1229 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped); |
| 1230 | 1230 |
| 1231 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 1231 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 1232 host_impl_->DidDrawAllLayers(frame); | 1232 host_impl_->DidDrawAllLayers(frame); |
| 1233 } | 1233 } |
| 1234 | 1234 |
| 1235 TEST_F(DelegatedRendererLayerImplTestClip, | 1235 TEST_F(DelegatedRendererLayerImplTestClip, |
| 1236 QuadsClipped_LayerUnclipped_NoSurface) { | 1236 QuadsClipped_LayerUnclipped_NoSurface) { |
| 1237 root_delegated_render_pass_is_clipped_ = true; | 1237 root_delegated_render_pass_is_clipped_ = true; |
| 1238 clip_delegated_renderer_layer_ = false; | 1238 clip_delegated_renderer_layer_ = false; |
| 1239 SetUpTest(); | 1239 SetUpTest(); |
| 1240 | 1240 |
| 1241 LayerTreeHostImpl::FrameData frame; | 1241 FrameData frame; |
| 1242 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 1242 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 1243 | 1243 |
| 1244 ASSERT_EQ(2u, frame.render_passes.size()); | 1244 ASSERT_EQ(2u, frame.render_passes.size()); |
| 1245 const QuadList& contrib_delegated_quad_list = | 1245 const QuadList& contrib_delegated_quad_list = |
| 1246 frame.render_passes[0]->quad_list; | 1246 frame.render_passes[0]->quad_list; |
| 1247 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); | 1247 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); |
| 1248 const QuadList& root_delegated_quad_list = | 1248 const QuadList& root_delegated_quad_list = |
| 1249 frame.render_passes[1]->quad_list; | 1249 frame.render_passes[1]->quad_list; |
| 1250 ASSERT_EQ(5u, root_delegated_quad_list.size()); | 1250 ASSERT_EQ(5u, root_delegated_quad_list.size()); |
| 1251 const SharedQuadState* root_delegated_shared_quad_state = | 1251 const SharedQuadState* root_delegated_shared_quad_state = |
| 1252 root_delegated_quad_list.front()->shared_quad_state; | 1252 root_delegated_quad_list.front()->shared_quad_state; |
| 1253 | 1253 |
| 1254 // When the quads have a clip of their own, it is used. | 1254 // When the quads have a clip of their own, it is used. |
| 1255 EXPECT_EQ(gfx::Rect(25, 25, 40, 40).ToString(), | 1255 EXPECT_EQ(gfx::Rect(25, 25, 40, 40).ToString(), |
| 1256 root_delegated_shared_quad_state->clip_rect.ToString()); | 1256 root_delegated_shared_quad_state->clip_rect.ToString()); |
| 1257 // Quads came with a clip rect. | 1257 // Quads came with a clip rect. |
| 1258 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped); | 1258 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped); |
| 1259 | 1259 |
| 1260 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 1260 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 1261 host_impl_->DidDrawAllLayers(frame); | 1261 host_impl_->DidDrawAllLayers(frame); |
| 1262 } | 1262 } |
| 1263 | 1263 |
| 1264 TEST_F(DelegatedRendererLayerImplTestClip, | 1264 TEST_F(DelegatedRendererLayerImplTestClip, |
| 1265 QuadsUnclipped_LayerClipped_NoSurface) { | 1265 QuadsUnclipped_LayerClipped_NoSurface) { |
| 1266 root_delegated_render_pass_is_clipped_ = false; | 1266 root_delegated_render_pass_is_clipped_ = false; |
| 1267 clip_delegated_renderer_layer_ = true; | 1267 clip_delegated_renderer_layer_ = true; |
| 1268 SetUpTest(); | 1268 SetUpTest(); |
| 1269 | 1269 |
| 1270 LayerTreeHostImpl::FrameData frame; | 1270 FrameData frame; |
| 1271 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 1271 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 1272 | 1272 |
| 1273 ASSERT_EQ(2u, frame.render_passes.size()); | 1273 ASSERT_EQ(2u, frame.render_passes.size()); |
| 1274 const QuadList& contrib_delegated_quad_list = | 1274 const QuadList& contrib_delegated_quad_list = |
| 1275 frame.render_passes[0]->quad_list; | 1275 frame.render_passes[0]->quad_list; |
| 1276 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); | 1276 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); |
| 1277 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; | 1277 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; |
| 1278 ASSERT_EQ(5u, root_delegated_quad_list.size()); | 1278 ASSERT_EQ(5u, root_delegated_quad_list.size()); |
| 1279 const SharedQuadState* root_delegated_shared_quad_state = | 1279 const SharedQuadState* root_delegated_shared_quad_state = |
| 1280 root_delegated_quad_list.front()->shared_quad_state; | 1280 root_delegated_quad_list.front()->shared_quad_state; |
| 1281 | 1281 |
| 1282 // When the quads don't have a clip of their own, the clip rect is set to | 1282 // When the quads don't have a clip of their own, the clip rect is set to |
| 1283 // the drawable_content_rect of the delegated renderer layer. When the layer | 1283 // the drawable_content_rect of the delegated renderer layer. When the layer |
| 1284 // is clipped, that should be seen in the quads' clip_rect. | 1284 // is clipped, that should be seen in the quads' clip_rect. |
| 1285 EXPECT_EQ(gfx::Rect(21, 27, 23, 21).ToString(), | 1285 EXPECT_EQ(gfx::Rect(21, 27, 23, 21).ToString(), |
| 1286 root_delegated_shared_quad_state->clip_rect.ToString()); | 1286 root_delegated_shared_quad_state->clip_rect.ToString()); |
| 1287 // Quads are clipped to the delegated renderer layer. | 1287 // Quads are clipped to the delegated renderer layer. |
| 1288 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped); | 1288 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped); |
| 1289 | 1289 |
| 1290 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 1290 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 1291 host_impl_->DidDrawAllLayers(frame); | 1291 host_impl_->DidDrawAllLayers(frame); |
| 1292 } | 1292 } |
| 1293 | 1293 |
| 1294 TEST_F(DelegatedRendererLayerImplTestClip, | 1294 TEST_F(DelegatedRendererLayerImplTestClip, |
| 1295 QuadsClipped_LayerClipped_NoSurface) { | 1295 QuadsClipped_LayerClipped_NoSurface) { |
| 1296 root_delegated_render_pass_is_clipped_ = true; | 1296 root_delegated_render_pass_is_clipped_ = true; |
| 1297 clip_delegated_renderer_layer_ = true; | 1297 clip_delegated_renderer_layer_ = true; |
| 1298 SetUpTest(); | 1298 SetUpTest(); |
| 1299 | 1299 |
| 1300 LayerTreeHostImpl::FrameData frame; | 1300 FrameData frame; |
| 1301 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 1301 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 1302 | 1302 |
| 1303 ASSERT_EQ(2u, frame.render_passes.size()); | 1303 ASSERT_EQ(2u, frame.render_passes.size()); |
| 1304 const QuadList& contrib_delegated_quad_list = | 1304 const QuadList& contrib_delegated_quad_list = |
| 1305 frame.render_passes[0]->quad_list; | 1305 frame.render_passes[0]->quad_list; |
| 1306 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); | 1306 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); |
| 1307 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; | 1307 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; |
| 1308 ASSERT_EQ(5u, root_delegated_quad_list.size()); | 1308 ASSERT_EQ(5u, root_delegated_quad_list.size()); |
| 1309 const SharedQuadState* root_delegated_shared_quad_state = | 1309 const SharedQuadState* root_delegated_shared_quad_state = |
| 1310 root_delegated_quad_list.front()->shared_quad_state; | 1310 root_delegated_quad_list.front()->shared_quad_state; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 1321 } | 1321 } |
| 1322 | 1322 |
| 1323 TEST_F(DelegatedRendererLayerImplTestClip, | 1323 TEST_F(DelegatedRendererLayerImplTestClip, |
| 1324 QuadsUnclipped_LayerUnclipped_Surface) { | 1324 QuadsUnclipped_LayerUnclipped_Surface) { |
| 1325 root_delegated_render_pass_is_clipped_ = false; | 1325 root_delegated_render_pass_is_clipped_ = false; |
| 1326 clip_delegated_renderer_layer_ = false; | 1326 clip_delegated_renderer_layer_ = false; |
| 1327 SetUpTest(); | 1327 SetUpTest(); |
| 1328 | 1328 |
| 1329 delegated_renderer_layer_->SetHasRenderSurface(true); | 1329 delegated_renderer_layer_->SetHasRenderSurface(true); |
| 1330 | 1330 |
| 1331 LayerTreeHostImpl::FrameData frame; | 1331 FrameData frame; |
| 1332 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 1332 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 1333 | 1333 |
| 1334 ASSERT_EQ(3u, frame.render_passes.size()); | 1334 ASSERT_EQ(3u, frame.render_passes.size()); |
| 1335 const QuadList& contrib_delegated_quad_list = | 1335 const QuadList& contrib_delegated_quad_list = |
| 1336 frame.render_passes[0]->quad_list; | 1336 frame.render_passes[0]->quad_list; |
| 1337 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); | 1337 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); |
| 1338 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; | 1338 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; |
| 1339 ASSERT_EQ(5u, root_delegated_quad_list.size()); | 1339 ASSERT_EQ(5u, root_delegated_quad_list.size()); |
| 1340 const SharedQuadState* root_delegated_shared_quad_state = | 1340 const SharedQuadState* root_delegated_shared_quad_state = |
| 1341 root_delegated_quad_list.front()->shared_quad_state; | 1341 root_delegated_quad_list.front()->shared_quad_state; |
| 1342 | 1342 |
| 1343 // When the layer owns a surface, the quads don't need to be clipped | 1343 // When the layer owns a surface, the quads don't need to be clipped |
| 1344 // further than they already specify. If they aren't clipped, then their | 1344 // further than they already specify. If they aren't clipped, then their |
| 1345 // clip rect is ignored, and they are not set as clipped. | 1345 // clip rect is ignored, and they are not set as clipped. |
| 1346 EXPECT_FALSE(root_delegated_shared_quad_state->is_clipped); | 1346 EXPECT_FALSE(root_delegated_shared_quad_state->is_clipped); |
| 1347 | 1347 |
| 1348 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 1348 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 1349 host_impl_->DidDrawAllLayers(frame); | 1349 host_impl_->DidDrawAllLayers(frame); |
| 1350 } | 1350 } |
| 1351 | 1351 |
| 1352 TEST_F(DelegatedRendererLayerImplTestClip, | 1352 TEST_F(DelegatedRendererLayerImplTestClip, |
| 1353 QuadsClipped_LayerUnclipped_Surface) { | 1353 QuadsClipped_LayerUnclipped_Surface) { |
| 1354 root_delegated_render_pass_is_clipped_ = true; | 1354 root_delegated_render_pass_is_clipped_ = true; |
| 1355 clip_delegated_renderer_layer_ = false; | 1355 clip_delegated_renderer_layer_ = false; |
| 1356 SetUpTest(); | 1356 SetUpTest(); |
| 1357 | 1357 |
| 1358 delegated_renderer_layer_->SetHasRenderSurface(true); | 1358 delegated_renderer_layer_->SetHasRenderSurface(true); |
| 1359 | 1359 |
| 1360 LayerTreeHostImpl::FrameData frame; | 1360 FrameData frame; |
| 1361 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 1361 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 1362 | 1362 |
| 1363 ASSERT_EQ(3u, frame.render_passes.size()); | 1363 ASSERT_EQ(3u, frame.render_passes.size()); |
| 1364 const QuadList& contrib_delegated_quad_list = | 1364 const QuadList& contrib_delegated_quad_list = |
| 1365 frame.render_passes[0]->quad_list; | 1365 frame.render_passes[0]->quad_list; |
| 1366 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); | 1366 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); |
| 1367 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; | 1367 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; |
| 1368 ASSERT_EQ(5u, root_delegated_quad_list.size()); | 1368 ASSERT_EQ(5u, root_delegated_quad_list.size()); |
| 1369 const SharedQuadState* root_delegated_shared_quad_state = | 1369 const SharedQuadState* root_delegated_shared_quad_state = |
| 1370 root_delegated_quad_list.front()->shared_quad_state; | 1370 root_delegated_quad_list.front()->shared_quad_state; |
| 1371 | 1371 |
| 1372 // When the quads have a clip of their own, it is used. | 1372 // When the quads have a clip of their own, it is used. |
| 1373 EXPECT_EQ(gfx::Rect(5, 5, 40, 40).ToString(), | 1373 EXPECT_EQ(gfx::Rect(5, 5, 40, 40).ToString(), |
| 1374 root_delegated_shared_quad_state->clip_rect.ToString()); | 1374 root_delegated_shared_quad_state->clip_rect.ToString()); |
| 1375 // Quads came with a clip rect. | 1375 // Quads came with a clip rect. |
| 1376 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped); | 1376 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped); |
| 1377 | 1377 |
| 1378 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 1378 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 1379 host_impl_->DidDrawAllLayers(frame); | 1379 host_impl_->DidDrawAllLayers(frame); |
| 1380 } | 1380 } |
| 1381 | 1381 |
| 1382 TEST_F(DelegatedRendererLayerImplTestClip, | 1382 TEST_F(DelegatedRendererLayerImplTestClip, |
| 1383 QuadsUnclipped_LayerClipped_Surface) { | 1383 QuadsUnclipped_LayerClipped_Surface) { |
| 1384 root_delegated_render_pass_is_clipped_ = false; | 1384 root_delegated_render_pass_is_clipped_ = false; |
| 1385 clip_delegated_renderer_layer_ = true; | 1385 clip_delegated_renderer_layer_ = true; |
| 1386 SetUpTest(); | 1386 SetUpTest(); |
| 1387 | 1387 |
| 1388 delegated_renderer_layer_->SetHasRenderSurface(true); | 1388 delegated_renderer_layer_->SetHasRenderSurface(true); |
| 1389 | 1389 |
| 1390 LayerTreeHostImpl::FrameData frame; | 1390 FrameData frame; |
| 1391 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 1391 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 1392 | 1392 |
| 1393 ASSERT_EQ(3u, frame.render_passes.size()); | 1393 ASSERT_EQ(3u, frame.render_passes.size()); |
| 1394 const QuadList& contrib_delegated_quad_list = | 1394 const QuadList& contrib_delegated_quad_list = |
| 1395 frame.render_passes[0]->quad_list; | 1395 frame.render_passes[0]->quad_list; |
| 1396 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); | 1396 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); |
| 1397 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; | 1397 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; |
| 1398 ASSERT_EQ(5u, root_delegated_quad_list.size()); | 1398 ASSERT_EQ(5u, root_delegated_quad_list.size()); |
| 1399 const SharedQuadState* root_delegated_shared_quad_state = | 1399 const SharedQuadState* root_delegated_shared_quad_state = |
| 1400 root_delegated_quad_list.front()->shared_quad_state; | 1400 root_delegated_quad_list.front()->shared_quad_state; |
| 1401 | 1401 |
| 1402 // When the layer owns a surface, the quads don't need to be clipped | 1402 // When the layer owns a surface, the quads don't need to be clipped |
| 1403 // further than they already specify. If they aren't clipped, then their | 1403 // further than they already specify. If they aren't clipped, then their |
| 1404 // clip rect is ignored, and they are not set as clipped. | 1404 // clip rect is ignored, and they are not set as clipped. |
| 1405 EXPECT_FALSE(root_delegated_shared_quad_state->is_clipped); | 1405 EXPECT_FALSE(root_delegated_shared_quad_state->is_clipped); |
| 1406 | 1406 |
| 1407 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 1407 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 1408 host_impl_->DidDrawAllLayers(frame); | 1408 host_impl_->DidDrawAllLayers(frame); |
| 1409 } | 1409 } |
| 1410 | 1410 |
| 1411 TEST_F(DelegatedRendererLayerImplTestClip, QuadsClipped_LayerClipped_Surface) { | 1411 TEST_F(DelegatedRendererLayerImplTestClip, QuadsClipped_LayerClipped_Surface) { |
| 1412 root_delegated_render_pass_is_clipped_ = true; | 1412 root_delegated_render_pass_is_clipped_ = true; |
| 1413 clip_delegated_renderer_layer_ = true; | 1413 clip_delegated_renderer_layer_ = true; |
| 1414 SetUpTest(); | 1414 SetUpTest(); |
| 1415 | 1415 |
| 1416 delegated_renderer_layer_->SetHasRenderSurface(true); | 1416 delegated_renderer_layer_->SetHasRenderSurface(true); |
| 1417 | 1417 |
| 1418 LayerTreeHostImpl::FrameData frame; | 1418 FrameData frame; |
| 1419 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 1419 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 1420 | 1420 |
| 1421 ASSERT_EQ(3u, frame.render_passes.size()); | 1421 ASSERT_EQ(3u, frame.render_passes.size()); |
| 1422 const QuadList& contrib_delegated_quad_list = | 1422 const QuadList& contrib_delegated_quad_list = |
| 1423 frame.render_passes[0]->quad_list; | 1423 frame.render_passes[0]->quad_list; |
| 1424 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); | 1424 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); |
| 1425 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; | 1425 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; |
| 1426 ASSERT_EQ(5u, root_delegated_quad_list.size()); | 1426 ASSERT_EQ(5u, root_delegated_quad_list.size()); |
| 1427 const SharedQuadState* root_delegated_shared_quad_state = | 1427 const SharedQuadState* root_delegated_shared_quad_state = |
| 1428 root_delegated_quad_list.front()->shared_quad_state; | 1428 root_delegated_quad_list.front()->shared_quad_state; |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1469 | 1469 |
| 1470 // But a render pass quad refers to it. | 1470 // But a render pass quad refers to it. |
| 1471 AddRenderPassQuad(pass1, missing_pass.get()); | 1471 AddRenderPassQuad(pass1, missing_pass.get()); |
| 1472 | 1472 |
| 1473 delegated_renderer_layer->SetFrameDataForRenderPasses( | 1473 delegated_renderer_layer->SetFrameDataForRenderPasses( |
| 1474 1.f, delegated_render_passes); | 1474 1.f, delegated_render_passes); |
| 1475 | 1475 |
| 1476 root_layer->AddChild(delegated_renderer_layer.Pass()); | 1476 root_layer->AddChild(delegated_renderer_layer.Pass()); |
| 1477 host_impl_->active_tree()->SetRootLayer(root_layer.Pass()); | 1477 host_impl_->active_tree()->SetRootLayer(root_layer.Pass()); |
| 1478 | 1478 |
| 1479 LayerTreeHostImpl::FrameData frame; | 1479 FrameData frame; |
| 1480 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 1480 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
| 1481 | 1481 |
| 1482 // The DelegatedRendererLayerImpl should drop the bad RenderPassDrawQuad. | 1482 // The DelegatedRendererLayerImpl should drop the bad RenderPassDrawQuad. |
| 1483 ASSERT_EQ(1u, frame.render_passes.size()); | 1483 ASSERT_EQ(1u, frame.render_passes.size()); |
| 1484 ASSERT_EQ(1u, frame.render_passes[0]->quad_list.size()); | 1484 ASSERT_EQ(1u, frame.render_passes[0]->quad_list.size()); |
| 1485 EXPECT_EQ(DrawQuad::SOLID_COLOR, | 1485 EXPECT_EQ(DrawQuad::SOLID_COLOR, |
| 1486 frame.render_passes[0]->quad_list.front()->material); | 1486 frame.render_passes[0]->quad_list.front()->material); |
| 1487 | 1487 |
| 1488 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); | 1488 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
| 1489 host_impl_->DidDrawAllLayers(frame); | 1489 host_impl_->DidDrawAllLayers(frame); |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1677 scoped_ptr<DelegatedRendererLayerImpl> other_layer = | 1677 scoped_ptr<DelegatedRendererLayerImpl> other_layer = |
| 1678 DelegatedRendererLayerImpl::Create(host_impl_->active_tree(), 6); | 1678 DelegatedRendererLayerImpl::Create(host_impl_->active_tree(), 6); |
| 1679 | 1679 |
| 1680 delegated_renderer_layer_impl->PushPropertiesTo(other_layer.get()); | 1680 delegated_renderer_layer_impl->PushPropertiesTo(other_layer.get()); |
| 1681 | 1681 |
| 1682 EXPECT_EQ(0.5f, other_layer->inverse_device_scale_factor()); | 1682 EXPECT_EQ(0.5f, other_layer->inverse_device_scale_factor()); |
| 1683 } | 1683 } |
| 1684 | 1684 |
| 1685 } // namespace | 1685 } // namespace |
| 1686 } // namespace cc | 1686 } // namespace cc |
| OLD | NEW |