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

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

Issue 540143002: InProcessGL: Share MailboxManager per service (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@clankium
Patch Set: rebase Created 6 years, 3 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 #ifndef GPU_COMMAND_BUFFER_SERVICE_IN_PROCESS_COMMAND_BUFFER_H_ 5 #ifndef GPU_COMMAND_BUFFER_SERVICE_IN_PROCESS_COMMAND_BUFFER_H_
6 #define GPU_COMMAND_BUFFER_SERVICE_IN_PROCESS_COMMAND_BUFFER_H_ 6 #define GPU_COMMAND_BUFFER_SERVICE_IN_PROCESS_COMMAND_BUFFER_H_
7 7
8 #include <map> 8 #include <map>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 30 matching lines...) Expand all
41 } 41 }
42 namespace gpu { 42 namespace gpu {
43 class StreamTextureManagerInProcess; 43 class StreamTextureManagerInProcess;
44 } 44 }
45 #endif 45 #endif
46 46
47 namespace gpu { 47 namespace gpu {
48 48
49 namespace gles2 { 49 namespace gles2 {
50 class GLES2Decoder; 50 class GLES2Decoder;
51 class MailboxManager;
51 class ShaderTranslatorCache; 52 class ShaderTranslatorCache;
52 } 53 }
53 54
54 class CommandBufferServiceBase; 55 class CommandBufferServiceBase;
55 class GpuScheduler; 56 class GpuScheduler;
56 class TransferBufferManagerInterface; 57 class TransferBufferManagerInterface;
57 58
58 // TODO(reveman): Remove this interface when InProcessCommandBuffer doesn't need 59 // TODO(reveman): Remove this interface when InProcessCommandBuffer doesn't need
59 // a custom factory interface and android_webview implementation of GPU memory 60 // a custom factory interface and android_webview implementation of GPU memory
60 // buffers can use the same mechanism for buffer allocation as what's used for 61 // buffers can use the same mechanism for buffer allocation as what's used for
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 // Queues a task to run as soon as possible. 147 // Queues a task to run as soon as possible.
147 virtual void ScheduleTask(const base::Closure& task) = 0; 148 virtual void ScheduleTask(const base::Closure& task) = 0;
148 149
149 // Schedules |callback| to run at an appropriate time for performing idle 150 // Schedules |callback| to run at an appropriate time for performing idle
150 // work. 151 // work.
151 virtual void ScheduleIdleWork(const base::Closure& task) = 0; 152 virtual void ScheduleIdleWork(const base::Closure& task) = 0;
152 153
153 virtual bool UseVirtualizedGLContexts() = 0; 154 virtual bool UseVirtualizedGLContexts() = 0;
154 virtual scoped_refptr<gles2::ShaderTranslatorCache> 155 virtual scoped_refptr<gles2::ShaderTranslatorCache>
155 shader_translator_cache() = 0; 156 shader_translator_cache() = 0;
157 scoped_refptr<gles2::MailboxManager> mailbox_manager();
158
159 private:
160 scoped_refptr<gles2::MailboxManager> mailbox_manager_;
156 }; 161 };
157 162
158 #if defined(OS_ANDROID) 163 #if defined(OS_ANDROID)
159 scoped_refptr<gfx::SurfaceTexture> GetSurfaceTexture( 164 scoped_refptr<gfx::SurfaceTexture> GetSurfaceTexture(
160 uint32 stream_id); 165 uint32 stream_id);
161 #endif 166 #endif
162 167
163 private: 168 private:
164 struct InitializeOnGpuThreadParams { 169 struct InitializeOnGpuThreadParams {
165 bool is_offscreen; 170 bool is_offscreen;
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 261
257 base::WeakPtr<InProcessCommandBuffer> gpu_thread_weak_ptr_; 262 base::WeakPtr<InProcessCommandBuffer> gpu_thread_weak_ptr_;
258 base::WeakPtrFactory<InProcessCommandBuffer> gpu_thread_weak_ptr_factory_; 263 base::WeakPtrFactory<InProcessCommandBuffer> gpu_thread_weak_ptr_factory_;
259 264
260 DISALLOW_COPY_AND_ASSIGN(InProcessCommandBuffer); 265 DISALLOW_COPY_AND_ASSIGN(InProcessCommandBuffer);
261 }; 266 };
262 267
263 } // namespace gpu 268 } // namespace gpu
264 269
265 #endif // GPU_COMMAND_BUFFER_SERVICE_IN_PROCESS_COMMAND_BUFFER_H_ 270 #endif // GPU_COMMAND_BUFFER_SERVICE_IN_PROCESS_COMMAND_BUFFER_H_
OLDNEW
« no previous file with comments | « content/public/browser/android/synchronous_compositor.h ('k') | gpu/command_buffer/service/in_process_command_buffer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698