| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/raster/raster_buffer_provider.h" | 5 #include "cc/raster/raster_buffer_provider.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 155 base::ThreadTaskRunnerHandle::Get().get(), | 155 base::ThreadTaskRunnerHandle::Get().get(), |
| 156 base::Bind(&RasterBufferProviderTest::AllTileTasksFinished, | 156 base::Bind(&RasterBufferProviderTest::AllTileTasksFinished, |
| 157 base::Unretained(this))), | 157 base::Unretained(this))), |
| 158 timeout_seconds_(5), | 158 timeout_seconds_(5), |
| 159 timed_out_(false) {} | 159 timed_out_(false) {} |
| 160 | 160 |
| 161 // Overridden from testing::Test: | 161 // Overridden from testing::Test: |
| 162 void SetUp() override { | 162 void SetUp() override { |
| 163 switch (GetParam()) { | 163 switch (GetParam()) { |
| 164 case RASTER_BUFFER_PROVIDER_TYPE_ZERO_COPY: | 164 case RASTER_BUFFER_PROVIDER_TYPE_ZERO_COPY: |
| 165 Create3dOutputSurfaceAndResourceProvider(); | 165 Create3dResourceProvider(); |
| 166 raster_buffer_provider_ = ZeroCopyRasterBufferProvider::Create( | 166 raster_buffer_provider_ = ZeroCopyRasterBufferProvider::Create( |
| 167 resource_provider_.get(), PlatformColor::BestTextureFormat()); | 167 resource_provider_.get(), PlatformColor::BestTextureFormat()); |
| 168 break; | 168 break; |
| 169 case RASTER_BUFFER_PROVIDER_TYPE_ONE_COPY: | 169 case RASTER_BUFFER_PROVIDER_TYPE_ONE_COPY: |
| 170 Create3dOutputSurfaceAndResourceProvider(); | 170 Create3dResourceProvider(); |
| 171 raster_buffer_provider_ = base::MakeUnique<OneCopyRasterBufferProvider>( | 171 raster_buffer_provider_ = base::MakeUnique<OneCopyRasterBufferProvider>( |
| 172 base::ThreadTaskRunnerHandle::Get().get(), context_provider_.get(), | 172 base::ThreadTaskRunnerHandle::Get().get(), context_provider_.get(), |
| 173 worker_context_provider_.get(), resource_provider_.get(), | 173 worker_context_provider_.get(), resource_provider_.get(), |
| 174 kMaxBytesPerCopyOperation, false, kMaxStagingBuffers, | 174 kMaxBytesPerCopyOperation, false, kMaxStagingBuffers, |
| 175 PlatformColor::BestTextureFormat(), false); | 175 PlatformColor::BestTextureFormat(), false); |
| 176 break; | 176 break; |
| 177 case RASTER_BUFFER_PROVIDER_TYPE_GPU: | 177 case RASTER_BUFFER_PROVIDER_TYPE_GPU: |
| 178 Create3dOutputSurfaceAndResourceProvider(); | 178 Create3dResourceProvider(); |
| 179 raster_buffer_provider_ = base::MakeUnique<GpuRasterBufferProvider>( | 179 raster_buffer_provider_ = base::MakeUnique<GpuRasterBufferProvider>( |
| 180 context_provider_.get(), worker_context_provider_.get(), | 180 context_provider_.get(), worker_context_provider_.get(), |
| 181 resource_provider_.get(), false, 0, false); | 181 resource_provider_.get(), false, 0, false); |
| 182 break; | 182 break; |
| 183 case RASTER_BUFFER_PROVIDER_TYPE_BITMAP: | 183 case RASTER_BUFFER_PROVIDER_TYPE_BITMAP: |
| 184 CreateSoftwareOutputSurfaceAndResourceProvider(); | 184 CreateSoftwareResourceProvider(); |
| 185 raster_buffer_provider_ = | 185 raster_buffer_provider_ = |
| 186 BitmapRasterBufferProvider::Create(resource_provider_.get()); | 186 BitmapRasterBufferProvider::Create(resource_provider_.get()); |
| 187 break; | 187 break; |
| 188 } | 188 } |
| 189 | 189 |
| 190 DCHECK(raster_buffer_provider_); | 190 DCHECK(raster_buffer_provider_); |
| 191 | 191 |
| 192 tile_task_manager_ = TileTaskManagerImpl::Create(&task_graph_runner_); | 192 tile_task_manager_ = TileTaskManagerImpl::Create(&task_graph_runner_); |
| 193 } | 193 } |
| 194 | 194 |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 272 unsigned id, | 272 unsigned id, |
| 273 bool was_canceled) override { | 273 bool was_canceled) override { |
| 274 raster_buffer_provider_->ReleaseBufferForRaster(std::move(raster_buffer)); | 274 raster_buffer_provider_->ReleaseBufferForRaster(std::move(raster_buffer)); |
| 275 RasterTaskResult result; | 275 RasterTaskResult result; |
| 276 result.id = id; | 276 result.id = id; |
| 277 result.canceled = was_canceled; | 277 result.canceled = was_canceled; |
| 278 completed_tasks_.push_back(result); | 278 completed_tasks_.push_back(result); |
| 279 } | 279 } |
| 280 | 280 |
| 281 private: | 281 private: |
| 282 void Create3dOutputSurfaceAndResourceProvider() { | 282 void Create3dResourceProvider() { |
| 283 output_surface_ = FakeOutputSurface::Create3d(context_provider_, | |
| 284 worker_context_provider_); | |
| 285 CHECK(output_surface_->BindToClient(&output_surface_client_)); | |
| 286 TestWebGraphicsContext3D* context3d = context_provider_->TestContext3d(); | 283 TestWebGraphicsContext3D* context3d = context_provider_->TestContext3d(); |
| 287 context3d->set_support_sync_query(true); | 284 context3d->set_support_sync_query(true); |
| 288 resource_provider_ = FakeResourceProvider::Create( | 285 resource_provider_ = FakeResourceProvider::Create( |
| 289 output_surface_.get(), nullptr, &gpu_memory_buffer_manager_); | 286 context_provider_.get(), &shared_bitmap_manager_, |
| 287 &gpu_memory_buffer_manager_); |
| 290 } | 288 } |
| 291 | 289 |
| 292 void CreateSoftwareOutputSurfaceAndResourceProvider() { | 290 void CreateSoftwareResourceProvider() { |
| 293 output_surface_ = FakeOutputSurface::CreateSoftware( | |
| 294 base::WrapUnique(new SoftwareOutputDevice)); | |
| 295 CHECK(output_surface_->BindToClient(&output_surface_client_)); | |
| 296 resource_provider_ = FakeResourceProvider::Create( | 291 resource_provider_ = FakeResourceProvider::Create( |
| 297 output_surface_.get(), &shared_bitmap_manager_, nullptr); | 292 nullptr, &shared_bitmap_manager_, &gpu_memory_buffer_manager_); |
| 298 } | 293 } |
| 299 | 294 |
| 300 void OnTimeout() { | 295 void OnTimeout() { |
| 301 timed_out_ = true; | 296 timed_out_ = true; |
| 302 base::MessageLoop::current()->QuitWhenIdle(); | 297 base::MessageLoop::current()->QuitWhenIdle(); |
| 303 } | 298 } |
| 304 | 299 |
| 305 protected: | 300 protected: |
| 306 scoped_refptr<TestContextProvider> context_provider_; | 301 scoped_refptr<TestContextProvider> context_provider_; |
| 307 scoped_refptr<TestContextProvider> worker_context_provider_; | 302 scoped_refptr<TestContextProvider> worker_context_provider_; |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 390 | 385 |
| 391 INSTANTIATE_TEST_CASE_P(RasterBufferProviderTests, | 386 INSTANTIATE_TEST_CASE_P(RasterBufferProviderTests, |
| 392 RasterBufferProviderTest, | 387 RasterBufferProviderTest, |
| 393 ::testing::Values(RASTER_BUFFER_PROVIDER_TYPE_ZERO_COPY, | 388 ::testing::Values(RASTER_BUFFER_PROVIDER_TYPE_ZERO_COPY, |
| 394 RASTER_BUFFER_PROVIDER_TYPE_ONE_COPY, | 389 RASTER_BUFFER_PROVIDER_TYPE_ONE_COPY, |
| 395 RASTER_BUFFER_PROVIDER_TYPE_GPU, | 390 RASTER_BUFFER_PROVIDER_TYPE_GPU, |
| 396 RASTER_BUFFER_PROVIDER_TYPE_BITMAP)); | 391 RASTER_BUFFER_PROVIDER_TYPE_BITMAP)); |
| 397 | 392 |
| 398 } // namespace | 393 } // namespace |
| 399 } // namespace cc | 394 } // namespace cc |
| OLD | NEW |