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_CLIENT_GPU_CHANNEL_HOST_H_ | 5 #ifndef CONTENT_COMMON_GPU_CLIENT_GPU_CHANNEL_HOST_H_ |
6 #define CONTENT_COMMON_GPU_CLIENT_GPU_CHANNEL_HOST_H_ | 6 #define CONTENT_COMMON_GPU_CLIENT_GPU_CHANNEL_HOST_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 const GPUCreateCommandBufferConfig& init_params, | 73 const GPUCreateCommandBufferConfig& init_params, |
74 int32 route_id) = 0; | 74 int32 route_id) = 0; |
75 virtual void CreateImage( | 75 virtual void CreateImage( |
76 gfx::PluginWindowHandle window, | 76 gfx::PluginWindowHandle window, |
77 int32 image_id, | 77 int32 image_id, |
78 const CreateImageCallback& callback) = 0; | 78 const CreateImageCallback& callback) = 0; |
79 virtual void DeleteImage(int32 image_id, int32 sync_point) = 0; | 79 virtual void DeleteImage(int32 image_id, int32 sync_point) = 0; |
80 virtual scoped_ptr<gfx::GpuMemoryBuffer> AllocateGpuMemoryBuffer( | 80 virtual scoped_ptr<gfx::GpuMemoryBuffer> AllocateGpuMemoryBuffer( |
81 size_t width, | 81 size_t width, |
82 size_t height, | 82 size_t height, |
83 unsigned internalformat) = 0; | 83 unsigned internalformat, |
| 84 gfx::GpuMemoryBuffer::Usage usage) = 0; |
84 }; | 85 }; |
85 | 86 |
86 // Encapsulates an IPC channel between the client and one GPU process. | 87 // Encapsulates an IPC channel between the client and one GPU process. |
87 // On the GPU process side there's a corresponding GpuChannel. | 88 // On the GPU process side there's a corresponding GpuChannel. |
88 // Every method can be called on any thread with a message loop, except for the | 89 // Every method can be called on any thread with a message loop, except for the |
89 // IO thread. | 90 // IO thread. |
90 class GpuChannelHost : public IPC::Sender, | 91 class GpuChannelHost : public IPC::Sender, |
91 public base::RefCountedThreadSafe<GpuChannelHost> { | 92 public base::RefCountedThreadSafe<GpuChannelHost> { |
92 public: | 93 public: |
93 // Must be called on the main thread (as defined by the factory). | 94 // Must be called on the main thread (as defined by the factory). |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 // Used to look up a proxy from its routing id. | 244 // Used to look up a proxy from its routing id. |
244 typedef base::hash_map<int, CommandBufferProxyImpl*> ProxyMap; | 245 typedef base::hash_map<int, CommandBufferProxyImpl*> ProxyMap; |
245 ProxyMap proxies_; | 246 ProxyMap proxies_; |
246 | 247 |
247 DISALLOW_COPY_AND_ASSIGN(GpuChannelHost); | 248 DISALLOW_COPY_AND_ASSIGN(GpuChannelHost); |
248 }; | 249 }; |
249 | 250 |
250 } // namespace content | 251 } // namespace content |
251 | 252 |
252 #endif // CONTENT_COMMON_GPU_CLIENT_GPU_CHANNEL_HOST_H_ | 253 #endif // CONTENT_COMMON_GPU_CLIENT_GPU_CHANNEL_HOST_H_ |
OLD | NEW |