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

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

Issue 681713002: Update from chromium https://crrev.com/301315 (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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 <queue> 7 #include <queue>
8 #include <set> 8 #include <set>
9 #include <utility> 9 #include <utility>
10 10
11 #include <GLES2/gl2.h>
12 #ifndef GL_GLEXT_PROTOTYPES
13 #define GL_GLEXT_PROTOTYPES 1
14 #endif
15 #include <GLES2/gl2ext.h>
16 #include <GLES2/gl2extchromium.h>
17
18 #include "base/bind.h" 11 #include "base/bind.h"
19 #include "base/bind_helpers.h" 12 #include "base/bind_helpers.h"
13 #include "base/command_line.h"
20 #include "base/lazy_instance.h" 14 #include "base/lazy_instance.h"
21 #include "base/logging.h" 15 #include "base/logging.h"
22 #include "base/memory/weak_ptr.h" 16 #include "base/memory/weak_ptr.h"
23 #include "base/message_loop/message_loop_proxy.h" 17 #include "base/message_loop/message_loop_proxy.h"
24 #include "base/sequence_checker.h" 18 #include "base/sequence_checker.h"
25 #include "base/synchronization/condition_variable.h" 19 #include "base/synchronization/condition_variable.h"
26 #include "base/threading/thread.h" 20 #include "base/threading/thread.h"
27 #include "gpu/command_buffer/service/command_buffer_service.h" 21 #include "gpu/command_buffer/service/command_buffer_service.h"
28 #include "gpu/command_buffer/service/context_group.h" 22 #include "gpu/command_buffer/service/context_group.h"
29 #include "gpu/command_buffer/service/gl_context_virtual.h" 23 #include "gpu/command_buffer/service/gl_context_virtual.h"
30 #include "gpu/command_buffer/service/gpu_scheduler.h" 24 #include "gpu/command_buffer/service/gpu_scheduler.h"
25 #include "gpu/command_buffer/service/gpu_switches.h"
31 #include "gpu/command_buffer/service/image_manager.h" 26 #include "gpu/command_buffer/service/image_manager.h"
32 #include "gpu/command_buffer/service/mailbox_manager.h" 27 #include "gpu/command_buffer/service/mailbox_manager_impl.h"
28 #include "gpu/command_buffer/service/mailbox_manager_sync.h"
33 #include "gpu/command_buffer/service/memory_tracking.h" 29 #include "gpu/command_buffer/service/memory_tracking.h"
34 #include "gpu/command_buffer/service/query_manager.h" 30 #include "gpu/command_buffer/service/query_manager.h"
35 #include "gpu/command_buffer/service/transfer_buffer_manager.h" 31 #include "gpu/command_buffer/service/transfer_buffer_manager.h"
36 #include "ui/gfx/size.h" 32 #include "ui/gfx/size.h"
37 #include "ui/gl/gl_context.h" 33 #include "ui/gl/gl_context.h"
38 #include "ui/gl/gl_image.h" 34 #include "ui/gl/gl_image.h"
39 #include "ui/gl/gl_share_group.h" 35 #include "ui/gl/gl_share_group.h"
40 36
41 #if defined(OS_ANDROID) 37 #if defined(OS_ANDROID)
42 #include "gpu/command_buffer/service/stream_texture_manager_in_process_android.h " 38 #include "gpu/command_buffer/service/stream_texture_manager_in_process_android.h "
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 LAZY_INSTANCE_INITIALIZER; 174 LAZY_INSTANCE_INITIALIZER;
179 175
180 } // anonyous namespace 176 } // anonyous namespace
181 177
182 InProcessCommandBuffer::Service::Service() {} 178 InProcessCommandBuffer::Service::Service() {}
183 179
184 InProcessCommandBuffer::Service::~Service() {} 180 InProcessCommandBuffer::Service::~Service() {}
185 181
186 scoped_refptr<gles2::MailboxManager> 182 scoped_refptr<gles2::MailboxManager>
187 InProcessCommandBuffer::Service::mailbox_manager() { 183 InProcessCommandBuffer::Service::mailbox_manager() {
188 if (!mailbox_manager_.get()) 184 if (!mailbox_manager_.get()) {
189 mailbox_manager_ = new gles2::MailboxManager(); 185 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
186 switches::kEnableThreadedTextureMailboxes)) {
187 mailbox_manager_ = new gles2::MailboxManagerSync();
188 } else {
189 mailbox_manager_ = new gles2::MailboxManagerImpl();
190 }
191 }
190 return mailbox_manager_; 192 return mailbox_manager_;
191 } 193 }
192 194
193 scoped_refptr<InProcessCommandBuffer::Service> 195 scoped_refptr<InProcessCommandBuffer::Service>
194 InProcessCommandBuffer::GetDefaultService() { 196 InProcessCommandBuffer::GetDefaultService() {
195 base::AutoLock lock(default_thread_clients_lock_.Get()); 197 base::AutoLock lock(default_thread_clients_lock_.Get());
196 scoped_refptr<Service> service; 198 scoped_refptr<Service> service;
197 if (!default_thread_clients_.Get().empty()) { 199 if (!default_thread_clients_.Get().empty()) {
198 InProcessCommandBuffer* other = *default_thread_clients_.Get().begin(); 200 InProcessCommandBuffer* other = *default_thread_clients_.Get().begin();
199 service = other->service_; 201 service = other->service_;
(...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after
783 785
784 #if defined(OS_ANDROID) 786 #if defined(OS_ANDROID)
785 scoped_refptr<gfx::SurfaceTexture> 787 scoped_refptr<gfx::SurfaceTexture>
786 InProcessCommandBuffer::GetSurfaceTexture(uint32 stream_id) { 788 InProcessCommandBuffer::GetSurfaceTexture(uint32 stream_id) {
787 DCHECK(stream_texture_manager_); 789 DCHECK(stream_texture_manager_);
788 return stream_texture_manager_->GetSurfaceTexture(stream_id); 790 return stream_texture_manager_->GetSurfaceTexture(stream_id);
789 } 791 }
790 #endif 792 #endif
791 793
792 } // namespace gpu 794 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/gpu_switches.cc ('k') | gpu/command_buffer/service/mailbox_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698