OLD | NEW |
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2014 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_BROWSER_GPU_GPU_MEMORY_BUFFER_FACTORY_HOST_IMPL_H_ | 5 #ifndef CONTENT_BROWSER_GPU_GPU_MEMORY_BUFFER_FACTORY_HOST_IMPL_H_ |
6 #define CONTENT_BROWSER_GPU_GPU_MEMORY_BUFFER_FACTORY_HOST_IMPL_H_ | 6 #define CONTENT_BROWSER_GPU_GPU_MEMORY_BUFFER_FACTORY_HOST_IMPL_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 | 9 |
10 #include "content/common/gpu/client/gpu_memory_buffer_factory_host.h" | 10 #include "content/common/gpu/client/gpu_memory_buffer_factory_host.h" |
11 | 11 |
12 namespace content { | 12 namespace content { |
13 | 13 |
14 class CONTENT_EXPORT GpuMemoryBufferFactoryHostImpl | 14 class CONTENT_EXPORT GpuMemoryBufferFactoryHostImpl |
15 : public GpuMemoryBufferFactoryHost { | 15 : public GpuMemoryBufferFactoryHost { |
16 public: | 16 public: |
17 GpuMemoryBufferFactoryHostImpl(); | 17 GpuMemoryBufferFactoryHostImpl(); |
18 ~GpuMemoryBufferFactoryHostImpl() override; | 18 ~GpuMemoryBufferFactoryHostImpl() override; |
19 | 19 |
20 // Overridden from GpuMemoryBufferFactoryHost: | 20 // Overridden from GpuMemoryBufferFactoryHost: |
21 void CreateGpuMemoryBuffer( | 21 void CreateGpuMemoryBuffer( |
22 const gfx::GpuMemoryBufferHandle& handle, | 22 gfx::GpuMemoryBufferType type, |
| 23 gfx::GpuMemoryBufferId id, |
23 const gfx::Size& size, | 24 const gfx::Size& size, |
24 gfx::GpuMemoryBuffer::Format format, | 25 gfx::GpuMemoryBuffer::Format format, |
25 gfx::GpuMemoryBuffer::Usage usage, | 26 gfx::GpuMemoryBuffer::Usage usage, |
| 27 int client_id, |
26 const CreateGpuMemoryBufferCallback& callback) override; | 28 const CreateGpuMemoryBufferCallback& callback) override; |
27 void DestroyGpuMemoryBuffer(const gfx::GpuMemoryBufferHandle& handle, | 29 void DestroyGpuMemoryBuffer(gfx::GpuMemoryBufferType type, |
| 30 gfx::GpuMemoryBufferId id, |
| 31 int client_id, |
28 int32 sync_point) override; | 32 int32 sync_point) override; |
29 | 33 |
30 void set_gpu_host_id(int gpu_host_id) { gpu_host_id_ = gpu_host_id; } | 34 void set_gpu_host_id(int gpu_host_id) { gpu_host_id_ = gpu_host_id; } |
31 | 35 |
32 private: | 36 private: |
33 void CreateGpuMemoryBufferOnIO(const gfx::GpuMemoryBufferHandle& handle, | 37 void DestroyGpuMemoryBufferOnIO(gfx::GpuMemoryBufferType type, |
34 const gfx::Size& size, | 38 gfx::GpuMemoryBufferId id, |
35 gfx::GpuMemoryBuffer::Format format, | 39 int client_id, |
36 gfx::GpuMemoryBuffer::Usage usage, | |
37 const CreateGpuMemoryBufferCallback& callback); | |
38 void DestroyGpuMemoryBufferOnIO(const gfx::GpuMemoryBufferHandle& handle, | |
39 int32 sync_point); | 40 int32 sync_point); |
40 void OnGpuMemoryBufferCreated(uint32 request_id, | 41 void OnGpuMemoryBufferCreated(uint32 request_id, |
41 const gfx::GpuMemoryBufferHandle& handle); | 42 const gfx::GpuMemoryBufferHandle& handle); |
42 | 43 |
43 int gpu_host_id_; | 44 int gpu_host_id_; |
44 uint32 next_create_gpu_memory_buffer_request_id_; | 45 uint32 next_create_gpu_memory_buffer_request_id_; |
45 typedef std::map<uint32, CreateGpuMemoryBufferCallback> | 46 typedef std::map<uint32, CreateGpuMemoryBufferCallback> |
46 CreateGpuMemoryBufferCallbackMap; | 47 CreateGpuMemoryBufferCallbackMap; |
47 CreateGpuMemoryBufferCallbackMap create_gpu_memory_buffer_requests_; | 48 CreateGpuMemoryBufferCallbackMap create_gpu_memory_buffer_requests_; |
48 | 49 |
49 DISALLOW_COPY_AND_ASSIGN(GpuMemoryBufferFactoryHostImpl); | 50 DISALLOW_COPY_AND_ASSIGN(GpuMemoryBufferFactoryHostImpl); |
50 }; | 51 }; |
51 | 52 |
52 } // namespace content | 53 } // namespace content |
53 | 54 |
54 #endif // CONTENT_BROWSER_GPU_GPU_MEMORY_BUFFER_FACTORY_HOST_IMPL_H_ | 55 #endif // CONTENT_BROWSER_GPU_GPU_MEMORY_BUFFER_FACTORY_HOST_IMPL_H_ |
OLD | NEW |