| OLD | NEW | 
|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 SERVICES_UI_SURFACES_MUS_GPU_MEMORY_BUFFER_MANAGER_H_ | 5 #ifndef SERVICES_UI_SURFACES_MUS_GPU_MEMORY_BUFFER_MANAGER_H_ | 
| 6 #define SERVICES_UI_SURFACES_MUS_GPU_MEMORY_BUFFER_MANAGER_H_ | 6 #define SERVICES_UI_SURFACES_MUS_GPU_MEMORY_BUFFER_MANAGER_H_ | 
| 7 | 7 | 
| 8 #include <memory> | 8 #include <memory> | 
| 9 | 9 | 
| 10 #include "base/macros.h" | 10 #include "base/macros.h" | 
| 11 #include "base/memory/weak_ptr.h" | 11 #include "base/memory/weak_ptr.h" | 
| 12 #include "gpu/command_buffer/client/gpu_memory_buffer_manager.h" | 12 #include "gpu/command_buffer/client/gpu_memory_buffer_manager.h" | 
| 13 #include "services/ui/gpu/interfaces/gpu_service_internal.mojom.h" | 13 #include "services/ui/gpu/interfaces/gpu_service_internal.mojom.h" | 
| 14 | 14 | 
| 15 namespace ui { | 15 namespace ui { | 
| 16 | 16 | 
| 17 // This GpuMemoryBufferManager is for establishing a GpuChannelHost used by | 17 // This GpuMemoryBufferManager is for establishing a GpuChannelHost used by | 
| 18 // mus locally. | 18 // mus locally. | 
| 19 class MusGpuMemoryBufferManager : public gpu::GpuMemoryBufferManager { | 19 class MusGpuMemoryBufferManager : public gpu::GpuMemoryBufferManager { | 
| 20  public: | 20  public: | 
| 21   MusGpuMemoryBufferManager(mojom::GpuServiceInternalPtr gpu_service, | 21   MusGpuMemoryBufferManager(mojom::GpuServiceInternalPtr gpu_service, | 
| 22                             int client_id); | 22                             int client_id); | 
| 23   ~MusGpuMemoryBufferManager() override; | 23   ~MusGpuMemoryBufferManager() override; | 
| 24 | 24 | 
| 25   // Overridden from gpu::GpuMemoryBufferManager: | 25   // Overridden from gpu::GpuMemoryBufferManager: | 
| 26   std::unique_ptr<gfx::GpuMemoryBuffer> AllocateGpuMemoryBuffer( | 26   std::unique_ptr<gfx::GpuMemoryBuffer> CreateGpuMemoryBuffer( | 
| 27       const gfx::Size& size, | 27       const gfx::Size& size, | 
| 28       gfx::BufferFormat format, | 28       gfx::BufferFormat format, | 
| 29       gfx::BufferUsage usage, | 29       gfx::BufferUsage usage, | 
| 30       gpu::SurfaceHandle surface_handle) override; | 30       gpu::SurfaceHandle surface_handle) override; | 
| 31   std::unique_ptr<gfx::GpuMemoryBuffer> CreateGpuMemoryBufferFromHandle( | 31   std::unique_ptr<gfx::GpuMemoryBuffer> CreateGpuMemoryBufferFromHandle( | 
| 32       const gfx::GpuMemoryBufferHandle& handle, | 32       const gfx::GpuMemoryBufferHandle& handle, | 
| 33       const gfx::Size& size, | 33       const gfx::Size& size, | 
| 34       gfx::BufferFormat format) override; | 34       gfx::BufferFormat format) override; | 
| 35   void SetDestructionSyncToken(gfx::GpuMemoryBuffer* buffer, | 35   void SetDestructionSyncToken(gfx::GpuMemoryBuffer* buffer, | 
| 36                                const gpu::SyncToken& sync_token) override; | 36                                const gpu::SyncToken& sync_token) override; | 
| 37 | 37 | 
| 38  private: | 38  private: | 
| 39   DISALLOW_COPY_AND_ASSIGN(MusGpuMemoryBufferManager); | 39   DISALLOW_COPY_AND_ASSIGN(MusGpuMemoryBufferManager); | 
| 40 | 40 | 
| 41   void DestroyGpuMemoryBuffer(gfx::GpuMemoryBufferId id, | 41   void DestroyGpuMemoryBuffer(gfx::GpuMemoryBufferId id, | 
| 42                               int client_id, | 42                               int client_id, | 
| 43                               bool is_native, | 43                               bool is_native, | 
| 44                               const gpu::SyncToken& sync_token); | 44                               const gpu::SyncToken& sync_token); | 
| 45 | 45 | 
| 46   mojom::GpuServiceInternalPtr gpu_service_; | 46   mojom::GpuServiceInternalPtr gpu_service_; | 
| 47   const int client_id_; | 47   const int client_id_; | 
| 48   base::WeakPtrFactory<MusGpuMemoryBufferManager> weak_factory_; | 48   base::WeakPtrFactory<MusGpuMemoryBufferManager> weak_factory_; | 
| 49 }; | 49 }; | 
| 50 | 50 | 
| 51 }  // namespace ui | 51 }  // namespace ui | 
| 52 | 52 | 
| 53 #endif  // SERVICES_UI_SURFACES_MUS_GPU_MEMORY_BUFFER_MANAGER_H_ | 53 #endif  // SERVICES_UI_SURFACES_MUS_GPU_MEMORY_BUFFER_MANAGER_H_ | 
| OLD | NEW | 
|---|