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

Side by Side Diff: gpu/command_buffer/service/transfer_buffer_manager.h

Issue 1859703002: convert //gpu to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: undo part of clang-format Created 4 years, 8 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
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 GPU_COMMAND_BUFFER_SERVICE_TRANSFER_BUFFER_MANAGER_H_ 5 #ifndef GPU_COMMAND_BUFFER_SERVICE_TRANSFER_BUFFER_MANAGER_H_
6 #define GPU_COMMAND_BUFFER_SERVICE_TRANSFER_BUFFER_MANAGER_H_ 6 #define GPU_COMMAND_BUFFER_SERVICE_TRANSFER_BUFFER_MANAGER_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
no sievers 2016/04/05 19:02:41 #include <memory>
Mostyn Bramley-Moore 2016/04/05 21:35:32 Done.
11 #include <set> 11 #include <set>
12 #include <vector> 12 #include <vector>
13 13
14 #include "base/compiler_specific.h" 14 #include "base/compiler_specific.h"
15 #include "base/containers/hash_tables.h" 15 #include "base/containers/hash_tables.h"
16 #include "base/macros.h" 16 #include "base/macros.h"
17 #include "base/memory/ref_counted.h" 17 #include "base/memory/ref_counted.h"
18 #include "base/trace_event/memory_dump_provider.h" 18 #include "base/trace_event/memory_dump_provider.h"
19 #include "gpu/command_buffer/common/command_buffer_shared.h" 19 #include "gpu/command_buffer/common/command_buffer_shared.h"
20 20
21 namespace gpu { 21 namespace gpu {
22 namespace gles2 { 22 namespace gles2 {
23 class MemoryTracker; 23 class MemoryTracker;
24 } 24 }
25 25
26 class GPU_EXPORT TransferBufferManagerInterface : 26 class GPU_EXPORT TransferBufferManagerInterface :
27 public base::RefCounted<TransferBufferManagerInterface> { 27 public base::RefCounted<TransferBufferManagerInterface> {
28 public: 28 public:
29 virtual bool RegisterTransferBuffer(int32_t id, 29 virtual bool RegisterTransferBuffer(
30 scoped_ptr<BufferBacking> buffer) = 0; 30 int32_t id,
31 std::unique_ptr<BufferBacking> buffer) = 0;
31 virtual void DestroyTransferBuffer(int32_t id) = 0; 32 virtual void DestroyTransferBuffer(int32_t id) = 0;
32 virtual scoped_refptr<Buffer> GetTransferBuffer(int32_t id) = 0; 33 virtual scoped_refptr<Buffer> GetTransferBuffer(int32_t id) = 0;
33 34
34 protected: 35 protected:
35 friend class base::RefCounted<TransferBufferManagerInterface>; 36 friend class base::RefCounted<TransferBufferManagerInterface>;
36 37
37 virtual ~TransferBufferManagerInterface(); 38 virtual ~TransferBufferManagerInterface();
38 }; 39 };
39 40
40 class GPU_EXPORT TransferBufferManager 41 class GPU_EXPORT TransferBufferManager
41 : public TransferBufferManagerInterface, 42 : public TransferBufferManagerInterface,
42 public base::trace_event::MemoryDumpProvider { 43 public base::trace_event::MemoryDumpProvider {
43 public: 44 public:
44 explicit TransferBufferManager(gles2::MemoryTracker* memory_tracker); 45 explicit TransferBufferManager(gles2::MemoryTracker* memory_tracker);
45 46
46 // Overridden from base::trace_event::MemoryDumpProvider: 47 // Overridden from base::trace_event::MemoryDumpProvider:
47 bool OnMemoryDump(const base::trace_event::MemoryDumpArgs& args, 48 bool OnMemoryDump(const base::trace_event::MemoryDumpArgs& args,
48 base::trace_event::ProcessMemoryDump* pmd) override; 49 base::trace_event::ProcessMemoryDump* pmd) override;
49 50
50 bool Initialize(); 51 bool Initialize();
51 bool RegisterTransferBuffer( 52 bool RegisterTransferBuffer(
52 int32_t id, 53 int32_t id,
53 scoped_ptr<BufferBacking> buffer_backing) override; 54 std::unique_ptr<BufferBacking> buffer_backing) override;
54 void DestroyTransferBuffer(int32_t id) override; 55 void DestroyTransferBuffer(int32_t id) override;
55 scoped_refptr<Buffer> GetTransferBuffer(int32_t id) override; 56 scoped_refptr<Buffer> GetTransferBuffer(int32_t id) override;
56 57
57 private: 58 private:
58 ~TransferBufferManager() override; 59 ~TransferBufferManager() override;
59 60
60 typedef base::hash_map<int32_t, scoped_refptr<Buffer>> BufferMap; 61 typedef base::hash_map<int32_t, scoped_refptr<Buffer>> BufferMap;
61 BufferMap registered_buffers_; 62 BufferMap registered_buffers_;
62 size_t shared_memory_bytes_allocated_; 63 size_t shared_memory_bytes_allocated_;
63 gles2::MemoryTracker* memory_tracker_; 64 gles2::MemoryTracker* memory_tracker_;
64 65
65 DISALLOW_COPY_AND_ASSIGN(TransferBufferManager); 66 DISALLOW_COPY_AND_ASSIGN(TransferBufferManager);
66 }; 67 };
67 68
68 } // namespace gpu 69 } // namespace gpu
69 70
70 #endif // GPU_COMMAND_BUFFER_SERVICE_TRANSFER_BUFFER_MANAGER_H_ 71 #endif // GPU_COMMAND_BUFFER_SERVICE_TRANSFER_BUFFER_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698