aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Herb Derby <herb@google.com>2018-02-16 10:36:52 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-02-16 16:14:05 +0000
commit6d64c54dff57d45fb5994bb9d81297571e95bc81 (patch)
tree2684feb2f2482cf7a1ab18e60af181efa8cb64e3 /src
parent1b6c75c09c32eb97422a3e428faac68f77fdd9ef (diff)
Add a generalized array of bytes with a given alignment
Change-Id: I1bf453754bdc16452aff7d6d63ef464c7edf6df3 Reviewed-on: https://skia-review.googlesource.com/108062 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src')
-rw-r--r--src/core/SkArenaAlloc.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/core/SkArenaAlloc.h b/src/core/SkArenaAlloc.h
index 2f23382ac1..c9e7274e63 100644
--- a/src/core/SkArenaAlloc.h
+++ b/src/core/SkArenaAlloc.h
@@ -137,6 +137,13 @@ public:
return array;
}
+ // Only use makeBytesAlignedTo if none of the typed variants are impractical to use.
+ void* makeBytesAlignedTo(size_t size, size_t align) {
+ auto objStart = this->allocObject(SkTo<uint32_t>(size), SkTo<uint32_t>(align));
+ fCursor = objStart + size;
+ return objStart;
+ }
+
// Destroy all allocated objects, free any heap allocations.
void reset();