radv: Take image alignment into account when allocating MUTABLE pool.

Allocating a descriptor set is aligned to 32 bytes, so just like the
other buffer types, bump the descriptor size to 32 bytes when allocating
MUTABLE descriptor types from a pool.

Fixes: 86644b84b9 ("radv: Implement VK_VALVE_mutable_descriptor_type.")
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10132>
(cherry picked from commit b60bc59180)
This commit is contained in:
Hans-Kristian Arntzen 2021-04-09 11:57:06 +02:00 committed by Eric Engestrom
parent e80952634b
commit 31ada2b7cf
2 changed files with 3 additions and 1 deletions

View file

@ -1084,7 +1084,7 @@
"description": "radv: Take image alignment into account when allocating MUTABLE pool.",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"master_sha": null,
"because_sha": "86644b84b94910ddb78b7a1117b8bcf55bb76265"
},

View file

@ -756,6 +756,8 @@ radv_CreateDescriptorPool(VkDevice _device, const VkDescriptorPoolCreateInfo *pC
if (radv_mutable_descriptor_type_size_alignment(
&mutable_info->pMutableDescriptorTypeLists[i], &mutable_size,
&mutable_alignment)) {
/* 32 as we may need to align for images */
mutable_size = align(mutable_size, 32);
bo_size += mutable_size * pCreateInfo->pPoolSizes[i].descriptorCount;
}
} else {