Add signalSyncPoint to the WebGraphicsContext3D command buffer impls.
[chromium-blink-merge.git] / cc / base / util.h
blob1d716ae2a42f4b4d25f1bf38e6fb38a4a9c806a3
1 // Copyright 2012 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.
5 #ifndef CC_BASE_UTIL_H_
6 #define CC_BASE_UTIL_H_
8 #include <limits>
10 #include "base/basictypes.h"
12 namespace cc {
14 template <typename T> T RoundUp(T n, T mul) {
15 COMPILE_ASSERT(std::numeric_limits<T>::is_integer, type_must_be_integral);
16 return (n > 0) ? ((n + mul - 1) / mul) * mul
17 : (n / mul) * mul;
20 template <typename T> T RoundDown(T n, T mul) {
21 COMPILE_ASSERT(std::numeric_limits<T>::is_integer, type_must_be_integral);
22 return (n > 0) ? (n / mul) * mul
23 : (n == 0) ? 0
24 : ((n - mul + 1) / mul) * mul;
27 } // namespace cc
29 #endif // CC_BASE_UTIL_H_