OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 // This file contains the definition of the FencedAllocator class. | 5 // This file contains the definition of the FencedAllocator class. |
6 | 6 |
7 #ifndef GPU_COMMAND_BUFFER_CLIENT_FENCED_ALLOCATOR_H_ | 7 #ifndef GPU_COMMAND_BUFFER_CLIENT_FENCED_ALLOCATOR_H_ |
8 #define GPU_COMMAND_BUFFER_CLIENT_FENCED_ALLOCATOR_H_ | 8 #define GPU_COMMAND_BUFFER_CLIENT_FENCED_ALLOCATOR_H_ |
9 | 9 |
10 #include <vector> | 10 #include <vector> |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 // NOTE: this will invalidate block indices. | 121 // NOTE: this will invalidate block indices. |
122 BlockIndex WaitForTokenAndFreeBlock(BlockIndex index); | 122 BlockIndex WaitForTokenAndFreeBlock(BlockIndex index); |
123 | 123 |
124 // Allocates a block of memory inside a given block, splitting it in two | 124 // Allocates a block of memory inside a given block, splitting it in two |
125 // (unless that block is of the exact requested size). | 125 // (unless that block is of the exact requested size). |
126 // NOTE: this will invalidate block indices. | 126 // NOTE: this will invalidate block indices. |
127 // Returns the offset of the allocated block (NOTE: this is different from | 127 // Returns the offset of the allocated block (NOTE: this is different from |
128 // the other functions that return a block index). | 128 // the other functions that return a block index). |
129 Offset AllocInBlock(BlockIndex index, unsigned int size); | 129 Offset AllocInBlock(BlockIndex index, unsigned int size); |
130 | 130 |
131 gpu::CommandBufferHelper *helper_; | 131 CommandBufferHelper *helper_; |
132 Container blocks_; | 132 Container blocks_; |
133 | 133 |
134 DISALLOW_IMPLICIT_CONSTRUCTORS(FencedAllocator); | 134 DISALLOW_IMPLICIT_CONSTRUCTORS(FencedAllocator); |
135 }; | 135 }; |
136 | 136 |
137 // This class functions just like FencedAllocator, but its API uses pointers | 137 // This class functions just like FencedAllocator, but its API uses pointers |
138 // instead of offsets. | 138 // instead of offsets. |
139 class FencedAllocatorWrapper { | 139 class FencedAllocatorWrapper { |
140 public: | 140 public: |
141 FencedAllocatorWrapper(unsigned int size, | 141 FencedAllocatorWrapper(unsigned int size, |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 | 229 |
230 private: | 230 private: |
231 FencedAllocator allocator_; | 231 FencedAllocator allocator_; |
232 void *base_; | 232 void *base_; |
233 DISALLOW_IMPLICIT_CONSTRUCTORS(FencedAllocatorWrapper); | 233 DISALLOW_IMPLICIT_CONSTRUCTORS(FencedAllocatorWrapper); |
234 }; | 234 }; |
235 | 235 |
236 } // namespace gpu | 236 } // namespace gpu |
237 | 237 |
238 #endif // GPU_COMMAND_BUFFER_CLIENT_FENCED_ALLOCATOR_H_ | 238 #endif // GPU_COMMAND_BUFFER_CLIENT_FENCED_ALLOCATOR_H_ |
OLD | NEW |