Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(479)

Side by Side Diff: cc/raster/one_copy_tile_task_worker_pool.cc

Issue 1866203004: Convert //cc from scoped_ptr to std::unique_ptr. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: scopedptrcc: rebase Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/raster/one_copy_tile_task_worker_pool.h ('k') | cc/raster/scoped_gpu_raster.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/raster/one_copy_tile_task_worker_pool.h" 5 #include "cc/raster/one_copy_tile_task_worker_pool.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <limits> 10 #include <limits>
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 DISALLOW_COPY_AND_ASSIGN(RasterBufferImpl); 62 DISALLOW_COPY_AND_ASSIGN(RasterBufferImpl);
63 }; 63 };
64 64
65 // 4MiB is the size of 4 512x512 tiles, which has proven to be a good 65 // 4MiB is the size of 4 512x512 tiles, which has proven to be a good
66 // default batch size for copy operations. 66 // default batch size for copy operations.
67 const int kMaxBytesPerCopyOperation = 1024 * 1024 * 4; 67 const int kMaxBytesPerCopyOperation = 1024 * 1024 * 4;
68 68
69 } // namespace 69 } // namespace
70 70
71 // static 71 // static
72 scoped_ptr<TileTaskWorkerPool> OneCopyTileTaskWorkerPool::Create( 72 std::unique_ptr<TileTaskWorkerPool> OneCopyTileTaskWorkerPool::Create(
73 base::SequencedTaskRunner* task_runner, 73 base::SequencedTaskRunner* task_runner,
74 TaskGraphRunner* task_graph_runner, 74 TaskGraphRunner* task_graph_runner,
75 ContextProvider* context_provider, 75 ContextProvider* context_provider,
76 ResourceProvider* resource_provider, 76 ResourceProvider* resource_provider,
77 int max_copy_texture_chromium_size, 77 int max_copy_texture_chromium_size,
78 bool use_partial_raster, 78 bool use_partial_raster,
79 int max_staging_buffer_usage_in_bytes, 79 int max_staging_buffer_usage_in_bytes,
80 ResourceFormat preferred_tile_format) { 80 ResourceFormat preferred_tile_format) {
81 return make_scoped_ptr<TileTaskWorkerPool>(new OneCopyTileTaskWorkerPool( 81 return base::WrapUnique<TileTaskWorkerPool>(new OneCopyTileTaskWorkerPool(
82 task_runner, task_graph_runner, resource_provider, 82 task_runner, task_graph_runner, resource_provider,
83 max_copy_texture_chromium_size, use_partial_raster, 83 max_copy_texture_chromium_size, use_partial_raster,
84 max_staging_buffer_usage_in_bytes, preferred_tile_format)); 84 max_staging_buffer_usage_in_bytes, preferred_tile_format));
85 } 85 }
86 86
87 OneCopyTileTaskWorkerPool::OneCopyTileTaskWorkerPool( 87 OneCopyTileTaskWorkerPool::OneCopyTileTaskWorkerPool(
88 base::SequencedTaskRunner* task_runner, 88 base::SequencedTaskRunner* task_runner,
89 TaskGraphRunner* task_graph_runner, 89 TaskGraphRunner* task_graph_runner,
90 ResourceProvider* resource_provider, 90 ResourceProvider* resource_provider,
91 int max_copy_texture_chromium_size, 91 int max_copy_texture_chromium_size,
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 } 165 }
166 166
167 return resource_provider_->best_texture_format(); 167 return resource_provider_->best_texture_format();
168 } 168 }
169 169
170 bool OneCopyTileTaskWorkerPool::GetResourceRequiresSwizzle( 170 bool OneCopyTileTaskWorkerPool::GetResourceRequiresSwizzle(
171 bool must_support_alpha) const { 171 bool must_support_alpha) const {
172 return ResourceFormatRequiresSwizzle(GetResourceFormat(must_support_alpha)); 172 return ResourceFormatRequiresSwizzle(GetResourceFormat(must_support_alpha));
173 } 173 }
174 174
175 scoped_ptr<RasterBuffer> OneCopyTileTaskWorkerPool::AcquireBufferForRaster( 175 std::unique_ptr<RasterBuffer> OneCopyTileTaskWorkerPool::AcquireBufferForRaster(
176 const Resource* resource, 176 const Resource* resource,
177 uint64_t resource_content_id, 177 uint64_t resource_content_id,
178 uint64_t previous_content_id) { 178 uint64_t previous_content_id) {
179 // TODO(danakj): If resource_content_id != 0, we only need to copy/upload 179 // TODO(danakj): If resource_content_id != 0, we only need to copy/upload
180 // the dirty rect. 180 // the dirty rect.
181 return make_scoped_ptr<RasterBuffer>( 181 return base::WrapUnique<RasterBuffer>(
182 new RasterBufferImpl(this, resource_provider_, resource->format(), 182 new RasterBufferImpl(this, resource_provider_, resource->format(),
183 resource, previous_content_id)); 183 resource, previous_content_id));
184 } 184 }
185 185
186 void OneCopyTileTaskWorkerPool::ReleaseBufferForRaster( 186 void OneCopyTileTaskWorkerPool::ReleaseBufferForRaster(
187 scoped_ptr<RasterBuffer> buffer) { 187 std::unique_ptr<RasterBuffer> buffer) {
188 // Nothing to do here. RasterBufferImpl destructor cleans up after itself. 188 // Nothing to do here. RasterBufferImpl destructor cleans up after itself.
189 } 189 }
190 190
191 void OneCopyTileTaskWorkerPool::PlaybackAndCopyOnWorkerThread( 191 void OneCopyTileTaskWorkerPool::PlaybackAndCopyOnWorkerThread(
192 const Resource* resource, 192 const Resource* resource,
193 ResourceProvider::ScopedWriteLockGL* resource_lock, 193 ResourceProvider::ScopedWriteLockGL* resource_lock,
194 const RasterSource* raster_source, 194 const RasterSource* raster_source,
195 const gfx::Rect& raster_full_rect, 195 const gfx::Rect& raster_full_rect,
196 const gfx::Rect& raster_dirty_rect, 196 const gfx::Rect& raster_dirty_rect,
197 float scale, 197 float scale,
198 const RasterSource::PlaybackSettings& playback_settings, 198 const RasterSource::PlaybackSettings& playback_settings,
199 uint64_t previous_content_id, 199 uint64_t previous_content_id,
200 uint64_t new_content_id) { 200 uint64_t new_content_id) {
201 scoped_ptr<StagingBuffer> staging_buffer = 201 std::unique_ptr<StagingBuffer> staging_buffer =
202 staging_pool_->AcquireStagingBuffer(resource, previous_content_id); 202 staging_pool_->AcquireStagingBuffer(resource, previous_content_id);
203 203
204 PlaybackToStagingBuffer(staging_buffer.get(), resource, raster_source, 204 PlaybackToStagingBuffer(staging_buffer.get(), resource, raster_source,
205 raster_full_rect, raster_dirty_rect, scale, 205 raster_full_rect, raster_dirty_rect, scale,
206 playback_settings, previous_content_id, 206 playback_settings, previous_content_id,
207 new_content_id); 207 new_content_id);
208 208
209 CopyOnWorkerThread(staging_buffer.get(), resource, resource_lock, 209 CopyOnWorkerThread(staging_buffer.get(), resource, resource_lock,
210 raster_source, previous_content_id, new_content_id); 210 raster_source, previous_content_id, new_content_id);
211 211
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
376 gl->OrderingBarrierCHROMIUM(); 376 gl->OrderingBarrierCHROMIUM();
377 377
378 // Generate sync token after the barrier for cross context synchronization. 378 // Generate sync token after the barrier for cross context synchronization.
379 gpu::SyncToken sync_token; 379 gpu::SyncToken sync_token;
380 gl->GenUnverifiedSyncTokenCHROMIUM(fence_sync, sync_token.GetData()); 380 gl->GenUnverifiedSyncTokenCHROMIUM(fence_sync, sync_token.GetData());
381 resource_lock->UpdateResourceSyncToken(sync_token); 381 resource_lock->UpdateResourceSyncToken(sync_token);
382 } 382 }
383 } 383 }
384 384
385 } // namespace cc 385 } // namespace cc
OLDNEW
« no previous file with comments | « cc/raster/one_copy_tile_task_worker_pool.h ('k') | cc/raster/scoped_gpu_raster.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698