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 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 it != tasks_.end(); ++it) { | 229 it != tasks_.end(); ++it) { |
230 graph_.nodes.emplace_back(it->get(), 0 /* group */, priority++, | 230 graph_.nodes.emplace_back(it->get(), 0 /* group */, priority++, |
231 0 /* dependencies */); | 231 0 /* dependencies */); |
232 } | 232 } |
233 | 233 |
234 raster_buffer_provider_->OrderingBarrier(); | 234 raster_buffer_provider_->OrderingBarrier(); |
235 tile_task_manager_->ScheduleTasks(&graph_); | 235 tile_task_manager_->ScheduleTasks(&graph_); |
236 } | 236 } |
237 | 237 |
238 void AppendTask(unsigned id, const gfx::Size& size) { | 238 void AppendTask(unsigned id, const gfx::Size& size) { |
239 std::unique_ptr<ScopedResource> resource( | 239 auto resource = base::MakeUnique<ScopedResource>(resource_provider_.get()); |
240 ScopedResource::Create(resource_provider_.get())); | |
241 resource->Allocate(size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, | 240 resource->Allocate(size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, |
242 RGBA_8888, gfx::ColorSpace()); | 241 RGBA_8888, gfx::ColorSpace()); |
243 | 242 |
244 // The raster buffer has no tile ids associated with it for partial update, | 243 // The raster buffer has no tile ids associated with it for partial update, |
245 // so doesn't need to provide a valid dirty rect. | 244 // so doesn't need to provide a valid dirty rect. |
246 std::unique_ptr<RasterBuffer> raster_buffer = | 245 std::unique_ptr<RasterBuffer> raster_buffer = |
247 raster_buffer_provider_->AcquireBufferForRaster(resource.get(), 0, 0); | 246 raster_buffer_provider_->AcquireBufferForRaster(resource.get(), 0, 0); |
248 TileTask::Vector empty; | 247 TileTask::Vector empty; |
249 tasks_.push_back( | 248 tasks_.push_back( |
250 new TestRasterTaskImpl(this, id, std::move(raster_buffer), &empty)); | 249 new TestRasterTaskImpl(this, id, std::move(raster_buffer), &empty)); |
251 resources_.push_back(std::move(resource)); | 250 resources_.push_back(std::move(resource)); |
252 } | 251 } |
253 | 252 |
254 void AppendTask(unsigned id) { AppendTask(id, gfx::Size(1, 1)); } | 253 void AppendTask(unsigned id) { AppendTask(id, gfx::Size(1, 1)); } |
255 | 254 |
256 void AppendBlockingTask(unsigned id, base::Lock* lock) { | 255 void AppendBlockingTask(unsigned id, base::Lock* lock) { |
257 const gfx::Size size(1, 1); | 256 const gfx::Size size(1, 1); |
258 | 257 |
259 std::unique_ptr<ScopedResource> resource( | 258 auto resource = base::MakeUnique<ScopedResource>(resource_provider_.get()); |
260 ScopedResource::Create(resource_provider_.get())); | |
261 resource->Allocate(size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, | 259 resource->Allocate(size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, |
262 RGBA_8888, gfx::ColorSpace()); | 260 RGBA_8888, gfx::ColorSpace()); |
263 | 261 |
264 std::unique_ptr<RasterBuffer> raster_buffer = | 262 std::unique_ptr<RasterBuffer> raster_buffer = |
265 raster_buffer_provider_->AcquireBufferForRaster(resource.get(), 0, 0); | 263 raster_buffer_provider_->AcquireBufferForRaster(resource.get(), 0, 0); |
266 TileTask::Vector empty; | 264 TileTask::Vector empty; |
267 tasks_.push_back(new BlockingTestRasterTaskImpl( | 265 tasks_.push_back(new BlockingTestRasterTaskImpl( |
268 this, id, std::move(raster_buffer), lock, &empty)); | 266 this, id, std::move(raster_buffer), lock, &empty)); |
269 resources_.push_back(std::move(resource)); | 267 resources_.push_back(std::move(resource)); |
270 } | 268 } |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
453 RasterBufferProviderTest, | 451 RasterBufferProviderTest, |
454 ::testing::Values(RASTER_BUFFER_PROVIDER_TYPE_ZERO_COPY, | 452 ::testing::Values(RASTER_BUFFER_PROVIDER_TYPE_ZERO_COPY, |
455 RASTER_BUFFER_PROVIDER_TYPE_ONE_COPY, | 453 RASTER_BUFFER_PROVIDER_TYPE_ONE_COPY, |
456 RASTER_BUFFER_PROVIDER_TYPE_ASYNC_ONE_COPY, | 454 RASTER_BUFFER_PROVIDER_TYPE_ASYNC_ONE_COPY, |
457 RASTER_BUFFER_PROVIDER_TYPE_GPU, | 455 RASTER_BUFFER_PROVIDER_TYPE_GPU, |
458 RASTER_BUFFER_PROVIDER_TYPE_ASYNC_GPU, | 456 RASTER_BUFFER_PROVIDER_TYPE_ASYNC_GPU, |
459 RASTER_BUFFER_PROVIDER_TYPE_BITMAP)); | 457 RASTER_BUFFER_PROVIDER_TYPE_BITMAP)); |
460 | 458 |
461 } // namespace | 459 } // namespace |
462 } // namespace cc | 460 } // namespace cc |
OLD | NEW |