| 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 "gpu/command_buffer/service/in_process_command_buffer.h" | 5 #include "gpu/command_buffer/service/in_process_command_buffer.h" |
| 6 | 6 |
| 7 #include <queue> | 7 #include <queue> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 183 g_sync_point_manager.Get().WaitSyncPoint(sync_point); | 183 g_sync_point_manager.Get().WaitSyncPoint(sync_point); |
| 184 return true; | 184 return true; |
| 185 } | 185 } |
| 186 | 186 |
| 187 } // anonyous namespace | 187 } // anonyous namespace |
| 188 | 188 |
| 189 InProcessCommandBuffer::Service::Service() {} | 189 InProcessCommandBuffer::Service::Service() {} |
| 190 | 190 |
| 191 InProcessCommandBuffer::Service::~Service() {} | 191 InProcessCommandBuffer::Service::~Service() {} |
| 192 | 192 |
| 193 scoped_refptr<gles2::MailboxManager> |
| 194 InProcessCommandBuffer::Service::mailbox_manager() { |
| 195 if (!mailbox_manager_.get()) |
| 196 mailbox_manager_ = new gles2::MailboxManager(); |
| 197 return mailbox_manager_; |
| 198 } |
| 199 |
| 193 scoped_refptr<InProcessCommandBuffer::Service> | 200 scoped_refptr<InProcessCommandBuffer::Service> |
| 194 InProcessCommandBuffer::GetDefaultService() { | 201 InProcessCommandBuffer::GetDefaultService() { |
| 195 base::AutoLock lock(default_thread_clients_lock_.Get()); | 202 base::AutoLock lock(default_thread_clients_lock_.Get()); |
| 196 scoped_refptr<Service> service; | 203 scoped_refptr<Service> service; |
| 197 if (!default_thread_clients_.Get().empty()) { | 204 if (!default_thread_clients_.Get().empty()) { |
| 198 InProcessCommandBuffer* other = *default_thread_clients_.Get().begin(); | 205 InProcessCommandBuffer* other = *default_thread_clients_.Get().begin(); |
| 199 service = other->service_; | 206 service = other->service_; |
| 200 DCHECK(service.get()); | 207 DCHECK(service.get()); |
| 201 } else { | 208 } else { |
| 202 service = new GpuInProcessThread; | 209 service = new GpuInProcessThread; |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 335 : new gfx::GLShareGroup; | 342 : new gfx::GLShareGroup; |
| 336 | 343 |
| 337 #if defined(OS_ANDROID) | 344 #if defined(OS_ANDROID) |
| 338 stream_texture_manager_.reset(new StreamTextureManagerInProcess); | 345 stream_texture_manager_.reset(new StreamTextureManagerInProcess); |
| 339 #endif | 346 #endif |
| 340 | 347 |
| 341 bool bind_generates_resource = false; | 348 bool bind_generates_resource = false; |
| 342 decoder_.reset(gles2::GLES2Decoder::Create( | 349 decoder_.reset(gles2::GLES2Decoder::Create( |
| 343 params.context_group | 350 params.context_group |
| 344 ? params.context_group->decoder_->GetContextGroup() | 351 ? params.context_group->decoder_->GetContextGroup() |
| 345 : new gles2::ContextGroup(NULL, | 352 : new gles2::ContextGroup(service_->mailbox_manager(), |
| 346 NULL, | 353 NULL, |
| 347 service_->shader_translator_cache(), | 354 service_->shader_translator_cache(), |
| 348 NULL, | 355 NULL, |
| 349 bind_generates_resource))); | 356 bind_generates_resource))); |
| 350 | 357 |
| 351 gpu_scheduler_.reset( | 358 gpu_scheduler_.reset( |
| 352 new GpuScheduler(command_buffer.get(), decoder_.get(), decoder_.get())); | 359 new GpuScheduler(command_buffer.get(), decoder_.get(), decoder_.get())); |
| 353 command_buffer->SetGetBufferChangeCallback(base::Bind( | 360 command_buffer->SetGetBufferChangeCallback(base::Bind( |
| 354 &GpuScheduler::SetGetBuffer, base::Unretained(gpu_scheduler_.get()))); | 361 &GpuScheduler::SetGetBuffer, base::Unretained(gpu_scheduler_.get()))); |
| 355 command_buffer_ = command_buffer.Pass(); | 362 command_buffer_ = command_buffer.Pass(); |
| (...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 842 } | 849 } |
| 843 #endif | 850 #endif |
| 844 | 851 |
| 845 // static | 852 // static |
| 846 void InProcessCommandBuffer::SetGpuMemoryBufferFactory( | 853 void InProcessCommandBuffer::SetGpuMemoryBufferFactory( |
| 847 InProcessGpuMemoryBufferFactory* factory) { | 854 InProcessGpuMemoryBufferFactory* factory) { |
| 848 g_gpu_memory_buffer_factory = factory; | 855 g_gpu_memory_buffer_factory = factory; |
| 849 } | 856 } |
| 850 | 857 |
| 851 } // namespace gpu | 858 } // namespace gpu |
| OLD | NEW |