| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/base/scoped_ptr_vector.h" | 5 #include "cc/base/scoped_ptr_vector.h" |
| 6 #include "cc/output/gl_renderer.h" | 6 #include "cc/output/gl_renderer.h" |
| 7 #include "cc/output/output_surface.h" | 7 #include "cc/output/output_surface.h" |
| 8 #include "cc/output/output_surface_client.h" | 8 #include "cc/output/output_surface_client.h" |
| 9 #include "cc/output/overlay_candidate_validator.h" | 9 #include "cc/output/overlay_candidate_validator.h" |
| 10 #include "cc/output/overlay_processor.h" | 10 #include "cc/output/overlay_processor.h" |
| (...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 206 scoped_refptr<TestContextProvider> provider = TestContextProvider::Create(); | 206 scoped_refptr<TestContextProvider> provider = TestContextProvider::Create(); |
| 207 OverlayOutputSurface output_surface(provider); | 207 OverlayOutputSurface output_surface(provider); |
| 208 FakeOutputSurfaceClient client; | 208 FakeOutputSurfaceClient client; |
| 209 EXPECT_TRUE(output_surface.BindToClient(&client)); | 209 EXPECT_TRUE(output_surface.BindToClient(&client)); |
| 210 output_surface.InitWithSingleOverlayValidator(); | 210 output_surface.InitWithSingleOverlayValidator(); |
| 211 EXPECT_TRUE(output_surface.overlay_candidate_validator() != NULL); | 211 EXPECT_TRUE(output_surface.overlay_candidate_validator() != NULL); |
| 212 | 212 |
| 213 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( | 213 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( |
| 214 new TestSharedBitmapManager()); | 214 new TestSharedBitmapManager()); |
| 215 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( | 215 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
| 216 &output_surface, shared_bitmap_manager.get(), 0, false, 1)); | 216 &output_surface, shared_bitmap_manager.get(), 0, false, 1, false)); |
| 217 | 217 |
| 218 scoped_ptr<DefaultOverlayProcessor> overlay_processor( | 218 scoped_ptr<DefaultOverlayProcessor> overlay_processor( |
| 219 new DefaultOverlayProcessor(&output_surface, resource_provider.get())); | 219 new DefaultOverlayProcessor(&output_surface, resource_provider.get())); |
| 220 overlay_processor->Initialize(); | 220 overlay_processor->Initialize(); |
| 221 EXPECT_GE(1U, overlay_processor->GetStrategyCount()); | 221 EXPECT_GE(1U, overlay_processor->GetStrategyCount()); |
| 222 } | 222 } |
| 223 | 223 |
| 224 class SingleOverlayOnTopTest : public testing::Test { | 224 class SingleOverlayOnTopTest : public testing::Test { |
| 225 protected: | 225 protected: |
| 226 virtual void SetUp() { | 226 virtual void SetUp() { |
| 227 provider_ = TestContextProvider::Create(); | 227 provider_ = TestContextProvider::Create(); |
| 228 output_surface_.reset(new OverlayOutputSurface(provider_)); | 228 output_surface_.reset(new OverlayOutputSurface(provider_)); |
| 229 EXPECT_TRUE(output_surface_->BindToClient(&client_)); | 229 EXPECT_TRUE(output_surface_->BindToClient(&client_)); |
| 230 output_surface_->InitWithSingleOverlayValidator(); | 230 output_surface_->InitWithSingleOverlayValidator(); |
| 231 EXPECT_TRUE(output_surface_->overlay_candidate_validator() != NULL); | 231 EXPECT_TRUE(output_surface_->overlay_candidate_validator() != NULL); |
| 232 | 232 |
| 233 shared_bitmap_manager_.reset(new TestSharedBitmapManager()); | 233 shared_bitmap_manager_.reset(new TestSharedBitmapManager()); |
| 234 resource_provider_ = ResourceProvider::Create( | 234 resource_provider_ = ResourceProvider::Create( |
| 235 output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1); | 235 output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, |
| 236 false); |
| 236 | 237 |
| 237 overlay_processor_.reset(new SingleOverlayProcessor( | 238 overlay_processor_.reset(new SingleOverlayProcessor( |
| 238 output_surface_.get(), resource_provider_.get())); | 239 output_surface_.get(), resource_provider_.get())); |
| 239 overlay_processor_->Initialize(); | 240 overlay_processor_->Initialize(); |
| 240 } | 241 } |
| 241 | 242 |
| 242 scoped_refptr<TestContextProvider> provider_; | 243 scoped_refptr<TestContextProvider> provider_; |
| 243 scoped_ptr<OverlayOutputSurface> output_surface_; | 244 scoped_ptr<OverlayOutputSurface> output_surface_; |
| 244 FakeOutputSurfaceClient client_; | 245 FakeOutputSurfaceClient client_; |
| 245 scoped_ptr<SharedBitmapManager> shared_bitmap_manager_; | 246 scoped_ptr<SharedBitmapManager> shared_bitmap_manager_; |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 503 const gfx::RectF& uv_rect)); | 504 const gfx::RectF& uv_rect)); |
| 504 }; | 505 }; |
| 505 | 506 |
| 506 class GLRendererWithOverlaysTest : public testing::Test { | 507 class GLRendererWithOverlaysTest : public testing::Test { |
| 507 protected: | 508 protected: |
| 508 GLRendererWithOverlaysTest() { | 509 GLRendererWithOverlaysTest() { |
| 509 provider_ = TestContextProvider::Create(); | 510 provider_ = TestContextProvider::Create(); |
| 510 output_surface_.reset(new OverlayOutputSurface(provider_)); | 511 output_surface_.reset(new OverlayOutputSurface(provider_)); |
| 511 CHECK(output_surface_->BindToClient(&output_surface_client_)); | 512 CHECK(output_surface_->BindToClient(&output_surface_client_)); |
| 512 resource_provider_ = | 513 resource_provider_ = |
| 513 ResourceProvider::Create(output_surface_.get(), NULL, 0, false, 1); | 514 ResourceProvider::Create(output_surface_.get(), NULL, 0, false, 1, |
| 515 false); |
| 514 | 516 |
| 515 provider_->support()->SetScheduleOverlayPlaneCallback(base::Bind( | 517 provider_->support()->SetScheduleOverlayPlaneCallback(base::Bind( |
| 516 &MockOverlayScheduler::Schedule, base::Unretained(&scheduler_))); | 518 &MockOverlayScheduler::Schedule, base::Unretained(&scheduler_))); |
| 517 } | 519 } |
| 518 | 520 |
| 519 void Init(bool use_validator) { | 521 void Init(bool use_validator) { |
| 520 if (use_validator) | 522 if (use_validator) |
| 521 output_surface_->InitWithSingleOverlayValidator(); | 523 output_surface_->InitWithSingleOverlayValidator(); |
| 522 | 524 |
| 523 renderer_ = | 525 renderer_ = |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 716 renderer_->set_expect_overlays(false); | 718 renderer_->set_expect_overlays(false); |
| 717 renderer_->FinishDrawingFrame(&frame3); | 719 renderer_->FinishDrawingFrame(&frame3); |
| 718 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); | 720 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); |
| 719 SwapBuffers(); | 721 SwapBuffers(); |
| 720 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); | 722 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); |
| 721 Mock::VerifyAndClearExpectations(&scheduler_); | 723 Mock::VerifyAndClearExpectations(&scheduler_); |
| 722 } | 724 } |
| 723 | 725 |
| 724 } // namespace | 726 } // namespace |
| 725 } // namespace cc | 727 } // namespace cc |
| OLD | NEW |