Chromium Code Reviews| 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/output/gl_renderer.h" | 5 #include "cc/output/gl_renderer.h" |
| 6 | 6 |
| 7 #include "cc/output/compositor_frame_metadata.h" | 7 #include "cc/output/compositor_frame_metadata.h" |
| 8 #include "cc/resources/prioritized_resource_manager.h" | 8 #include "cc/resources/prioritized_resource_manager.h" |
| 9 #include "cc/resources/resource_provider.h" | 9 #include "cc/resources/resource_provider.h" |
| 10 #include "cc/test/fake_impl_proxy.h" | 10 #include "cc/test/fake_impl_proxy.h" |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 62 EXPECT_PROGRAM_VALID(renderer_->GetTileProgram()); | 62 EXPECT_PROGRAM_VALID(renderer_->GetTileProgram()); |
| 63 EXPECT_PROGRAM_VALID(renderer_->GetTileProgramOpaque()); | 63 EXPECT_PROGRAM_VALID(renderer_->GetTileProgramOpaque()); |
| 64 EXPECT_PROGRAM_VALID(renderer_->GetTileProgramAA()); | 64 EXPECT_PROGRAM_VALID(renderer_->GetTileProgramAA()); |
| 65 EXPECT_PROGRAM_VALID(renderer_->GetTileProgramSwizzle()); | 65 EXPECT_PROGRAM_VALID(renderer_->GetTileProgramSwizzle()); |
| 66 EXPECT_PROGRAM_VALID(renderer_->GetTileProgramSwizzleOpaque()); | 66 EXPECT_PROGRAM_VALID(renderer_->GetTileProgramSwizzleOpaque()); |
| 67 EXPECT_PROGRAM_VALID(renderer_->GetTileProgramSwizzleAA()); | 67 EXPECT_PROGRAM_VALID(renderer_->GetTileProgramSwizzleAA()); |
| 68 EXPECT_PROGRAM_VALID(renderer_->GetTileCheckerboardProgram()); | 68 EXPECT_PROGRAM_VALID(renderer_->GetTileCheckerboardProgram()); |
| 69 EXPECT_PROGRAM_VALID(renderer_->GetDebugBorderProgram()); | 69 EXPECT_PROGRAM_VALID(renderer_->GetDebugBorderProgram()); |
| 70 EXPECT_PROGRAM_VALID(renderer_->GetSolidColorProgram()); | 70 EXPECT_PROGRAM_VALID(renderer_->GetSolidColorProgram()); |
| 71 EXPECT_PROGRAM_VALID(renderer_->GetSolidColorProgramAA()); | 71 EXPECT_PROGRAM_VALID(renderer_->GetSolidColorProgramAA()); |
| 72 //TestShadersWithTexCoordPrecision(TexCoordPrecisionMedium); | 72 // TestShadersWithTexCoordPrecision(TexCoordPrecisionMedium); |
| 73 TestShadersWithTexCoordPrecision(TexCoordPrecisionHigh); | 73 TestShadersWithTexCoordPrecision(TexCoordPrecisionHigh); |
| 74 ASSERT_FALSE(renderer_->IsContextLost()); | 74 ASSERT_FALSE(renderer_->IsContextLost()); |
| 75 } | 75 } |
| 76 | 76 |
| 77 void TestShadersWithTexCoordPrecision(TexCoordPrecision precision) { | 77 void TestShadersWithTexCoordPrecision(TexCoordPrecision precision) { |
| 78 EXPECT_PROGRAM_VALID(renderer_->GetRenderPassProgram(precision)); | 78 EXPECT_PROGRAM_VALID(renderer_->GetRenderPassProgram(precision)); |
| 79 EXPECT_PROGRAM_VALID(renderer_->GetRenderPassProgramAA(precision)); | 79 EXPECT_PROGRAM_VALID(renderer_->GetRenderPassProgramAA(precision)); |
| 80 EXPECT_PROGRAM_VALID(renderer_->GetRenderPassMaskProgram(precision)); | 80 EXPECT_PROGRAM_VALID(renderer_->GetRenderPassMaskProgram(precision)); |
| 81 EXPECT_PROGRAM_VALID(renderer_->GetRenderPassMaskProgramAA(precision)); | 81 EXPECT_PROGRAM_VALID(renderer_->GetRenderPassMaskProgramAA(precision)); |
| 82 EXPECT_PROGRAM_VALID( | 82 EXPECT_PROGRAM_VALID( |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 243 new FrameCountingMemoryAllocationSettingContext()))), | 243 new FrameCountingMemoryAllocationSettingContext()))), |
| 244 resource_provider_(ResourceProvider::Create(output_surface_.get(), 0)), | 244 resource_provider_(ResourceProvider::Create(output_surface_.get(), 0)), |
| 245 renderer_(&mock_client_, | 245 renderer_(&mock_client_, |
| 246 output_surface_.get(), | 246 output_surface_.get(), |
| 247 resource_provider_.get()) {} | 247 resource_provider_.get()) {} |
| 248 | 248 |
| 249 virtual void SetUp() { renderer_.Initialize(); } | 249 virtual void SetUp() { renderer_.Initialize(); } |
| 250 | 250 |
| 251 void SwapBuffers() { renderer_.SwapBuffers(); } | 251 void SwapBuffers() { renderer_.SwapBuffers(); } |
| 252 | 252 |
| 253 FrameCountingMemoryAllocationSettingContext* context() { | 253 FrameCountingMemoryAllocationSettingContext* Context() { |
| 254 return static_cast<FrameCountingMemoryAllocationSettingContext*>( | 254 return static_cast<FrameCountingMemoryAllocationSettingContext*>( |
| 255 output_surface_->context3d()); | 255 output_surface_->context3d()); |
| 256 } | 256 } |
| 257 | 257 |
| 258 WebGraphicsMemoryAllocation suggest_have_backbuffer_yes_; | 258 WebGraphicsMemoryAllocation suggest_have_backbuffer_yes_; |
| 259 WebGraphicsMemoryAllocation suggest_have_backbuffer_no_; | 259 WebGraphicsMemoryAllocation suggest_have_backbuffer_no_; |
| 260 | 260 |
| 261 scoped_ptr<OutputSurface> output_surface_; | 261 scoped_ptr<OutputSurface> output_surface_; |
| 262 FakeRendererClient mock_client_; | 262 FakeRendererClient mock_client_; |
| 263 scoped_ptr<ResourceProvider> resource_provider_; | 263 scoped_ptr<ResourceProvider> resource_provider_; |
| 264 FakeRendererGL renderer_; | 264 FakeRendererGL renderer_; |
| 265 }; | 265 }; |
| 266 | 266 |
| 267 // Closing the namespace here so that GLRendererShaderTest can take advantage | 267 // Closing the namespace here so that GLRendererShaderTest can take advantage |
| 268 // of the friend relationship with GLRenderer and all of the mock classes | 268 // of the friend relationship with GLRenderer and all of the mock classes |
| 269 // declared above it. | 269 // declared above it. |
| 270 } // namespace | 270 } // namespace |
| 271 | 271 |
| 272 class GLRendererShaderTest : public testing::Test { | 272 class GLRendererShaderTest : public testing::Test { |
| 273 protected: | 273 protected: |
| 274 GLRendererShaderTest() | 274 GLRendererShaderTest() |
| 275 : output_surface_(FakeOutputSurface::Create3d()), | 275 : output_surface_(FakeOutputSurface::Create3d()), |
| 276 resource_provider_(ResourceProvider::Create(output_surface_.get(), 0)), | 276 resource_provider_(ResourceProvider::Create(output_surface_.get(), 0)), |
| 277 renderer_(GLRenderer::Create(&mock_client_, output_surface_.get(), | 277 renderer_(GLRenderer::Create(&mock_client_, output_surface_.get(), |
|
danakj
2013/04/17 17:44:59
nit: one argument per line if they don't all fit o
reveman
2013/04/17 18:26:04
Done.
| |
| 278 resource_provider_.get(), 0)) { | 278 resource_provider_.get(), 0)) {} |
| 279 } | |
| 280 | 279 |
| 281 void TestRenderPassProgram() { | 280 void TestRenderPassProgram() { |
| 282 EXPECT_PROGRAM_VALID(renderer_->render_pass_program_); | 281 EXPECT_PROGRAM_VALID(renderer_->render_pass_program_); |
| 283 EXPECT_TRUE(renderer_->program_shadow_ == | 282 EXPECT_TRUE(renderer_->program_shadow_ == |
| 284 renderer_->render_pass_program_->program()); | 283 renderer_->render_pass_program_->program()); |
| 285 } | 284 } |
| 286 | 285 |
| 287 void TestRenderPassColorMatrixProgram() { | 286 void TestRenderPassColorMatrixProgram() { |
| 288 EXPECT_PROGRAM_VALID(renderer_->render_pass_color_matrix_program_); | 287 EXPECT_PROGRAM_VALID(renderer_->render_pass_color_matrix_program_); |
| 289 EXPECT_TRUE(renderer_->program_shadow_ == | 288 EXPECT_TRUE(renderer_->program_shadow_ == |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 331 scoped_ptr<ResourceProvider> resource_provider_; | 330 scoped_ptr<ResourceProvider> resource_provider_; |
| 332 scoped_ptr<GLRenderer> renderer_; | 331 scoped_ptr<GLRenderer> renderer_; |
| 333 }; | 332 }; |
| 334 | 333 |
| 335 namespace { | 334 namespace { |
| 336 | 335 |
| 337 // Test GLRenderer discardBackbuffer functionality: | 336 // Test GLRenderer discardBackbuffer functionality: |
| 338 // Suggest recreating framebuffer when one already exists. | 337 // Suggest recreating framebuffer when one already exists. |
| 339 // Expected: it does nothing. | 338 // Expected: it does nothing. |
| 340 TEST_F(GLRendererTest, SuggestBackbufferYesWhenItAlreadyExistsShouldDoNothing) { | 339 TEST_F(GLRendererTest, SuggestBackbufferYesWhenItAlreadyExistsShouldDoNothing) { |
| 341 context()->SetMemoryAllocation(suggest_have_backbuffer_yes_); | 340 Context()->SetMemoryAllocation(suggest_have_backbuffer_yes_); |
| 342 EXPECT_EQ(0, mock_client_.set_full_root_layer_damage_count()); | 341 EXPECT_EQ(0, mock_client_.set_full_root_layer_damage_count()); |
| 343 EXPECT_FALSE(renderer_.IsBackbufferDiscarded()); | 342 EXPECT_FALSE(renderer_.IsBackbufferDiscarded()); |
| 344 | 343 |
| 345 SwapBuffers(); | 344 SwapBuffers(); |
| 346 EXPECT_EQ(1, context()->frame_count()); | 345 EXPECT_EQ(1, Context()->frame_count()); |
| 347 } | 346 } |
| 348 | 347 |
| 349 // Test GLRenderer DiscardBackbuffer functionality: | 348 // Test GLRenderer DiscardBackbuffer functionality: |
| 350 // Suggest discarding framebuffer when one exists and the renderer is not | 349 // Suggest discarding framebuffer when one exists and the renderer is not |
| 351 // visible. | 350 // visible. |
| 352 // Expected: it is discarded and damage tracker is reset. | 351 // Expected: it is discarded and damage tracker is reset. |
| 353 TEST_F( | 352 TEST_F( |
| 354 GLRendererTest, | 353 GLRendererTest, |
| 355 SuggestBackbufferNoShouldDiscardBackbufferAndDamageRootLayerIfNotVisible) { | 354 SuggestBackbufferNoShouldDiscardBackbufferAndDamageRootLayerIfNotVisible) { |
| 356 renderer_.SetVisible(false); | 355 renderer_.SetVisible(false); |
| 357 context()->SetMemoryAllocation(suggest_have_backbuffer_no_); | 356 Context()->SetMemoryAllocation(suggest_have_backbuffer_no_); |
| 358 EXPECT_EQ(1, mock_client_.set_full_root_layer_damage_count()); | 357 EXPECT_EQ(1, mock_client_.set_full_root_layer_damage_count()); |
| 359 EXPECT_TRUE(renderer_.IsBackbufferDiscarded()); | 358 EXPECT_TRUE(renderer_.IsBackbufferDiscarded()); |
| 360 } | 359 } |
| 361 | 360 |
| 362 // Test GLRenderer DiscardBackbuffer functionality: | 361 // Test GLRenderer DiscardBackbuffer functionality: |
| 363 // Suggest discarding framebuffer when one exists and the renderer is visible. | 362 // Suggest discarding framebuffer when one exists and the renderer is visible. |
| 364 // Expected: the allocation is ignored. | 363 // Expected: the allocation is ignored. |
| 365 TEST_F(GLRendererTest, SuggestBackbufferNoDoNothingWhenVisible) { | 364 TEST_F(GLRendererTest, SuggestBackbufferNoDoNothingWhenVisible) { |
| 366 renderer_.SetVisible(true); | 365 renderer_.SetVisible(true); |
| 367 context()->SetMemoryAllocation(suggest_have_backbuffer_no_); | 366 Context()->SetMemoryAllocation(suggest_have_backbuffer_no_); |
| 368 EXPECT_EQ(0, mock_client_.set_full_root_layer_damage_count()); | 367 EXPECT_EQ(0, mock_client_.set_full_root_layer_damage_count()); |
| 369 EXPECT_FALSE(renderer_.IsBackbufferDiscarded()); | 368 EXPECT_FALSE(renderer_.IsBackbufferDiscarded()); |
| 370 } | 369 } |
| 371 | 370 |
| 372 // Test GLRenderer DiscardBackbuffer functionality: | 371 // Test GLRenderer DiscardBackbuffer functionality: |
| 373 // Suggest discarding framebuffer when one does not exist. | 372 // Suggest discarding framebuffer when one does not exist. |
| 374 // Expected: it does nothing. | 373 // Expected: it does nothing. |
| 375 TEST_F(GLRendererTest, SuggestBackbufferNoWhenItDoesntExistShouldDoNothing) { | 374 TEST_F(GLRendererTest, SuggestBackbufferNoWhenItDoesntExistShouldDoNothing) { |
| 376 renderer_.SetVisible(false); | 375 renderer_.SetVisible(false); |
| 377 context()->SetMemoryAllocation(suggest_have_backbuffer_no_); | 376 Context()->SetMemoryAllocation(suggest_have_backbuffer_no_); |
| 378 EXPECT_EQ(1, mock_client_.set_full_root_layer_damage_count()); | 377 EXPECT_EQ(1, mock_client_.set_full_root_layer_damage_count()); |
| 379 EXPECT_TRUE(renderer_.IsBackbufferDiscarded()); | 378 EXPECT_TRUE(renderer_.IsBackbufferDiscarded()); |
| 380 | 379 |
| 381 context()->SetMemoryAllocation(suggest_have_backbuffer_no_); | 380 Context()->SetMemoryAllocation(suggest_have_backbuffer_no_); |
| 382 EXPECT_EQ(1, mock_client_.set_full_root_layer_damage_count()); | 381 EXPECT_EQ(1, mock_client_.set_full_root_layer_damage_count()); |
| 383 EXPECT_TRUE(renderer_.IsBackbufferDiscarded()); | 382 EXPECT_TRUE(renderer_.IsBackbufferDiscarded()); |
| 384 } | 383 } |
| 385 | 384 |
| 386 // Test GLRenderer DiscardBackbuffer functionality: | 385 // Test GLRenderer DiscardBackbuffer functionality: |
| 387 // Begin drawing a frame while a framebuffer is discarded. | 386 // Begin drawing a frame while a framebuffer is discarded. |
| 388 // Expected: will recreate framebuffer. | 387 // Expected: will recreate framebuffer. |
| 389 TEST_F(GLRendererTest, DiscardedBackbufferIsRecreatedForScopeDuration) { | 388 TEST_F(GLRendererTest, DiscardedBackbufferIsRecreatedForScopeDuration) { |
| 390 renderer_.SetVisible(false); | 389 renderer_.SetVisible(false); |
| 391 context()->SetMemoryAllocation(suggest_have_backbuffer_no_); | 390 Context()->SetMemoryAllocation(suggest_have_backbuffer_no_); |
| 392 EXPECT_TRUE(renderer_.IsBackbufferDiscarded()); | 391 EXPECT_TRUE(renderer_.IsBackbufferDiscarded()); |
| 393 EXPECT_EQ(1, mock_client_.set_full_root_layer_damage_count()); | 392 EXPECT_EQ(1, mock_client_.set_full_root_layer_damage_count()); |
| 394 | 393 |
| 395 renderer_.SetVisible(true); | 394 renderer_.SetVisible(true); |
| 396 renderer_.DrawFrame(mock_client_.render_passes_in_draw_order()); | 395 renderer_.DrawFrame(mock_client_.render_passes_in_draw_order()); |
| 397 EXPECT_FALSE(renderer_.IsBackbufferDiscarded()); | 396 EXPECT_FALSE(renderer_.IsBackbufferDiscarded()); |
| 398 | 397 |
| 399 SwapBuffers(); | 398 SwapBuffers(); |
| 400 EXPECT_EQ(1, context()->frame_count()); | 399 EXPECT_EQ(1, Context()->frame_count()); |
| 401 } | 400 } |
| 402 | 401 |
| 403 TEST_F(GLRendererTest, FramebufferDiscardedAfterReadbackWhenNotVisible) { | 402 TEST_F(GLRendererTest, FramebufferDiscardedAfterReadbackWhenNotVisible) { |
| 404 renderer_.SetVisible(false); | 403 renderer_.SetVisible(false); |
| 405 context()->SetMemoryAllocation(suggest_have_backbuffer_no_); | 404 Context()->SetMemoryAllocation(suggest_have_backbuffer_no_); |
| 406 EXPECT_TRUE(renderer_.IsBackbufferDiscarded()); | 405 EXPECT_TRUE(renderer_.IsBackbufferDiscarded()); |
| 407 EXPECT_EQ(1, mock_client_.set_full_root_layer_damage_count()); | 406 EXPECT_EQ(1, mock_client_.set_full_root_layer_damage_count()); |
| 408 | 407 |
| 409 char pixels[4]; | 408 char pixels[4]; |
| 410 renderer_.DrawFrame(mock_client_.render_passes_in_draw_order()); | 409 renderer_.DrawFrame(mock_client_.render_passes_in_draw_order()); |
| 411 EXPECT_FALSE(renderer_.IsBackbufferDiscarded()); | 410 EXPECT_FALSE(renderer_.IsBackbufferDiscarded()); |
| 412 | 411 |
| 413 renderer_.GetFramebufferPixels(pixels, gfx::Rect(0, 0, 1, 1)); | 412 renderer_.GetFramebufferPixels(pixels, gfx::Rect(0, 0, 1, 1)); |
| 414 EXPECT_TRUE(renderer_.IsBackbufferDiscarded()); | 413 EXPECT_TRUE(renderer_.IsBackbufferDiscarded()); |
| 415 EXPECT_EQ(2, mock_client_.set_full_root_layer_damage_count()); | 414 EXPECT_EQ(2, mock_client_.set_full_root_layer_damage_count()); |
| (...skipping 594 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1010 | 1009 |
| 1011 AddRenderPassQuad(root_pass, child_pass); | 1010 AddRenderPassQuad(root_pass, child_pass); |
| 1012 AddRenderPassQuad(child_pass, grand_child_pass); | 1011 AddRenderPassQuad(child_pass, grand_child_pass); |
| 1013 | 1012 |
| 1014 renderer.DecideRenderPassAllocationsForFrame( | 1013 renderer.DecideRenderPassAllocationsForFrame( |
| 1015 *mock_client.render_passes_in_draw_order()); | 1014 *mock_client.render_passes_in_draw_order()); |
| 1016 renderer.DrawFrame(mock_client.render_passes_in_draw_order()); | 1015 renderer.DrawFrame(mock_client.render_passes_in_draw_order()); |
| 1017 } | 1016 } |
| 1018 | 1017 |
| 1019 TEST_F(GLRendererShaderTest, DrawRenderPassQuadShaderPermutations) { | 1018 TEST_F(GLRendererShaderTest, DrawRenderPassQuadShaderPermutations) { |
| 1020 gfx::Rect viewportRect(mock_client_.DeviceViewportSize()); | 1019 gfx::Rect viewport_rect(mock_client_.DeviceViewportSize()); |
| 1021 ScopedPtrVector<RenderPass>* renderPasses = | 1020 ScopedPtrVector<RenderPass>* render_passes = |
| 1022 mock_client_.render_passes_in_draw_order(); | 1021 mock_client_.render_passes_in_draw_order(); |
| 1023 | 1022 |
| 1024 gfx::Rect grandChildRect(25, 25); | 1023 gfx::Rect grand_child_rect(25, 25); |
| 1025 RenderPass::Id grandChildPassId(3, 0); | 1024 RenderPass::Id grand_child_pass_id(3, 0); |
| 1026 TestRenderPass* grandChildPass; | 1025 TestRenderPass* grand_child_pass; |
| 1027 | 1026 |
| 1028 gfx::Rect childRect(50, 50); | 1027 gfx::Rect child_rect(50, 50); |
| 1029 RenderPass::Id childPassId(2, 0); | 1028 RenderPass::Id child_pass_id(2, 0); |
| 1030 TestRenderPass* childPass; | 1029 TestRenderPass* child_pass; |
| 1031 | 1030 |
| 1032 RenderPass::Id rootPassId(1, 0); | 1031 RenderPass::Id root_pass_id(1, 0); |
| 1033 TestRenderPass* rootPass; | 1032 TestRenderPass* root_pass; |
| 1034 | 1033 |
| 1035 cc::ResourceProvider::ResourceId mask = | 1034 cc::ResourceProvider::ResourceId mask = |
| 1036 resource_provider_->CreateResource(gfx::Size(20, 12), | 1035 resource_provider_->CreateResource(gfx::Size(20, 12), |
| 1037 resource_provider_->best_texture_format(), | 1036 resource_provider_->best_texture_format(), |
| 1038 ResourceProvider::TextureUsageAny); | 1037 ResourceProvider::TextureUsageAny); |
| 1039 resource_provider_->AllocateForTesting(mask); | 1038 resource_provider_->AllocateForTesting(mask); |
| 1040 | 1039 |
| 1041 SkScalar matrix[20]; | 1040 SkScalar matrix[20]; |
| 1042 float amount = 0.5f; | 1041 float amount = 0.5f; |
| 1043 matrix[0] = 0.213f + 0.787f * amount; | 1042 matrix[0] = 0.213f + 0.787f * amount; |
| 1044 matrix[1] = 0.715f - 0.715f * amount; | 1043 matrix[1] = 0.715f - 0.715f * amount; |
| 1045 matrix[2] = 1.f - (matrix[0] + matrix[1]); | 1044 matrix[2] = 1.f - (matrix[0] + matrix[1]); |
| 1046 matrix[3] = matrix[4] = 0; | 1045 matrix[3] = matrix[4] = 0; |
| 1047 matrix[5] = 0.213f - 0.213f * amount; | 1046 matrix[5] = 0.213f - 0.213f * amount; |
| 1048 matrix[6] = 0.715f + 0.285f * amount; | 1047 matrix[6] = 0.715f + 0.285f * amount; |
| 1049 matrix[7] = 1.f - (matrix[5] + matrix[6]); | 1048 matrix[7] = 1.f - (matrix[5] + matrix[6]); |
| 1050 matrix[8] = matrix[9] = 0; | 1049 matrix[8] = matrix[9] = 0; |
| 1051 matrix[10] = 0.213f - 0.213f * amount; | 1050 matrix[10] = 0.213f - 0.213f * amount; |
| 1052 matrix[11] = 0.715f - 0.715f * amount; | 1051 matrix[11] = 0.715f - 0.715f * amount; |
| 1053 matrix[12] = 1.f - (matrix[10] + matrix[11]); | 1052 matrix[12] = 1.f - (matrix[10] + matrix[11]); |
| 1054 matrix[13] = matrix[14] = 0; | 1053 matrix[13] = matrix[14] = 0; |
| 1055 matrix[15] = matrix[16] = matrix[17] = matrix[19] = 0; | 1054 matrix[15] = matrix[16] = matrix[17] = matrix[19] = 0; |
| 1056 matrix[18] = 1; | 1055 matrix[18] = 1; |
| 1057 skia::RefPtr<SkColorFilter> colorFilter(skia::AdoptRef( | 1056 skia::RefPtr<SkColorFilter> color_filter( |
| 1058 new SkColorMatrixFilter(matrix))); | 1057 skia::AdoptRef(new SkColorMatrixFilter(matrix))); |
| 1059 skia::RefPtr<SkImageFilter> filter = | 1058 skia::RefPtr<SkImageFilter> filter = skia::AdoptRef( |
| 1060 skia::AdoptRef(SkColorFilterImageFilter::Create(colorFilter.get(), NULL)); | 1059 SkColorFilterImageFilter::Create(color_filter.get(), NULL)); |
| 1061 | 1060 |
| 1062 gfx::Transform transform_causing_aa; | 1061 gfx::Transform transform_causing_aa; |
| 1063 transform_causing_aa.Rotate(20.0); | 1062 transform_causing_aa.Rotate(20.0); |
| 1064 | 1063 |
| 1065 // RenderPassProgram | 1064 // RenderPassProgram |
| 1066 renderPasses->clear(); | 1065 render_passes->clear(); |
| 1067 | 1066 |
| 1068 grandChildPass = AddRenderPass(renderPasses, grandChildPassId, grandChildRect, | 1067 grand_child_pass = AddRenderPass( |
| 1069 gfx::Transform()); | 1068 render_passes, grand_child_pass_id, grand_child_rect, gfx::Transform()); |
| 1070 AddClippedQuad(grandChildPass, grandChildRect, SK_ColorYELLOW); | 1069 AddClippedQuad(grand_child_pass, grand_child_rect, SK_ColorYELLOW); |
| 1071 | 1070 |
| 1072 childPass = AddRenderPass(renderPasses, childPassId, childRect, | 1071 child_pass = AddRenderPass( |
| 1073 gfx::Transform()); | 1072 render_passes, child_pass_id, child_rect, gfx::Transform()); |
| 1074 AddQuad(childPass, childRect, SK_ColorBLUE); | 1073 AddQuad(child_pass, child_rect, SK_ColorBLUE); |
| 1075 | 1074 |
| 1076 rootPass = AddRenderPass(renderPasses, rootPassId, viewportRect, | 1075 root_pass = AddRenderPass( |
| 1077 gfx::Transform()); | 1076 render_passes, root_pass_id, viewport_rect, gfx::Transform()); |
| 1078 AddQuad(rootPass, viewportRect, SK_ColorGREEN); | 1077 AddQuad(root_pass, viewport_rect, SK_ColorGREEN); |
| 1079 | 1078 |
| 1080 AddRenderPassQuad(rootPass, childPass, 0, skia::RefPtr<SkImageFilter>(), | 1079 AddRenderPassQuad(root_pass, |
| 1081 gfx::Transform()); | 1080 child_pass, |
| 1082 AddRenderPassQuad(childPass, grandChildPass); | 1081 0, |
| 1082 skia::RefPtr<SkImageFilter>(), | |
| 1083 gfx::Transform()); | |
| 1084 AddRenderPassQuad(child_pass, grand_child_pass); | |
| 1083 | 1085 |
| 1084 renderer_->DecideRenderPassAllocationsForFrame( | 1086 renderer_->DecideRenderPassAllocationsForFrame( |
| 1085 *mock_client_.render_passes_in_draw_order()); | 1087 *mock_client_.render_passes_in_draw_order()); |
| 1086 renderer_->DrawFrame(mock_client_.render_passes_in_draw_order()); | 1088 renderer_->DrawFrame(mock_client_.render_passes_in_draw_order()); |
| 1087 TestRenderPassProgram(); | 1089 TestRenderPassProgram(); |
| 1088 | 1090 |
| 1089 // RenderPassColorMatrixProgram | 1091 // RenderPassColorMatrixProgram |
| 1090 renderPasses->clear(); | 1092 render_passes->clear(); |
| 1091 | 1093 |
| 1092 grandChildPass = AddRenderPass(renderPasses, grandChildPassId, grandChildRect, | 1094 grand_child_pass = AddRenderPass(render_passes, |
| 1093 transform_causing_aa); | 1095 grand_child_pass_id, |
| 1094 AddClippedQuad(grandChildPass, grandChildRect, SK_ColorYELLOW); | 1096 grand_child_rect, |
| 1097 transform_causing_aa); | |
| 1098 AddClippedQuad(grand_child_pass, grand_child_rect, SK_ColorYELLOW); | |
| 1095 | 1099 |
| 1096 childPass = AddRenderPass(renderPasses, childPassId, childRect, | 1100 child_pass = AddRenderPass( |
| 1097 transform_causing_aa); | 1101 render_passes, child_pass_id, child_rect, transform_causing_aa); |
| 1098 AddQuad(childPass, childRect, SK_ColorBLUE); | 1102 AddQuad(child_pass, child_rect, SK_ColorBLUE); |
| 1099 | 1103 |
| 1100 rootPass = AddRenderPass(renderPasses, rootPassId, viewportRect, | 1104 root_pass = AddRenderPass( |
| 1101 gfx::Transform()); | 1105 render_passes, root_pass_id, viewport_rect, gfx::Transform()); |
| 1102 AddQuad(rootPass, viewportRect, SK_ColorGREEN); | 1106 AddQuad(root_pass, viewport_rect, SK_ColorGREEN); |
| 1103 | 1107 |
| 1104 AddRenderPassQuad(rootPass, childPass, 0, filter, gfx::Transform()); | 1108 AddRenderPassQuad(root_pass, child_pass, 0, filter, gfx::Transform()); |
| 1105 AddRenderPassQuad(childPass, grandChildPass); | 1109 AddRenderPassQuad(child_pass, grand_child_pass); |
| 1106 | 1110 |
| 1107 renderer_->DecideRenderPassAllocationsForFrame( | 1111 renderer_->DecideRenderPassAllocationsForFrame( |
| 1108 *mock_client_.render_passes_in_draw_order()); | 1112 *mock_client_.render_passes_in_draw_order()); |
| 1109 renderer_->DrawFrame(mock_client_.render_passes_in_draw_order()); | 1113 renderer_->DrawFrame(mock_client_.render_passes_in_draw_order()); |
| 1110 TestRenderPassColorMatrixProgram(); | 1114 TestRenderPassColorMatrixProgram(); |
| 1111 | 1115 |
| 1112 // RenderPassMaskProgram | 1116 // RenderPassMaskProgram |
| 1113 renderPasses->clear(); | 1117 render_passes->clear(); |
| 1114 | 1118 |
| 1115 grandChildPass = AddRenderPass(renderPasses, grandChildPassId, grandChildRect, | 1119 grand_child_pass = AddRenderPass(render_passes, |
| 1116 gfx::Transform()); | 1120 grand_child_pass_id, |
| 1117 AddClippedQuad(grandChildPass, grandChildRect, SK_ColorYELLOW); | 1121 grand_child_rect, |
| 1122 gfx::Transform()); | |
| 1123 AddClippedQuad(grand_child_pass, grand_child_rect, SK_ColorYELLOW); | |
| 1118 | 1124 |
| 1119 childPass = AddRenderPass(renderPasses, childPassId, childRect, | 1125 child_pass = AddRenderPass( |
| 1120 gfx::Transform()); | 1126 render_passes, child_pass_id, child_rect, gfx::Transform()); |
| 1121 AddQuad(childPass, childRect, SK_ColorBLUE); | 1127 AddQuad(child_pass, child_rect, SK_ColorBLUE); |
| 1122 | 1128 |
| 1123 rootPass = AddRenderPass(renderPasses, rootPassId, viewportRect, | 1129 root_pass = AddRenderPass( |
| 1124 gfx::Transform()); | 1130 render_passes, root_pass_id, viewport_rect, gfx::Transform()); |
| 1125 AddQuad(rootPass, viewportRect, SK_ColorGREEN); | 1131 AddQuad(root_pass, viewport_rect, SK_ColorGREEN); |
| 1126 | 1132 |
| 1127 AddRenderPassQuad(rootPass, childPass, mask, skia::RefPtr<SkImageFilter>(), | 1133 AddRenderPassQuad(root_pass, |
| 1128 gfx::Transform()); | 1134 child_pass, |
| 1129 AddRenderPassQuad(childPass, grandChildPass); | 1135 mask, |
| 1136 skia::RefPtr<SkImageFilter>(), | |
| 1137 gfx::Transform()); | |
| 1138 AddRenderPassQuad(child_pass, grand_child_pass); | |
| 1130 | 1139 |
| 1131 renderer_->DecideRenderPassAllocationsForFrame( | 1140 renderer_->DecideRenderPassAllocationsForFrame( |
| 1132 *mock_client_.render_passes_in_draw_order()); | 1141 *mock_client_.render_passes_in_draw_order()); |
| 1133 renderer_->DrawFrame(mock_client_.render_passes_in_draw_order()); | 1142 renderer_->DrawFrame(mock_client_.render_passes_in_draw_order()); |
| 1134 TestRenderPassMaskProgram(); | 1143 TestRenderPassMaskProgram(); |
| 1135 | 1144 |
| 1136 // RenderPassMaskColorMatrixProgram | 1145 // RenderPassMaskColorMatrixProgram |
| 1137 renderPasses->clear(); | 1146 render_passes->clear(); |
| 1138 | 1147 |
| 1139 grandChildPass = AddRenderPass(renderPasses, grandChildPassId, grandChildRect, | 1148 grand_child_pass = AddRenderPass( |
| 1140 gfx::Transform()); | 1149 render_passes, grand_child_pass_id, grand_child_rect, gfx::Transform()); |
| 1141 AddClippedQuad(grandChildPass, grandChildRect, SK_ColorYELLOW); | 1150 AddClippedQuad(grand_child_pass, grand_child_rect, SK_ColorYELLOW); |
| 1142 | 1151 |
| 1143 childPass = AddRenderPass(renderPasses, childPassId, childRect, | 1152 child_pass = AddRenderPass( |
| 1144 gfx::Transform()); | 1153 render_passes, child_pass_id, child_rect, gfx::Transform()); |
| 1145 AddQuad(childPass, childRect, SK_ColorBLUE); | 1154 AddQuad(child_pass, child_rect, SK_ColorBLUE); |
| 1146 | 1155 |
| 1147 rootPass = AddRenderPass(renderPasses, rootPassId, viewportRect, | 1156 root_pass = AddRenderPass( |
| 1148 gfx::Transform()); | 1157 render_passes, root_pass_id, viewport_rect, gfx::Transform()); |
| 1149 AddQuad(rootPass, viewportRect, SK_ColorGREEN); | 1158 AddQuad(root_pass, viewport_rect, SK_ColorGREEN); |
| 1150 | 1159 |
| 1151 AddRenderPassQuad(rootPass, childPass, mask, filter, gfx::Transform()); | 1160 AddRenderPassQuad(root_pass, child_pass, mask, filter, gfx::Transform()); |
| 1152 AddRenderPassQuad(childPass, grandChildPass); | 1161 AddRenderPassQuad(child_pass, grand_child_pass); |
| 1153 | 1162 |
| 1154 renderer_->DecideRenderPassAllocationsForFrame( | 1163 renderer_->DecideRenderPassAllocationsForFrame( |
| 1155 *mock_client_.render_passes_in_draw_order()); | 1164 *mock_client_.render_passes_in_draw_order()); |
| 1156 renderer_->DrawFrame(mock_client_.render_passes_in_draw_order()); | 1165 renderer_->DrawFrame(mock_client_.render_passes_in_draw_order()); |
| 1157 TestRenderPassMaskColorMatrixProgram(); | 1166 TestRenderPassMaskColorMatrixProgram(); |
| 1158 | 1167 |
| 1159 // RenderPassProgramAA | 1168 // RenderPassProgramAA |
| 1160 renderPasses->clear(); | 1169 render_passes->clear(); |
| 1161 | 1170 |
| 1162 grandChildPass = AddRenderPass(renderPasses, grandChildPassId, grandChildRect, | 1171 grand_child_pass = AddRenderPass(render_passes, |
| 1163 transform_causing_aa); | 1172 grand_child_pass_id, |
| 1164 AddClippedQuad(grandChildPass, grandChildRect, SK_ColorYELLOW); | 1173 grand_child_rect, |
| 1174 transform_causing_aa); | |
| 1175 AddClippedQuad(grand_child_pass, grand_child_rect, SK_ColorYELLOW); | |
| 1165 | 1176 |
| 1166 childPass = AddRenderPass(renderPasses, childPassId, childRect, | 1177 child_pass = AddRenderPass( |
| 1167 transform_causing_aa); | 1178 render_passes, child_pass_id, child_rect, transform_causing_aa); |
| 1168 AddQuad(childPass, childRect, SK_ColorBLUE); | 1179 AddQuad(child_pass, child_rect, SK_ColorBLUE); |
| 1169 | 1180 |
| 1170 rootPass = AddRenderPass(renderPasses, rootPassId, viewportRect, | 1181 root_pass = AddRenderPass( |
| 1171 gfx::Transform()); | 1182 render_passes, root_pass_id, viewport_rect, gfx::Transform()); |
| 1172 AddQuad(rootPass, viewportRect, SK_ColorGREEN); | 1183 AddQuad(root_pass, viewport_rect, SK_ColorGREEN); |
| 1173 | 1184 |
| 1174 AddRenderPassQuad(rootPass, childPass, 0, skia::RefPtr<SkImageFilter>(), | 1185 AddRenderPassQuad(root_pass, |
| 1175 transform_causing_aa); | 1186 child_pass, |
| 1176 AddRenderPassQuad(childPass, grandChildPass); | 1187 0, |
| 1188 skia::RefPtr<SkImageFilter>(), | |
| 1189 transform_causing_aa); | |
| 1190 AddRenderPassQuad(child_pass, grand_child_pass); | |
| 1177 | 1191 |
| 1178 renderer_->DecideRenderPassAllocationsForFrame( | 1192 renderer_->DecideRenderPassAllocationsForFrame( |
| 1179 *mock_client_.render_passes_in_draw_order()); | 1193 *mock_client_.render_passes_in_draw_order()); |
| 1180 renderer_->DrawFrame(mock_client_.render_passes_in_draw_order()); | 1194 renderer_->DrawFrame(mock_client_.render_passes_in_draw_order()); |
| 1181 TestRenderPassProgramAA(); | 1195 TestRenderPassProgramAA(); |
| 1182 | 1196 |
| 1183 // RenderPassColorMatrixProgramAA | 1197 // RenderPassColorMatrixProgramAA |
| 1184 renderPasses->clear(); | 1198 render_passes->clear(); |
| 1185 | 1199 |
| 1186 grandChildPass = AddRenderPass(renderPasses, grandChildPassId, grandChildRect, | 1200 grand_child_pass = AddRenderPass(render_passes, |
| 1187 transform_causing_aa); | 1201 grand_child_pass_id, |
| 1188 AddClippedQuad(grandChildPass, grandChildRect, SK_ColorYELLOW); | 1202 grand_child_rect, |
| 1203 transform_causing_aa); | |
| 1204 AddClippedQuad(grand_child_pass, grand_child_rect, SK_ColorYELLOW); | |
| 1189 | 1205 |
| 1190 childPass = AddRenderPass(renderPasses, childPassId, childRect, | 1206 child_pass = AddRenderPass( |
| 1191 transform_causing_aa); | 1207 render_passes, child_pass_id, child_rect, transform_causing_aa); |
| 1192 AddQuad(childPass, childRect, SK_ColorBLUE); | 1208 AddQuad(child_pass, child_rect, SK_ColorBLUE); |
| 1193 | 1209 |
| 1194 rootPass = AddRenderPass(renderPasses, rootPassId, viewportRect, | 1210 root_pass = AddRenderPass( |
| 1195 gfx::Transform()); | 1211 render_passes, root_pass_id, viewport_rect, gfx::Transform()); |
| 1196 AddQuad(rootPass, viewportRect, SK_ColorGREEN); | 1212 AddQuad(root_pass, viewport_rect, SK_ColorGREEN); |
| 1197 | 1213 |
| 1198 AddRenderPassQuad(rootPass, childPass, 0, filter, transform_causing_aa); | 1214 AddRenderPassQuad(root_pass, child_pass, 0, filter, transform_causing_aa); |
| 1199 AddRenderPassQuad(childPass, grandChildPass); | 1215 AddRenderPassQuad(child_pass, grand_child_pass); |
| 1200 | 1216 |
| 1201 renderer_->DecideRenderPassAllocationsForFrame( | 1217 renderer_->DecideRenderPassAllocationsForFrame( |
| 1202 *mock_client_.render_passes_in_draw_order()); | 1218 *mock_client_.render_passes_in_draw_order()); |
| 1203 renderer_->DrawFrame(mock_client_.render_passes_in_draw_order()); | 1219 renderer_->DrawFrame(mock_client_.render_passes_in_draw_order()); |
| 1204 TestRenderPassColorMatrixProgramAA(); | 1220 TestRenderPassColorMatrixProgramAA(); |
| 1205 | 1221 |
| 1206 // RenderPassMaskProgramAA | 1222 // RenderPassMaskProgramAA |
| 1207 renderPasses->clear(); | 1223 render_passes->clear(); |
| 1208 | 1224 |
| 1209 grandChildPass = AddRenderPass(renderPasses, grandChildPassId, grandChildRect, | 1225 grand_child_pass = AddRenderPass(render_passes, |
| 1226 grand_child_pass_id, | |
| 1227 grand_child_rect, | |
| 1228 transform_causing_aa); | |
| 1229 AddClippedQuad(grand_child_pass, grand_child_rect, SK_ColorYELLOW); | |
| 1230 | |
| 1231 child_pass = AddRenderPass(render_passes, child_pass_id, child_rect, | |
| 1210 transform_causing_aa); | 1232 transform_causing_aa); |
| 1211 AddClippedQuad(grandChildPass, grandChildRect, SK_ColorYELLOW); | 1233 AddQuad(child_pass, child_rect, SK_ColorBLUE); |
| 1212 | 1234 |
| 1213 childPass = AddRenderPass(renderPasses, childPassId, childRect, | 1235 root_pass = AddRenderPass(render_passes, root_pass_id, viewport_rect, |
| 1236 gfx::Transform()); | |
| 1237 AddQuad(root_pass, viewport_rect, SK_ColorGREEN); | |
| 1238 | |
| 1239 AddRenderPassQuad(root_pass, child_pass, mask, skia::RefPtr<SkImageFilter>(), | |
| 1214 transform_causing_aa); | 1240 transform_causing_aa); |
| 1215 AddQuad(childPass, childRect, SK_ColorBLUE); | 1241 AddRenderPassQuad(child_pass, grand_child_pass); |
| 1216 | |
| 1217 rootPass = AddRenderPass(renderPasses, rootPassId, viewportRect, | |
| 1218 gfx::Transform()); | |
| 1219 AddQuad(rootPass, viewportRect, SK_ColorGREEN); | |
| 1220 | |
| 1221 AddRenderPassQuad(rootPass, childPass, mask, skia::RefPtr<SkImageFilter>(), | |
| 1222 transform_causing_aa); | |
| 1223 AddRenderPassQuad(childPass, grandChildPass); | |
| 1224 | 1242 |
| 1225 renderer_->DecideRenderPassAllocationsForFrame( | 1243 renderer_->DecideRenderPassAllocationsForFrame( |
| 1226 *mock_client_.render_passes_in_draw_order()); | 1244 *mock_client_.render_passes_in_draw_order()); |
| 1227 renderer_->DrawFrame(mock_client_.render_passes_in_draw_order()); | 1245 renderer_->DrawFrame(mock_client_.render_passes_in_draw_order()); |
| 1228 TestRenderPassMaskProgramAA(); | 1246 TestRenderPassMaskProgramAA(); |
| 1229 | 1247 |
| 1230 // RenderPassMaskColorMatrixProgramAA | 1248 // RenderPassMaskColorMatrixProgramAA |
| 1231 renderPasses->clear(); | 1249 render_passes->clear(); |
| 1232 | 1250 |
| 1233 grandChildPass = AddRenderPass(renderPasses, grandChildPassId, grandChildRect, | 1251 grand_child_pass = AddRenderPass(render_passes, |
| 1252 grand_child_pass_id, | |
| 1253 grand_child_rect, | |
| 1254 transform_causing_aa); | |
| 1255 AddClippedQuad(grand_child_pass, grand_child_rect, SK_ColorYELLOW); | |
| 1256 | |
| 1257 child_pass = AddRenderPass(render_passes, child_pass_id, child_rect, | |
| 1234 transform_causing_aa); | 1258 transform_causing_aa); |
| 1235 AddClippedQuad(grandChildPass, grandChildRect, SK_ColorYELLOW); | 1259 AddQuad(child_pass, child_rect, SK_ColorBLUE); |
| 1236 | 1260 |
| 1237 childPass = AddRenderPass(renderPasses, childPassId, childRect, | 1261 root_pass = AddRenderPass(render_passes, root_pass_id, viewport_rect, |
| 1238 transform_causing_aa); | 1262 transform_causing_aa); |
| 1239 AddQuad(childPass, childRect, SK_ColorBLUE); | 1263 AddQuad(root_pass, viewport_rect, SK_ColorGREEN); |
| 1240 | 1264 |
| 1241 rootPass = AddRenderPass(renderPasses, rootPassId, viewportRect, | 1265 AddRenderPassQuad(root_pass, child_pass, mask, filter, transform_causing_aa); |
| 1242 transform_causing_aa); | 1266 AddRenderPassQuad(child_pass, grand_child_pass); |
| 1243 AddQuad(rootPass, viewportRect, SK_ColorGREEN); | |
| 1244 | |
| 1245 AddRenderPassQuad(rootPass, childPass, mask, filter, transform_causing_aa); | |
| 1246 AddRenderPassQuad(childPass, grandChildPass); | |
| 1247 | 1267 |
| 1248 renderer_->DecideRenderPassAllocationsForFrame( | 1268 renderer_->DecideRenderPassAllocationsForFrame( |
| 1249 *mock_client_.render_passes_in_draw_order()); | 1269 *mock_client_.render_passes_in_draw_order()); |
| 1250 renderer_->DrawFrame(mock_client_.render_passes_in_draw_order()); | 1270 renderer_->DrawFrame(mock_client_.render_passes_in_draw_order()); |
| 1251 TestRenderPassMaskColorMatrixProgramAA(); | 1271 TestRenderPassMaskColorMatrixProgramAA(); |
| 1252 } | 1272 } |
| 1253 | 1273 |
| 1254 class OutputSurfaceMockContext : public TestWebGraphicsContext3D { | 1274 class OutputSurfaceMockContext : public TestWebGraphicsContext3D { |
| 1255 public: | 1275 public: |
| 1256 // Specifically override methods even if they are unused (used in conjunction | 1276 // Specifically override methods even if they are unused (used in conjunction |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1311 TestRenderPass* render_pass = AddRenderPass( | 1331 TestRenderPass* render_pass = AddRenderPass( |
| 1312 render_passes, render_pass_id, viewport_rect, gfx::Transform()); | 1332 render_passes, render_pass_id, viewport_rect, gfx::Transform()); |
| 1313 AddQuad(render_pass, viewport_rect, SK_ColorGREEN); | 1333 AddQuad(render_pass, viewport_rect, SK_ColorGREEN); |
| 1314 | 1334 |
| 1315 EXPECT_CALL(output_surface_, EnsureBackbuffer()).WillRepeatedly(Return()); | 1335 EXPECT_CALL(output_surface_, EnsureBackbuffer()).WillRepeatedly(Return()); |
| 1316 | 1336 |
| 1317 EXPECT_CALL(output_surface_, Reshape(_)).Times(1); | 1337 EXPECT_CALL(output_surface_, Reshape(_)).Times(1); |
| 1318 | 1338 |
| 1319 EXPECT_CALL(output_surface_, BindFramebuffer()).Times(1); | 1339 EXPECT_CALL(output_surface_, BindFramebuffer()).Times(1); |
| 1320 | 1340 |
| 1321 EXPECT_CALL(*context(), drawElements(_, _, _, _)).Times(1); | 1341 EXPECT_CALL(*Context(), drawElements(_, _, _, _)).Times(1); |
| 1322 | 1342 |
| 1323 renderer_.DecideRenderPassAllocationsForFrame( | 1343 renderer_.DecideRenderPassAllocationsForFrame( |
| 1324 *render_passes_in_draw_order()); | 1344 *render_passes_in_draw_order()); |
| 1325 renderer_.DrawFrame(render_passes_in_draw_order()); | 1345 renderer_.DrawFrame(render_passes_in_draw_order()); |
| 1326 } | 1346 } |
| 1327 | 1347 |
| 1328 OutputSurfaceMockContext* context() { | 1348 OutputSurfaceMockContext* Context() { |
| 1329 return static_cast<OutputSurfaceMockContext*>(output_surface_.context3d()); | 1349 return static_cast<OutputSurfaceMockContext*>(output_surface_.context3d()); |
| 1330 } | 1350 } |
| 1331 | 1351 |
| 1332 StrictMock<MockOutputSurface> output_surface_; | 1352 StrictMock<MockOutputSurface> output_surface_; |
| 1333 scoped_ptr<ResourceProvider> resource_provider_; | 1353 scoped_ptr<ResourceProvider> resource_provider_; |
| 1334 FakeRendererGL renderer_; | 1354 FakeRendererGL renderer_; |
| 1335 }; | 1355 }; |
| 1336 | 1356 |
| 1337 TEST_F(MockOutputSurfaceTest, DrawFrameAndSwap) { | 1357 TEST_F(MockOutputSurfaceTest, DrawFrameAndSwap) { |
| 1338 DrawFrame(); | 1358 DrawFrame(); |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 1367 } | 1387 } |
| 1368 }; | 1388 }; |
| 1369 | 1389 |
| 1370 TEST_F(MockOutputSurfaceTestWithSendCompositorFrame, DrawFrame) { | 1390 TEST_F(MockOutputSurfaceTestWithSendCompositorFrame, DrawFrame) { |
| 1371 EXPECT_CALL(output_surface_, SendFrameToParentCompositor(_)).Times(1); | 1391 EXPECT_CALL(output_surface_, SendFrameToParentCompositor(_)).Times(1); |
| 1372 DrawFrame(); | 1392 DrawFrame(); |
| 1373 } | 1393 } |
| 1374 | 1394 |
| 1375 } // namespace | 1395 } // namespace |
| 1376 } // namespace cc | 1396 } // namespace cc |
| OLD | NEW |