Commit f5182abb by Alexis Hetu Committed by Alexis Hétu

Descriptor Pool alignment checks

Make sure all allocations within the pool are 16 bytes aligned Bug b/137554711 Change-Id: I7e9531b720ae07390e0089768f92fd95c62d6afb Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33250Tested-by: 's avatarAlexis Hétu <sugoi@google.com> Presubmit-Ready: Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
parent 6d55ba73
......@@ -51,12 +51,12 @@ void DescriptorPool::destroy(const VkAllocationCallbacks* pAllocator)
size_t DescriptorPool::ComputeRequiredAllocationSize(const VkDescriptorPoolCreateInfo* pCreateInfo)
{
size_t size = pCreateInfo->maxSets * sizeof(DescriptorSetHeader);
size_t size = pCreateInfo->maxSets * sw::align(sizeof(DescriptorSetHeader), 16);
for(uint32_t i = 0; i < pCreateInfo->poolSizeCount; i++)
{
size += pCreateInfo->pPoolSizes[i].descriptorCount *
DescriptorSetLayout::GetDescriptorSize(pCreateInfo->pPoolSizes[i].type);
sw::align(DescriptorSetLayout::GetDescriptorSize(pCreateInfo->pPoolSizes[i].type), 16);
}
return size;
......
......@@ -29,7 +29,7 @@ namespace vk
DescriptorSetLayout* layout;
};
class DescriptorSet
class alignas(16) DescriptorSet
{
public:
static inline DescriptorSet* Cast(VkDescriptorSet object)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment