Fix incorrect pointer usage in Vulkan buffer and Memref descriptor binding:
- Vulkan runtime produced incorrect result if there is alignment.
- There was illegal memory access if binding a LLVM global materialized
from a constant op (0xdeadbeef).
Reviewed By: antiagainst
Differential Revision: https://reviews.llvm.org/D132291
uint32_t size = sizeof(T);
for (unsigned i = 0; i < S; i++)
size *= ptr->sizes[i];
- VulkanHostMemoryBuffer memBuffer{ptr->allocated, size};
+ VulkanHostMemoryBuffer memBuffer{ptr->aligned, size};
reinterpret_cast<VulkanRuntimeManager *>(vkRuntimeManager)
->setResourceData(setIndex, bindIndex, memBuffer);
}