radv: fix mismatch between radv_GetPhysicalDeviceMemoryProperties*()

This fixes a regression with
dEQP-VK.api.info.get_physical_device_properties2.memory_properties.
This test expects the unused array elements to be untouched.

Fixes: 87b65af43e ("radv: Use common GetPhysicalDeviceMemoryProperties")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15629>
This commit is contained in:
Samuel Pitoiset 2022-03-29 08:48:33 +02:00 committed by Marge Bot
parent f86bc873ff
commit 03888bf09c

View file

@ -2610,8 +2610,22 @@ radv_GetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice,
VkPhysicalDeviceMemoryProperties2 *pMemoryProperties)
{
RADV_FROM_HANDLE(radv_physical_device, pdevice, physicalDevice);
pMemoryProperties->memoryProperties = pdevice->memory_properties;
pMemoryProperties->memoryProperties.memoryTypeCount = pdevice->memory_properties.memoryTypeCount;
for (uint32_t i = 0; i < pdevice->memory_properties.memoryTypeCount; i++) {
pMemoryProperties->memoryProperties.memoryTypes[i] = (VkMemoryType) {
.propertyFlags = pdevice->memory_properties.memoryTypes[i].propertyFlags,
.heapIndex = pdevice->memory_properties.memoryTypes[i].heapIndex,
};
}
pMemoryProperties->memoryProperties.memoryHeapCount = pdevice->memory_properties.memoryHeapCount;
for (uint32_t i = 0; i < pdevice->memory_properties.memoryHeapCount; i++) {
pMemoryProperties->memoryProperties.memoryHeaps[i] = (VkMemoryHeap) {
.size = pdevice->memory_properties.memoryHeaps[i].size,
.flags = pdevice->memory_properties.memoryHeaps[i].flags,
};
}
VkPhysicalDeviceMemoryBudgetPropertiesEXT *memory_budget =
vk_find_struct(pMemoryProperties->pNext, PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT);