| Index: services/ui/public/cpp/mojo_gpu_memory_buffer_manager.h
|
| diff --git a/services/ui/public/cpp/mojo_gpu_memory_buffer_manager.h b/services/ui/public/cpp/mojo_gpu_memory_buffer_manager.h
|
| index 1d8e0986db82ef8ee396b41d1b683f9a975d36db..1ab48f2bff877e3a6a7103f93e717b3413befcc1 100644
|
| --- a/services/ui/public/cpp/mojo_gpu_memory_buffer_manager.h
|
| +++ b/services/ui/public/cpp/mojo_gpu_memory_buffer_manager.h
|
| @@ -10,9 +10,8 @@
|
|
|
| #include "base/macros.h"
|
| #include "base/memory/ref_counted.h"
|
| -#include "base/memory/weak_ptr.h"
|
| #include "base/threading/thread.h"
|
| -#include "gpu/command_buffer/client/gpu_memory_buffer_manager.h"
|
| +#include "gpu/ipc/client/client_gpu_memory_buffer_manager.h"
|
| #include "services/ui/public/interfaces/gpu_service.mojom.h"
|
|
|
| namespace base {
|
| @@ -29,11 +28,16 @@ namespace mojom {
|
| class GpuService;
|
| }
|
|
|
| -class MojoGpuMemoryBufferManager : public gpu::GpuMemoryBufferManager {
|
| +class MojoGpuMemoryBufferManager
|
| + : public gpu::ClientGpuMemoryBufferManager::Delegate {
|
| public:
|
| explicit MojoGpuMemoryBufferManager(service_manager::Connector* connector);
|
| ~MojoGpuMemoryBufferManager() override;
|
|
|
| + gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager() {
|
| + return gpu_memory_buffer_manager_.get();
|
| + }
|
| +
|
| private:
|
| void InitThread();
|
| void TearDownThread();
|
| @@ -42,29 +46,21 @@ class MojoGpuMemoryBufferManager : public gpu::GpuMemoryBufferManager {
|
| gfx::BufferUsage usage,
|
| gfx::GpuMemoryBufferHandle* handle,
|
| base::WaitableEvent* wait);
|
| - void DeletedGpuMemoryBuffer(gfx::GpuMemoryBufferId id,
|
| - const gpu::SyncToken& sync_token);
|
|
|
| - // Overridden from gpu::GpuMemoryBufferManager:
|
| - std::unique_ptr<gfx::GpuMemoryBuffer> AllocateGpuMemoryBuffer(
|
| + // gpu::ClientGpuMemoryBufferManager::Delegate:
|
| + gfx::GpuMemoryBufferHandle GetSharedMemoryHandle(
|
| const gfx::Size& size,
|
| gfx::BufferFormat format,
|
| - gfx::BufferUsage usage,
|
| - gpu::SurfaceHandle surface_handle) override;
|
| - std::unique_ptr<gfx::GpuMemoryBuffer> CreateGpuMemoryBufferFromHandle(
|
| - const gfx::GpuMemoryBufferHandle& handle,
|
| - const gfx::Size& size,
|
| - gfx::BufferFormat format) override;
|
| - gfx::GpuMemoryBuffer* GpuMemoryBufferFromClientBuffer(
|
| - ClientBuffer buffer) override;
|
| - void SetDestructionSyncToken(gfx::GpuMemoryBuffer* buffer,
|
| - const gpu::SyncToken& sync_token) override;
|
| + gfx::BufferUsage usage) override;
|
| + void DeletedGpuMemoryBuffer(gfx::GpuMemoryBufferId id,
|
| + const gpu::SyncToken& token) override;
|
| +
|
| int counter_ = 0;
|
| // TODO(sad): Explore the option of doing this from an existing thread.
|
| base::Thread thread_;
|
| + scoped_refptr<gpu::ClientGpuMemoryBufferManager> gpu_memory_buffer_manager_;
|
| mojom::GpuServicePtr gpu_service_;
|
| std::unique_ptr<service_manager::Connector> connector_;
|
| - base::WeakPtrFactory<MojoGpuMemoryBufferManager> weak_ptr_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(MojoGpuMemoryBufferManager);
|
| };
|
|
|