| 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 |