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

Side by Side Diff: content/common/gpu/gpu_channel.h

Issue 11227033: Move a bunch of code in content\common (as well as a few left in renderer) to the content namespace. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix cros Created 8 years, 2 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 CONTENT_COMMON_GPU_GPU_CHANNEL_H_ 5 #ifndef CONTENT_COMMON_GPU_GPU_CHANNEL_H_
6 #define CONTENT_COMMON_GPU_GPU_CHANNEL_H_ 6 #define CONTENT_COMMON_GPU_GPU_CHANNEL_H_
7 7
8 #include <deque> 8 #include <deque>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 10 matching lines...) Expand all
21 #include "ipc/ipc_sync_channel.h" 21 #include "ipc/ipc_sync_channel.h"
22 #include "ui/gfx/native_widget_types.h" 22 #include "ui/gfx/native_widget_types.h"
23 #include "ui/gfx/size.h" 23 #include "ui/gfx/size.h"
24 #include "ui/gl/gl_share_group.h" 24 #include "ui/gl/gl_share_group.h"
25 #include "ui/gl/gpu_preference.h" 25 #include "ui/gl/gpu_preference.h"
26 26
27 #if defined(OS_ANDROID) 27 #if defined(OS_ANDROID)
28 #include "content/common/android/surface_texture_peer.h" 28 #include "content/common/android/surface_texture_peer.h"
29 #endif 29 #endif
30 30
31 class GpuChannelManager;
32 struct GPUCreateCommandBufferConfig; 31 struct GPUCreateCommandBufferConfig;
33 class GpuWatchdog;
34 32
35 namespace base { 33 namespace base {
36 class MessageLoopProxy; 34 class MessageLoopProxy;
37 class WaitableEvent; 35 class WaitableEvent;
38 } 36 }
39 37
40 namespace gpu { 38 namespace gpu {
41 struct RefCountedCounter; 39 struct RefCountedCounter;
42 namespace gles2 { 40 namespace gles2 {
43 class ImageManager; 41 class ImageManager;
44 } 42 }
45 } 43 }
46 44
47 #if defined(OS_ANDROID) 45 #if defined(OS_ANDROID)
48 namespace content { 46 namespace content {
49 class StreamTextureManagerAndroid; 47 class StreamTextureManagerAndroid;
50 } 48 }
51 #endif 49 #endif
52 50
51 namespace content {
52 class GpuChannelManager;
53 class GpuWatchdog;
54
53 // Encapsulates an IPC channel between the GPU process and one renderer 55 // Encapsulates an IPC channel between the GPU process and one renderer
54 // process. On the renderer side there's a corresponding GpuChannelHost. 56 // process. On the renderer side there's a corresponding GpuChannelHost.
55 class GpuChannel : public IPC::Listener, 57 class GpuChannel : public IPC::Listener,
56 public IPC::Sender, 58 public IPC::Sender,
57 public base::RefCountedThreadSafe<GpuChannel> { 59 public base::RefCountedThreadSafe<GpuChannel> {
58 public: 60 public:
59 // Takes ownership of the renderer process handle. 61 // Takes ownership of the renderer process handle.
60 GpuChannel(GpuChannelManager* gpu_channel_manager, 62 GpuChannel(GpuChannelManager* gpu_channel_manager,
61 GpuWatchdog* watchdog, 63 GpuWatchdog* watchdog,
62 gfx::GLShareGroup* share_group, 64 gfx::GLShareGroup* share_group,
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 gpu::RefCountedCounter* MessagesPendingCount() { 130 gpu::RefCountedCounter* MessagesPendingCount() {
129 return unprocessed_messages_.get(); 131 return unprocessed_messages_.get();
130 } 132 }
131 133
132 // If preempt_by_counter->count is non-zero, any stub on this channel 134 // If preempt_by_counter->count is non-zero, any stub on this channel
133 // should stop issuing GL commands. Setting this to NULL stops deferral. 135 // should stop issuing GL commands. Setting this to NULL stops deferral.
134 void SetPreemptByCounter( 136 void SetPreemptByCounter(
135 scoped_refptr<gpu::RefCountedCounter> preempt_by_counter); 137 scoped_refptr<gpu::RefCountedCounter> preempt_by_counter);
136 138
137 #if defined(OS_ANDROID) 139 #if defined(OS_ANDROID)
138 content::StreamTextureManagerAndroid* stream_texture_manager() { 140 StreamTextureManagerAndroid* stream_texture_manager() {
139 return stream_texture_manager_.get(); 141 return stream_texture_manager_.get();
140 } 142 }
141 #endif 143 #endif
142 144
143 protected: 145 protected:
144 virtual ~GpuChannel(); 146 virtual ~GpuChannel();
145 147
146 private: 148 private:
147 friend class base::RefCountedThreadSafe<GpuChannel>; 149 friend class base::RefCountedThreadSafe<GpuChannel>;
148 150
(...skipping 12 matching lines...) Expand all
161 163
162 #if defined(OS_ANDROID) 164 #if defined(OS_ANDROID)
163 // Register the StreamTextureProxy class with the gpu process so that all 165 // Register the StreamTextureProxy class with the gpu process so that all
164 // the callbacks will be correctly forwarded to the renderer. 166 // the callbacks will be correctly forwarded to the renderer.
165 void OnRegisterStreamTextureProxy( 167 void OnRegisterStreamTextureProxy(
166 int32 stream_id, const gfx::Size& initial_size, int32* route_id); 168 int32 stream_id, const gfx::Size& initial_size, int32* route_id);
167 169
168 // Create a java surface texture object and send it to the renderer process 170 // Create a java surface texture object and send it to the renderer process
169 // through binder thread. 171 // through binder thread.
170 void OnEstablishStreamTexture( 172 void OnEstablishStreamTexture(
171 int32 stream_id, content::SurfaceTexturePeer::SurfaceTextureTarget type, 173 int32 stream_id, SurfaceTexturePeer::SurfaceTextureTarget type,
172 int32 primary_id, int32 secondary_id); 174 int32 primary_id, int32 secondary_id);
173 #endif 175 #endif
174 176
175 // Collect rendering stats. 177 // Collect rendering stats.
176 void OnCollectRenderingStatsForSurface( 178 void OnCollectRenderingStatsForSurface(
177 int32 surface_id, IPC::Message* reply_message); 179 int32 surface_id, IPC::Message* reply_message);
178 180
179 // The lifetime of objects of this class is managed by a GpuChannelManager. 181 // The lifetime of objects of this class is managed by a GpuChannelManager.
180 // The GpuChannelManager destroy all the GpuChannels that they own when they 182 // The GpuChannelManager destroy all the GpuChannels that they own when they
181 // are destroyed. So a raw pointer is safe. 183 // are destroyed. So a raw pointer is safe.
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 #endif // defined (ENABLE_GPU) 217 #endif // defined (ENABLE_GPU)
216 218
217 bool log_messages_; // True if we should log sent and received messages. 219 bool log_messages_; // True if we should log sent and received messages.
218 gpu::gles2::DisallowedFeatures disallowed_features_; 220 gpu::gles2::DisallowedFeatures disallowed_features_;
219 GpuWatchdog* watchdog_; 221 GpuWatchdog* watchdog_;
220 bool software_; 222 bool software_;
221 bool handle_messages_scheduled_; 223 bool handle_messages_scheduled_;
222 bool processed_get_state_fast_; 224 bool processed_get_state_fast_;
223 225
224 #if defined(OS_ANDROID) 226 #if defined(OS_ANDROID)
225 scoped_ptr<content::StreamTextureManagerAndroid> stream_texture_manager_; 227 scoped_ptr<StreamTextureManagerAndroid> stream_texture_manager_;
226 #endif 228 #endif
227 229
228 base::WeakPtrFactory<GpuChannel> weak_factory_; 230 base::WeakPtrFactory<GpuChannel> weak_factory_;
229 231
230 DISALLOW_COPY_AND_ASSIGN(GpuChannel); 232 DISALLOW_COPY_AND_ASSIGN(GpuChannel);
231 }; 233 };
232 234
235 } // namespace content
236
233 #endif // CONTENT_COMMON_GPU_GPU_CHANNEL_H_ 237 #endif // CONTENT_COMMON_GPU_GPU_CHANNEL_H_
OLDNEW
« no previous file with comments | « content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.cc ('k') | content/common/gpu/gpu_channel.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698