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

Side by Side Diff: gpu/command_buffer/service/in_process_command_buffer.cc

Issue 1859703002: convert //gpu to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: convert newly added scoped_ptr's 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
OLDNEW
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 "gpu/command_buffer/service/in_process_command_buffer.h" 5 #include "gpu/command_buffer/service/in_process_command_buffer.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <queue> 10 #include <queue>
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 83
84 private: 84 private:
85 SyncPointOrderData* order_data_; 85 SyncPointOrderData* order_data_;
86 uint32_t order_num_; 86 uint32_t order_num_;
87 }; 87 };
88 88
89 struct GpuInProcessThreadHolder { 89 struct GpuInProcessThreadHolder {
90 GpuInProcessThreadHolder() 90 GpuInProcessThreadHolder()
91 : sync_point_manager(new SyncPointManager(false)), 91 : sync_point_manager(new SyncPointManager(false)),
92 gpu_thread(new GpuInProcessThread(sync_point_manager.get())) {} 92 gpu_thread(new GpuInProcessThread(sync_point_manager.get())) {}
93 scoped_ptr<SyncPointManager> sync_point_manager; 93 std::unique_ptr<SyncPointManager> sync_point_manager;
94 scoped_refptr<InProcessCommandBuffer::Service> gpu_thread; 94 scoped_refptr<InProcessCommandBuffer::Service> gpu_thread;
95 }; 95 };
96 96
97 base::LazyInstance<GpuInProcessThreadHolder> g_default_service = 97 base::LazyInstance<GpuInProcessThreadHolder> g_default_service =
98 LAZY_INSTANCE_INITIALIZER; 98 LAZY_INSTANCE_INITIALIZER;
99 99
100 class ScopedEvent { 100 class ScopedEvent {
101 public: 101 public:
102 explicit ScopedEvent(base::WaitableEvent* event) : event_(event) {} 102 explicit ScopedEvent(base::WaitableEvent* event) : event_(event) {}
103 ~ScopedEvent() { event_->Signal(); } 103 ~ScopedEvent() { event_->Signal(); }
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 const InitializeOnGpuThreadParams& params) { 318 const InitializeOnGpuThreadParams& params) {
319 CheckSequencedThread(); 319 CheckSequencedThread();
320 gpu_thread_weak_ptr_ = gpu_thread_weak_ptr_factory_.GetWeakPtr(); 320 gpu_thread_weak_ptr_ = gpu_thread_weak_ptr_factory_.GetWeakPtr();
321 321
322 DCHECK(params.size.width() >= 0 && params.size.height() >= 0); 322 DCHECK(params.size.width() >= 0 && params.size.height() >= 0);
323 323
324 TransferBufferManager* manager = new TransferBufferManager(nullptr); 324 TransferBufferManager* manager = new TransferBufferManager(nullptr);
325 transfer_buffer_manager_ = manager; 325 transfer_buffer_manager_ = manager;
326 manager->Initialize(); 326 manager->Initialize();
327 327
328 scoped_ptr<CommandBufferService> command_buffer( 328 std::unique_ptr<CommandBufferService> command_buffer(
329 new CommandBufferService(transfer_buffer_manager_.get())); 329 new CommandBufferService(transfer_buffer_manager_.get()));
330 command_buffer->SetPutOffsetChangeCallback(base::Bind( 330 command_buffer->SetPutOffsetChangeCallback(base::Bind(
331 &InProcessCommandBuffer::PumpCommandsOnGpuThread, gpu_thread_weak_ptr_)); 331 &InProcessCommandBuffer::PumpCommandsOnGpuThread, gpu_thread_weak_ptr_));
332 command_buffer->SetParseErrorCallback(base::Bind( 332 command_buffer->SetParseErrorCallback(base::Bind(
333 &InProcessCommandBuffer::OnContextLostOnGpuThread, gpu_thread_weak_ptr_)); 333 &InProcessCommandBuffer::OnContextLostOnGpuThread, gpu_thread_weak_ptr_));
334 334
335 if (!command_buffer->Initialize()) { 335 if (!command_buffer->Initialize()) {
336 LOG(ERROR) << "Could not initialize command buffer."; 336 LOG(ERROR) << "Could not initialize command buffer.";
337 DestroyOnGpuThread(); 337 DestroyOnGpuThread();
338 return false; 338 return false;
(...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after
835 } 835 }
836 836
837 int32_t InProcessCommandBuffer::CreateGpuMemoryBufferImage( 837 int32_t InProcessCommandBuffer::CreateGpuMemoryBufferImage(
838 size_t width, 838 size_t width,
839 size_t height, 839 size_t height,
840 unsigned internalformat, 840 unsigned internalformat,
841 unsigned usage) { 841 unsigned usage) {
842 CheckSequencedThread(); 842 CheckSequencedThread();
843 843
844 DCHECK(gpu_memory_buffer_manager_); 844 DCHECK(gpu_memory_buffer_manager_);
845 scoped_ptr<gfx::GpuMemoryBuffer> buffer( 845 std::unique_ptr<gfx::GpuMemoryBuffer> buffer(
846 gpu_memory_buffer_manager_->AllocateGpuMemoryBuffer( 846 gpu_memory_buffer_manager_->AllocateGpuMemoryBuffer(
847 gfx::Size(width, height), 847 gfx::Size(width, height),
848 gpu::DefaultBufferFormatForImageFormat(internalformat), 848 gpu::DefaultBufferFormatForImageFormat(internalformat),
849 gfx::BufferUsage::SCANOUT, 0 /* surface_id */)); 849 gfx::BufferUsage::SCANOUT, 0 /* surface_id */));
850 if (!buffer) 850 if (!buffer)
851 return -1; 851 return -1;
852 852
853 return CreateImage(buffer->AsClientBuffer(), width, height, internalformat); 853 return CreateImage(buffer->AsClientBuffer(), width, height, internalformat);
854 } 854 }
855 855
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
1020 const base::Closure& callback) { 1020 const base::Closure& callback) {
1021 // The task_runner.get() check is to support using InProcessCommandBuffer on 1021 // The task_runner.get() check is to support using InProcessCommandBuffer on
1022 // a thread without a message loop. 1022 // a thread without a message loop.
1023 if (task_runner.get() && !task_runner->BelongsToCurrentThread()) { 1023 if (task_runner.get() && !task_runner->BelongsToCurrentThread()) {
1024 task_runner->PostTask(FROM_HERE, callback); 1024 task_runner->PostTask(FROM_HERE, callback);
1025 } else { 1025 } else {
1026 callback.Run(); 1026 callback.Run();
1027 } 1027 }
1028 } 1028 }
1029 1029
1030 void RunOnTargetThread(scoped_ptr<base::Closure> callback) { 1030 void RunOnTargetThread(std::unique_ptr<base::Closure> callback) {
1031 DCHECK(callback.get()); 1031 DCHECK(callback.get());
1032 callback->Run(); 1032 callback->Run();
1033 } 1033 }
1034 1034
1035 } // anonymous namespace 1035 } // anonymous namespace
1036 1036
1037 base::Closure InProcessCommandBuffer::WrapCallback( 1037 base::Closure InProcessCommandBuffer::WrapCallback(
1038 const base::Closure& callback) { 1038 const base::Closure& callback) {
1039 // Make sure the callback gets deleted on the target thread by passing 1039 // Make sure the callback gets deleted on the target thread by passing
1040 // ownership. 1040 // ownership.
1041 scoped_ptr<base::Closure> scoped_callback(new base::Closure(callback)); 1041 std::unique_ptr<base::Closure> scoped_callback(new base::Closure(callback));
1042 base::Closure callback_on_client_thread = 1042 base::Closure callback_on_client_thread =
1043 base::Bind(&RunOnTargetThread, base::Passed(&scoped_callback)); 1043 base::Bind(&RunOnTargetThread, base::Passed(&scoped_callback));
1044 base::Closure wrapped_callback = 1044 base::Closure wrapped_callback =
1045 base::Bind(&PostCallback, base::ThreadTaskRunnerHandle::IsSet() 1045 base::Bind(&PostCallback, base::ThreadTaskRunnerHandle::IsSet()
1046 ? base::ThreadTaskRunnerHandle::Get() 1046 ? base::ThreadTaskRunnerHandle::Get()
1047 : nullptr, 1047 : nullptr,
1048 callback_on_client_thread); 1048 callback_on_client_thread);
1049 return wrapped_callback; 1049 return wrapped_callback;
1050 } 1050 }
1051 1051
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
1114 framebuffer_completeness_cache_ = 1114 framebuffer_completeness_cache_ =
1115 new gpu::gles2::FramebufferCompletenessCache; 1115 new gpu::gles2::FramebufferCompletenessCache;
1116 return framebuffer_completeness_cache_; 1116 return framebuffer_completeness_cache_;
1117 } 1117 }
1118 1118
1119 SyncPointManager* GpuInProcessThread::sync_point_manager() { 1119 SyncPointManager* GpuInProcessThread::sync_point_manager() {
1120 return sync_point_manager_; 1120 return sync_point_manager_;
1121 } 1121 }
1122 1122
1123 } // namespace gpu 1123 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698