diff --git a/src/freedreno/ci/deqp-freedreno-a630-fails.txt b/src/freedreno/ci/deqp-freedreno-a630-fails.txt index a0ea41b5a4b..85c36231a66 100644 --- a/src/freedreno/ci/deqp-freedreno-a630-fails.txt +++ b/src/freedreno/ci/deqp-freedreno-a630-fails.txt @@ -12,7 +12,6 @@ dEQP-VK.api.copy_and_blit.core.resolve_image.whole_array_image_one_region.4_bit, dEQP-VK.api.copy_and_blit.core.resolve_image.whole_copy_before_resolving.4_bit,Fail dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail,Fail dEQP-VK.api.info.format_properties.g8b8g8r8_422_unorm,Fail -dEQP-VK.api.info.get_physical_device_properties2.memory_properties,Fail # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9409 dEQP-VK.compute.basic.max_local_size_x,Crash diff --git a/src/vulkan/util/vk_physical_device.c b/src/vulkan/util/vk_physical_device.c index 18cab2e8715..868d2d1fc35 100644 --- a/src/vulkan/util/vk_physical_device.c +++ b/src/vulkan/util/vk_physical_device.c @@ -139,7 +139,21 @@ vk_common_GetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, pdevice->dispatch_table.GetPhysicalDeviceMemoryProperties2(physicalDevice, &props2); - *pMemoryProperties = props2.memoryProperties; + /* dEQP-VK.api.info.get_physical_device_properties2.memory_properties memsets + * the struct to 0xcd and expects that the unused array elements are + * untouched. + */ + pMemoryProperties->memoryHeapCount = props2.memoryProperties.memoryHeapCount; + for (int i = 0; i < pMemoryProperties->memoryHeapCount; i++) { + pMemoryProperties->memoryHeaps[i].flags = props2.memoryProperties.memoryHeaps[i].flags; + pMemoryProperties->memoryHeaps[i].size = props2.memoryProperties.memoryHeaps[i].size; + } + + pMemoryProperties->memoryTypeCount = props2.memoryProperties.memoryTypeCount; + for (int i = 0; i < pMemoryProperties->memoryTypeCount; i++) { + pMemoryProperties->memoryTypes[i].heapIndex = props2.memoryProperties.memoryTypes[i].heapIndex; + pMemoryProperties->memoryTypes[i].propertyFlags = props2.memoryProperties.memoryTypes[i].propertyFlags; + } } VKAPI_ATTR void VKAPI_CALL