From e75d462950dfc8fe0e13d0ede790c253aff88762 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Fri, 29 Nov 2019 10:37:49 +0100 Subject: [PATCH] v3dv: implement vkGetPhysicalDeviceMemoryProperties Part-of: --- src/broadcom/vulkan/v3dv_device.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index 2e6441f..0d0aab5 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -578,7 +578,24 @@ void v3dv_GetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties *pMemoryProperties) { - /* FIXME: stub */ + pMemoryProperties->memoryHeapCount = 1; + pMemoryProperties->memoryHeaps[0].size = compute_heap_size(); + pMemoryProperties->memoryHeaps[0].flags = VK_MEMORY_HEAP_DEVICE_LOCAL_BIT; + + pMemoryProperties->memoryTypeCount = 2; + + /* This is the only combination required by the spec */ + pMemoryProperties->memoryTypes[0].propertyFlags = + VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | + VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | + VK_MEMORY_PROPERTY_HOST_COHERENT_BIT; + pMemoryProperties->memoryTypes[0].heapIndex = 0; + + pMemoryProperties->memoryTypes[1].propertyFlags = + VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | + VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | + VK_MEMORY_PROPERTY_HOST_CACHED_BIT; + pMemoryProperties->memoryTypes[1].heapIndex = 0; } -- 2.7.4