diff options
author | 2012-06-19 15:40:27 +0000 | |
---|---|---|
committer | 2012-06-19 15:40:27 +0000 | |
commit | 4da34e36cb7a07c3a28ae2a135b1837c26fc7aea (patch) | |
tree | 36ba4b63893a5621fe1eb377ea7cb3f4692c42b3 /include/gpu | |
parent | 50e4ce05521b0d95890e894691819882113aae86 (diff) |
Add GrMemoryPool as a helper to override operators new/delete
Review URL: http://codereview.appspot.com/6306090/
git-svn-id: http://skia.googlecode.com/svn/trunk@4282 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'include/gpu')
-rw-r--r-- | include/gpu/GrTypes.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/include/gpu/GrTypes.h b/include/gpu/GrTypes.h index a5d85498fc..95527c1756 100644 --- a/include/gpu/GrTypes.h +++ b/include/gpu/GrTypes.h @@ -79,27 +79,33 @@ static inline int32_t GrIDivRoundUp(int x, int y) { static inline uint32_t GrUIDivRoundUp(uint32_t x, uint32_t y) { return (x + (y-1)) / y; } -static inline size_t GrSizeDivRoundUp(size_t x, uint32_t y) { +static inline size_t GrSizeDivRoundUp(size_t x, size_t y) { return (x + (y-1)) / y; } +// compile time, evaluates Y multiple times +#define GR_CT_DIV_ROUND_UP(X, Y) (((X) + ((Y)-1)) / (Y)) + /** * align up */ static inline uint32_t GrUIAlignUp(uint32_t x, uint32_t alignment) { return GrUIDivRoundUp(x, alignment) * alignment; } -static inline uint32_t GrSizeAlignUp(size_t x, uint32_t alignment) { +static inline size_t GrSizeAlignUp(size_t x, size_t alignment) { return GrSizeDivRoundUp(x, alignment) * alignment; } +// compile time, evaluates A multiple times +#define GR_CT_ALIGN_UP(X, A) (GR_CT_DIV_ROUND_UP((X),(A)) * (A)) + /** * amount of pad needed to align up */ static inline uint32_t GrUIAlignUpPad(uint32_t x, uint32_t alignment) { return (alignment - x % alignment) % alignment; } -static inline size_t GrSizeAlignUpPad(size_t x, uint32_t alignment) { +static inline size_t GrSizeAlignUpPad(size_t x, size_t alignment) { return (alignment - x % alignment) % alignment; } |