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

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: undo part of clang-format 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 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 81
82 private: 82 private:
83 SyncPointOrderData* order_data_; 83 SyncPointOrderData* order_data_;
84 uint32_t order_num_; 84 uint32_t order_num_;
85 }; 85 };
86 86
87 struct GpuInProcessThreadHolder { 87 struct GpuInProcessThreadHolder {
88 GpuInProcessThreadHolder() 88 GpuInProcessThreadHolder()
89 : sync_point_manager(new SyncPointManager(false)), 89 : sync_point_manager(new SyncPointManager(false)),
90 gpu_thread(new GpuInProcessThread(sync_point_manager.get())) {} 90 gpu_thread(new GpuInProcessThread(sync_point_manager.get())) {}
91 scoped_ptr<SyncPointManager> sync_point_manager; 91 std::unique_ptr<SyncPointManager> sync_point_manager;
92 scoped_refptr<InProcessCommandBuffer::Service> gpu_thread; 92 scoped_refptr<InProcessCommandBuffer::Service> gpu_thread;
93 }; 93 };
94 94
95 base::LazyInstance<GpuInProcessThreadHolder> g_default_service = 95 base::LazyInstance<GpuInProcessThreadHolder> g_default_service =
96 LAZY_INSTANCE_INITIALIZER; 96 LAZY_INSTANCE_INITIALIZER;
97 97
98 class ScopedEvent { 98 class ScopedEvent {
99 public: 99 public:
100 explicit ScopedEvent(base::WaitableEvent* event) : event_(event) {} 100 explicit ScopedEvent(base::WaitableEvent* event) : event_(event) {}
101 ~ScopedEvent() { event_->Signal(); } 101 ~ScopedEvent() { event_->Signal(); }
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 const InitializeOnGpuThreadParams& params) { 313 const InitializeOnGpuThreadParams& params) {
314 CheckSequencedThread(); 314 CheckSequencedThread();
315 gpu_thread_weak_ptr_ = gpu_thread_weak_ptr_factory_.GetWeakPtr(); 315 gpu_thread_weak_ptr_ = gpu_thread_weak_ptr_factory_.GetWeakPtr();
316 316
317 DCHECK(params.size.width() >= 0 && params.size.height() >= 0); 317 DCHECK(params.size.width() >= 0 && params.size.height() >= 0);
318 318
319 TransferBufferManager* manager = new TransferBufferManager(nullptr); 319 TransferBufferManager* manager = new TransferBufferManager(nullptr);
320 transfer_buffer_manager_ = manager; 320 transfer_buffer_manager_ = manager;
321 manager->Initialize(); 321 manager->Initialize();
322 322
323 scoped_ptr<CommandBufferService> command_buffer( 323 std::unique_ptr<CommandBufferService> command_buffer(
324 new CommandBufferService(transfer_buffer_manager_.get())); 324 new CommandBufferService(transfer_buffer_manager_.get()));
325 command_buffer->SetPutOffsetChangeCallback(base::Bind( 325 command_buffer->SetPutOffsetChangeCallback(base::Bind(
326 &InProcessCommandBuffer::PumpCommands, gpu_thread_weak_ptr_)); 326 &InProcessCommandBuffer::PumpCommands, gpu_thread_weak_ptr_));
327 command_buffer->SetParseErrorCallback(base::Bind( 327 command_buffer->SetParseErrorCallback(base::Bind(
328 &InProcessCommandBuffer::OnContextLost, gpu_thread_weak_ptr_)); 328 &InProcessCommandBuffer::OnContextLost, gpu_thread_weak_ptr_));
329 329
330 if (!command_buffer->Initialize()) { 330 if (!command_buffer->Initialize()) {
331 LOG(ERROR) << "Could not initialize command buffer."; 331 LOG(ERROR) << "Could not initialize command buffer.";
332 DestroyOnGpuThread(); 332 DestroyOnGpuThread();
333 return false; 333 return false;
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after
814 } 814 }
815 815
816 int32_t InProcessCommandBuffer::CreateGpuMemoryBufferImage( 816 int32_t InProcessCommandBuffer::CreateGpuMemoryBufferImage(
817 size_t width, 817 size_t width,
818 size_t height, 818 size_t height,
819 unsigned internalformat, 819 unsigned internalformat,
820 unsigned usage) { 820 unsigned usage) {
821 CheckSequencedThread(); 821 CheckSequencedThread();
822 822
823 DCHECK(gpu_memory_buffer_manager_); 823 DCHECK(gpu_memory_buffer_manager_);
824 scoped_ptr<gfx::GpuMemoryBuffer> buffer( 824 std::unique_ptr<gfx::GpuMemoryBuffer> buffer(
825 gpu_memory_buffer_manager_->AllocateGpuMemoryBuffer( 825 gpu_memory_buffer_manager_->AllocateGpuMemoryBuffer(
826 gfx::Size(width, height), 826 gfx::Size(width, height),
827 gpu::ImageFactory::DefaultBufferFormatForImageFormat(internalformat), 827 gpu::ImageFactory::DefaultBufferFormatForImageFormat(internalformat),
828 gfx::BufferUsage::SCANOUT)); 828 gfx::BufferUsage::SCANOUT));
829 if (!buffer) 829 if (!buffer)
830 return -1; 830 return -1;
831 831
832 return CreateImage(buffer->AsClientBuffer(), width, height, internalformat); 832 return CreateImage(buffer->AsClientBuffer(), width, height, internalformat);
833 } 833 }
834 834
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
997 const base::Closure& callback) { 997 const base::Closure& callback) {
998 // The task_runner.get() check is to support using InProcessCommandBuffer on 998 // The task_runner.get() check is to support using InProcessCommandBuffer on
999 // a thread without a message loop. 999 // a thread without a message loop.
1000 if (task_runner.get() && !task_runner->BelongsToCurrentThread()) { 1000 if (task_runner.get() && !task_runner->BelongsToCurrentThread()) {
1001 task_runner->PostTask(FROM_HERE, callback); 1001 task_runner->PostTask(FROM_HERE, callback);
1002 } else { 1002 } else {
1003 callback.Run(); 1003 callback.Run();
1004 } 1004 }
1005 } 1005 }
1006 1006
1007 void RunOnTargetThread(scoped_ptr<base::Closure> callback) { 1007 void RunOnTargetThread(std::unique_ptr<base::Closure> callback) {
1008 DCHECK(callback.get()); 1008 DCHECK(callback.get());
1009 callback->Run(); 1009 callback->Run();
1010 } 1010 }
1011 1011
1012 } // anonymous namespace 1012 } // anonymous namespace
1013 1013
1014 base::Closure InProcessCommandBuffer::WrapCallback( 1014 base::Closure InProcessCommandBuffer::WrapCallback(
1015 const base::Closure& callback) { 1015 const base::Closure& callback) {
1016 // Make sure the callback gets deleted on the target thread by passing 1016 // Make sure the callback gets deleted on the target thread by passing
1017 // ownership. 1017 // ownership.
1018 scoped_ptr<base::Closure> scoped_callback(new base::Closure(callback)); 1018 std::unique_ptr<base::Closure> scoped_callback(new base::Closure(callback));
1019 base::Closure callback_on_client_thread = 1019 base::Closure callback_on_client_thread =
1020 base::Bind(&RunOnTargetThread, base::Passed(&scoped_callback)); 1020 base::Bind(&RunOnTargetThread, base::Passed(&scoped_callback));
1021 base::Closure wrapped_callback = 1021 base::Closure wrapped_callback =
1022 base::Bind(&PostCallback, base::ThreadTaskRunnerHandle::IsSet() 1022 base::Bind(&PostCallback, base::ThreadTaskRunnerHandle::IsSet()
1023 ? base::ThreadTaskRunnerHandle::Get() 1023 ? base::ThreadTaskRunnerHandle::Get()
1024 : nullptr, 1024 : nullptr,
1025 callback_on_client_thread); 1025 callback_on_client_thread);
1026 return wrapped_callback; 1026 return wrapped_callback;
1027 } 1027 }
1028 1028
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
1091 framebuffer_completeness_cache_ = 1091 framebuffer_completeness_cache_ =
1092 new gpu::gles2::FramebufferCompletenessCache; 1092 new gpu::gles2::FramebufferCompletenessCache;
1093 return framebuffer_completeness_cache_; 1093 return framebuffer_completeness_cache_;
1094 } 1094 }
1095 1095
1096 SyncPointManager* GpuInProcessThread::sync_point_manager() { 1096 SyncPointManager* GpuInProcessThread::sync_point_manager() {
1097 return sync_point_manager_; 1097 return sync_point_manager_;
1098 } 1098 }
1099 1099
1100 } // namespace gpu 1100 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698