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 | 10 |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 // the queue. Used when the processing of a message gets aborted because of | 95 // the queue. Used when the processing of a message gets aborted because of |
96 // unscheduling conditions. | 96 // unscheduling conditions. |
97 void RequeueMessage(); | 97 void RequeueMessage(); |
98 | 98 |
99 // This is called when a command buffer transitions from the unscheduled | 99 // This is called when a command buffer transitions from the unscheduled |
100 // state to the scheduled state, which potentially means the channel | 100 // state to the scheduled state, which potentially means the channel |
101 // transitions from the unscheduled to the scheduled state. When this occurs | 101 // transitions from the unscheduled to the scheduled state. When this occurs |
102 // deferred IPC messaged are handled. | 102 // deferred IPC messaged are handled. |
103 void OnScheduled(); | 103 void OnScheduled(); |
104 | 104 |
| 105 // This is called when a command buffer transitions between scheduled and |
| 106 // descheduled states. When any stub is descheduled, we stop preempting |
| 107 // other channels. |
| 108 void StubSchedulingChanged(); |
| 109 |
105 void CreateViewCommandBuffer( | 110 void CreateViewCommandBuffer( |
106 const gfx::GLSurfaceHandle& window, | 111 const gfx::GLSurfaceHandle& window, |
107 int32 surface_id, | 112 int32 surface_id, |
108 const GPUCreateCommandBufferConfig& init_params, | 113 const GPUCreateCommandBufferConfig& init_params, |
109 int32* route_id); | 114 int32* route_id); |
110 | 115 |
111 void CreateImage( | 116 void CreateImage( |
112 gfx::PluginWindowHandle window, | 117 gfx::PluginWindowHandle window, |
113 int32 image_id, | 118 int32 image_id, |
114 gfx::Size* size); | 119 gfx::Size* size); |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
233 | 238 |
234 #if defined(OS_ANDROID) | 239 #if defined(OS_ANDROID) |
235 scoped_ptr<StreamTextureManagerAndroid> stream_texture_manager_; | 240 scoped_ptr<StreamTextureManagerAndroid> stream_texture_manager_; |
236 #endif | 241 #endif |
237 | 242 |
238 base::WeakPtrFactory<GpuChannel> weak_factory_; | 243 base::WeakPtrFactory<GpuChannel> weak_factory_; |
239 | 244 |
240 scoped_refptr<SyncPointMessageFilter> filter_; | 245 scoped_refptr<SyncPointMessageFilter> filter_; |
241 scoped_refptr<base::MessageLoopProxy> io_message_loop_; | 246 scoped_refptr<base::MessageLoopProxy> io_message_loop_; |
242 | 247 |
| 248 bool a_stub_is_descheduled_; |
| 249 |
243 DISALLOW_COPY_AND_ASSIGN(GpuChannel); | 250 DISALLOW_COPY_AND_ASSIGN(GpuChannel); |
244 }; | 251 }; |
245 | 252 |
246 } // namespace content | 253 } // namespace content |
247 | 254 |
248 #endif // CONTENT_COMMON_GPU_GPU_CHANNEL_H_ | 255 #endif // CONTENT_COMMON_GPU_GPU_CHANNEL_H_ |
OLD | NEW |