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

Side by Side Diff: gpu/command_buffer/client/fenced_allocator.cc

Issue 1428003002: More const int definitions for VC++ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use enums for the constants and avoid #if Created 5 years, 1 month 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
« no previous file with comments | « gpu/command_buffer/client/fenced_allocator.h ('k') | ui/gfx/icon_util.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 implementation of the FencedAllocator class. 5 // This file contains the implementation of the FencedAllocator class.
6 6
7 #include "gpu/command_buffer/client/fenced_allocator.h" 7 #include "gpu/command_buffer/client/fenced_allocator.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
11 #include "gpu/command_buffer/client/cmd_buffer_helper.h" 11 #include "gpu/command_buffer/client/cmd_buffer_helper.h"
12 12
13 namespace gpu { 13 namespace gpu {
14 14
15 namespace { 15 namespace {
16 16
17 // Round down to the largest multiple of kAllocAlignment no greater than |size|. 17 // Round down to the largest multiple of kAllocAlignment no greater than |size|.
18 unsigned int RoundDown(unsigned int size) { 18 unsigned int RoundDown(unsigned int size) {
19 return size & ~(FencedAllocator::kAllocAlignment - 1); 19 return size & ~(FencedAllocator::kAllocAlignment - 1);
20 } 20 }
21 21
22 // Round up to the smallest multiple of kAllocAlignment no smaller than |size|. 22 // Round up to the smallest multiple of kAllocAlignment no smaller than |size|.
23 unsigned int RoundUp(unsigned int size) { 23 unsigned int RoundUp(unsigned int size) {
24 return (size + (FencedAllocator::kAllocAlignment - 1)) & 24 return (size + (FencedAllocator::kAllocAlignment - 1)) &
25 ~(FencedAllocator::kAllocAlignment - 1); 25 ~(FencedAllocator::kAllocAlignment - 1);
26 } 26 }
27 27
28 } // namespace 28 } // namespace
29 29
30 #ifndef _MSC_VER
31 const FencedAllocator::Offset FencedAllocator::kInvalidOffset;
32 const unsigned int FencedAllocator::kAllocAlignment;
33 #endif
34
35 FencedAllocator::FencedAllocator(unsigned int size, CommandBufferHelper* helper) 30 FencedAllocator::FencedAllocator(unsigned int size, CommandBufferHelper* helper)
36 : helper_(helper), bytes_in_use_(0) { 31 : helper_(helper), bytes_in_use_(0) {
37 Block block = { FREE, 0, RoundDown(size), kUnusedToken }; 32 Block block = { FREE, 0, RoundDown(size), kUnusedToken };
38 blocks_.push_back(block); 33 blocks_.push_back(block);
39 } 34 }
40 35
41 FencedAllocator::~FencedAllocator() { 36 FencedAllocator::~FencedAllocator() {
42 // Free blocks pending tokens. 37 // Free blocks pending tokens.
43 for (unsigned int i = 0; i < blocks_.size(); ++i) { 38 for (unsigned int i = 0; i < blocks_.size(); ++i) {
44 if (blocks_[i].state == FREE_PENDING_TOKEN) { 39 if (blocks_[i].state == FREE_PENDING_TOKEN) {
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 // The blocks are in offset order, so we can do a binary search. 243 // The blocks are in offset order, so we can do a binary search.
249 FencedAllocator::BlockIndex FencedAllocator::GetBlockByOffset(Offset offset) { 244 FencedAllocator::BlockIndex FencedAllocator::GetBlockByOffset(Offset offset) {
250 Block templ = { IN_USE, offset, 0, kUnusedToken }; 245 Block templ = { IN_USE, offset, 0, kUnusedToken };
251 Container::iterator it = std::lower_bound(blocks_.begin(), blocks_.end(), 246 Container::iterator it = std::lower_bound(blocks_.begin(), blocks_.end(),
252 templ, OffsetCmp()); 247 templ, OffsetCmp());
253 DCHECK(it != blocks_.end() && it->offset == offset); 248 DCHECK(it != blocks_.end() && it->offset == offset);
254 return it-blocks_.begin(); 249 return it-blocks_.begin();
255 } 250 }
256 251
257 } // namespace gpu 252 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/client/fenced_allocator.h ('k') | ui/gfx/icon_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698