Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Side by Side Diff: components/viz/service/display_compositor/in_process_gpu_memory_buffer_manager.h

Issue 2942283002: viz: Use a simple GpuMemoryBufferManager implementation. (Closed)
Patch Set: . Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef COMPONENTS_VIZ_SERVICE_DISPLAY_COMPOSITOR_IN_PROCESS_GPU_MEMORY_BUFFER_M ANAGER_H_
6 #define COMPONENTS_VIZ_SERVICE_DISPLAY_COMPOSITOR_IN_PROCESS_GPU_MEMORY_BUFFER_M ANAGER_H_
7
8 #include "base/memory/weak_ptr.h"
9 #include "gpu/command_buffer/client/gpu_memory_buffer_manager.h"
10
11 namespace gpu {
12 class GpuChannelManager;
13 }
14
15 namespace viz {
16
17 class InProcessGpuMemoryBufferManager : public gpu::GpuMemoryBufferManager {
18 public:
19 explicit InProcessGpuMemoryBufferManager(
20 gpu::GpuChannelManager* channel_manager);
21
22 ~InProcessGpuMemoryBufferManager() override;
23
24 // gpu::GpuMemoryBufferManager:
25 std::unique_ptr<gfx::GpuMemoryBuffer> CreateGpuMemoryBuffer(
26 const gfx::Size& size,
27 gfx::BufferFormat format,
28 gfx::BufferUsage usage,
29 gpu::SurfaceHandle surface_handle) override;
30 void SetDestructionSyncToken(gfx::GpuMemoryBuffer* buffer,
31 const gpu::SyncToken& sync_token) override;
32
33 private:
34 void DestroyGpuMemoryBuffer(gfx::GpuMemoryBufferId id,
35 int client_id,
36 const gpu::SyncToken& sync_token);
37 const int client_id_;
38 int next_gpu_memory_id_ = 1;
39 gpu::GpuChannelManager* channel_manager_;
40 base::WeakPtr<InProcessGpuMemoryBufferManager> weak_ptr_;
41 base::WeakPtrFactory<InProcessGpuMemoryBufferManager> weak_factory_;
42 DISALLOW_COPY_AND_ASSIGN(InProcessGpuMemoryBufferManager);
43 };
44
45 } // namespace viz
46
47 #endif // COMPONENTS_VIZ_SERVICE_DISPLAY_COMPOSITOR_IN_PROCESS_GPU_MEMORY_BUFFE R_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698