OLD | NEW |
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_CLIENT_BUFFER_TRACKER_H_ | 5 #ifndef GPU_COMMAND_BUFFER_CLIENT_BUFFER_TRACKER_H_ |
6 #define GPU_COMMAND_BUFFER_CLIENT_BUFFER_TRACKER_H_ | 6 #define GPU_COMMAND_BUFFER_CLIENT_BUFFER_TRACKER_H_ |
7 | 7 |
8 #include <GLES2/gl2.h> | 8 #include <GLES2/gl2.h> |
9 | 9 |
10 #include <queue> | 10 #include <queue> |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 friend class BufferTrackerTest; | 70 friend class BufferTrackerTest; |
71 | 71 |
72 GLuint id_; | 72 GLuint id_; |
73 unsigned int size_; | 73 unsigned int size_; |
74 int32 shm_id_; | 74 int32 shm_id_; |
75 uint32 shm_offset_; | 75 uint32 shm_offset_; |
76 void* address_; | 76 void* address_; |
77 bool mapped_; | 77 bool mapped_; |
78 }; | 78 }; |
79 | 79 |
80 BufferTracker(MappedMemoryManager* manager); | 80 explicit BufferTracker(MappedMemoryManager* manager); |
81 ~BufferTracker(); | 81 ~BufferTracker(); |
82 | 82 |
83 Buffer* CreateBuffer(GLuint id, GLsizeiptr size); | 83 Buffer* CreateBuffer(GLuint id, GLsizeiptr size); |
84 Buffer* GetBuffer(GLuint id); | 84 Buffer* GetBuffer(GLuint id); |
85 void RemoveBuffer(GLuint id); | 85 void RemoveBuffer(GLuint id); |
86 | 86 |
87 // Frees the block of memory associated with buffer, pending the passage | 87 // Frees the block of memory associated with buffer, pending the passage |
88 // of a token. | 88 // of a token. |
89 void FreePendingToken(Buffer*, int32 token); | 89 void FreePendingToken(Buffer*, int32 token); |
90 | 90 |
91 private: | 91 private: |
92 typedef gpu::hash_map<GLuint, Buffer*> BufferMap; | 92 typedef gpu::hash_map<GLuint, Buffer*> BufferMap; |
93 | 93 |
94 MappedMemoryManager* mapped_memory_; | 94 MappedMemoryManager* mapped_memory_; |
95 BufferMap buffers_; | 95 BufferMap buffers_; |
96 | 96 |
97 DISALLOW_COPY_AND_ASSIGN(BufferTracker); | 97 DISALLOW_COPY_AND_ASSIGN(BufferTracker); |
98 }; | 98 }; |
99 | 99 |
100 } // namespace gles2 | 100 } // namespace gles2 |
101 } // namespace gpu | 101 } // namespace gpu |
102 | 102 |
103 #endif // GPU_COMMAND_BUFFER_CLIENT_BUFFER_TRACKER_H_ | 103 #endif // GPU_COMMAND_BUFFER_CLIENT_BUFFER_TRACKER_H_ |
OLD | NEW |