OLD | NEW |
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 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 | 83 |
84 base::ProcessId renderer_pid() const { return channel_->peer_pid(); } | 84 base::ProcessId renderer_pid() const { return channel_->peer_pid(); } |
85 | 85 |
86 // IPC::Listener implementation: | 86 // IPC::Listener implementation: |
87 virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE; | 87 virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE; |
88 virtual void OnChannelError() OVERRIDE; | 88 virtual void OnChannelError() OVERRIDE; |
89 | 89 |
90 // IPC::Sender implementation: | 90 // IPC::Sender implementation: |
91 virtual bool Send(IPC::Message* msg) OVERRIDE; | 91 virtual bool Send(IPC::Message* msg) OVERRIDE; |
92 | 92 |
| 93 // Requeue the message that is currently being processed to the beginning of |
| 94 // the queue. Used when the processing of a message gets aborted because of |
| 95 // unscheduling conditions. |
| 96 void RequeueMessage(); |
| 97 |
93 // This is called when a command buffer transitions from the unscheduled | 98 // This is called when a command buffer transitions from the unscheduled |
94 // state to the scheduled state, which potentially means the channel | 99 // state to the scheduled state, which potentially means the channel |
95 // transitions from the unscheduled to the scheduled state. When this occurs | 100 // transitions from the unscheduled to the scheduled state. When this occurs |
96 // deferred IPC messaged are handled. | 101 // deferred IPC messaged are handled. |
97 void OnScheduled(); | 102 void OnScheduled(); |
98 | 103 |
99 void CreateViewCommandBuffer( | 104 void CreateViewCommandBuffer( |
100 const gfx::GLSurfaceHandle& window, | 105 const gfx::GLSurfaceHandle& window, |
101 int32 surface_id, | 106 int32 surface_id, |
102 const GPUCreateCommandBufferConfig& init_params, | 107 const GPUCreateCommandBufferConfig& init_params, |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 typedef IDMap<GpuCommandBufferStub, IDMapOwnPointer> StubMap; | 217 typedef IDMap<GpuCommandBufferStub, IDMapOwnPointer> StubMap; |
213 StubMap stubs_; | 218 StubMap stubs_; |
214 #endif // defined (ENABLE_GPU) | 219 #endif // defined (ENABLE_GPU) |
215 | 220 |
216 bool log_messages_; // True if we should log sent and received messages. | 221 bool log_messages_; // True if we should log sent and received messages. |
217 gpu::gles2::DisallowedFeatures disallowed_features_; | 222 gpu::gles2::DisallowedFeatures disallowed_features_; |
218 GpuWatchdog* watchdog_; | 223 GpuWatchdog* watchdog_; |
219 bool software_; | 224 bool software_; |
220 bool handle_messages_scheduled_; | 225 bool handle_messages_scheduled_; |
221 bool processed_get_state_fast_; | 226 bool processed_get_state_fast_; |
| 227 IPC::Message* currently_processing_message_; |
222 | 228 |
223 #if defined(OS_ANDROID) | 229 #if defined(OS_ANDROID) |
224 scoped_ptr<StreamTextureManagerAndroid> stream_texture_manager_; | 230 scoped_ptr<StreamTextureManagerAndroid> stream_texture_manager_; |
225 #endif | 231 #endif |
226 | 232 |
227 base::WeakPtrFactory<GpuChannel> weak_factory_; | 233 base::WeakPtrFactory<GpuChannel> weak_factory_; |
228 | 234 |
229 DISALLOW_COPY_AND_ASSIGN(GpuChannel); | 235 DISALLOW_COPY_AND_ASSIGN(GpuChannel); |
230 }; | 236 }; |
231 | 237 |
232 } // namespace content | 238 } // namespace content |
233 | 239 |
234 #endif // CONTENT_COMMON_GPU_GPU_CHANNEL_H_ | 240 #endif // CONTENT_COMMON_GPU_GPU_CHANNEL_H_ |
OLD | NEW |