| 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 <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 166 // Returns the shared sync point global order data for the stream. | 166 // Returns the shared sync point global order data for the stream. |
| 167 scoped_refptr<gpu::SyncPointOrderData> GetSyncPointOrderData( | 167 scoped_refptr<gpu::SyncPointOrderData> GetSyncPointOrderData( |
| 168 int32_t stream_id); | 168 int32_t stream_id); |
| 169 | 169 |
| 170 void PostHandleOutOfOrderMessage(const IPC::Message& message); | 170 void PostHandleOutOfOrderMessage(const IPC::Message& message); |
| 171 void PostHandleMessage(const scoped_refptr<GpuChannelMessageQueue>& queue); | 171 void PostHandleMessage(const scoped_refptr<GpuChannelMessageQueue>& queue); |
| 172 | 172 |
| 173 // Synchronously handle the message to make testing convenient. | 173 // Synchronously handle the message to make testing convenient. |
| 174 void HandleMessageForTesting(const IPC::Message& msg); | 174 void HandleMessageForTesting(const IPC::Message& msg); |
| 175 | 175 |
| 176 #if defined(OS_ANDROID) | |
| 177 const GpuCommandBufferStub* GetOneStub() const; | 176 const GpuCommandBufferStub* GetOneStub() const; |
| 178 #endif | |
| 179 | 177 |
| 180 protected: | 178 protected: |
| 181 // The message filter on the io thread. | 179 // The message filter on the io thread. |
| 182 scoped_refptr<GpuChannelMessageFilter> filter_; | 180 scoped_refptr<GpuChannelMessageFilter> filter_; |
| 183 | 181 |
| 184 // Map of routing id to command buffer stub. | 182 // Map of routing id to command buffer stub. |
| 185 base::ScopedPtrHashMap<int32_t, scoped_ptr<GpuCommandBufferStub>> stubs_; | 183 base::ScopedPtrHashMap<int32_t, scoped_ptr<GpuCommandBufferStub>> stubs_; |
| 186 | 184 |
| 187 private: | 185 private: |
| 188 bool OnControlMessageReceived(const IPC::Message& msg); | 186 bool OnControlMessageReceived(const IPC::Message& msg); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 208 void AddRouteToStream(int32_t route_id, int32_t stream_id); | 206 void AddRouteToStream(int32_t route_id, int32_t stream_id); |
| 209 void RemoveRouteFromStream(int32_t route_id); | 207 void RemoveRouteFromStream(int32_t route_id); |
| 210 | 208 |
| 211 // Message handlers for control messages. | 209 // Message handlers for control messages. |
| 212 void OnCreateCommandBuffer(gpu::SurfaceHandle surface_handle, | 210 void OnCreateCommandBuffer(gpu::SurfaceHandle surface_handle, |
| 213 const gfx::Size& size, | 211 const gfx::Size& size, |
| 214 const GPUCreateCommandBufferConfig& init_params, | 212 const GPUCreateCommandBufferConfig& init_params, |
| 215 int32_t route_id, | 213 int32_t route_id, |
| 216 bool* succeeded); | 214 bool* succeeded); |
| 217 void OnDestroyCommandBuffer(int32_t route_id); | 215 void OnDestroyCommandBuffer(int32_t route_id); |
| 218 | 216 void OnGetDriverBugWorkArounds( |
| 217 std::vector<std::string>* gpu_driver_bug_workarounds); |
| 219 | 218 |
| 220 // The lifetime of objects of this class is managed by a GpuChannelManager. | 219 // The lifetime of objects of this class is managed by a GpuChannelManager. |
| 221 // The GpuChannelManager destroy all the GpuChannels that they own when they | 220 // The GpuChannelManager destroy all the GpuChannels that they own when they |
| 222 // are destroyed. So a raw pointer is safe. | 221 // are destroyed. So a raw pointer is safe. |
| 223 GpuChannelManager* const gpu_channel_manager_; | 222 GpuChannelManager* const gpu_channel_manager_; |
| 224 | 223 |
| 225 // Sync point manager. Outlives the channel and is guaranteed to outlive the | 224 // Sync point manager. Outlives the channel and is guaranteed to outlive the |
| 226 // message loop. | 225 // message loop. |
| 227 gpu::SyncPointManager* const sync_point_manager_; | 226 gpu::SyncPointManager* const sync_point_manager_; |
| 228 | 227 |
| (...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 474 scoped_refptr<gpu::PreemptionFlag> preempting_flag_; | 473 scoped_refptr<gpu::PreemptionFlag> preempting_flag_; |
| 475 scoped_refptr<gpu::PreemptionFlag> preempted_flag_; | 474 scoped_refptr<gpu::PreemptionFlag> preempted_flag_; |
| 476 gpu::SyncPointManager* const sync_point_manager_; | 475 gpu::SyncPointManager* const sync_point_manager_; |
| 477 | 476 |
| 478 DISALLOW_COPY_AND_ASSIGN(GpuChannelMessageQueue); | 477 DISALLOW_COPY_AND_ASSIGN(GpuChannelMessageQueue); |
| 479 }; | 478 }; |
| 480 | 479 |
| 481 } // namespace content | 480 } // namespace content |
| 482 | 481 |
| 483 #endif // CONTENT_COMMON_GPU_GPU_CHANNEL_H_ | 482 #endif // CONTENT_COMMON_GPU_GPU_CHANNEL_H_ |
| OLD | NEW |