From a30205589f7d4d6a2a982d12634bc091510a259d Mon Sep 17 00:00:00 2001 From: Hans-Kristian Arntzen Date: Wed, 8 Jun 2022 12:32:46 +0200 Subject: [PATCH] common: Assert that alignment is > 0 and POT. Found bug when allocating device generated commands. Signed-off-by: Hans-Kristian Arntzen --- include/private/vkd3d_common.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/private/vkd3d_common.h b/include/private/vkd3d_common.h index 5a12a19c..33890c57 100644 --- a/include/private/vkd3d_common.h +++ b/include/private/vkd3d_common.h @@ -27,6 +27,7 @@ #include #include #include +#include #ifdef _MSC_VER #include @@ -46,11 +47,13 @@ static inline uint64_t align64(uint64_t addr, uint64_t alignment) { + assert(alignment > 0 && (alignment & (alignment - 1)) == 0); return (addr + (alignment - 1)) & ~(alignment - 1); } static inline size_t align(size_t addr, size_t alignment) { + assert(alignment > 0 && (alignment & (alignment - 1)) == 0); return (addr + (alignment - 1)) & ~(alignment - 1); }