vkoverhead
vkoverhead copied to clipboard
memory allocation failures on Intel devices
I am trying to run vkoverhead on an intel device, from the dump i can see the following memory types available
physicalDevice: VkPhysicalDevice = 0x72a8c3806b30
pMemoryProperties: VkPhysicalDeviceMemoryProperties2* = 0x7ffd693ca000:
sType: VkStructureType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 (1000059006)
pNext: void* = VkPhysicalDeviceMemoryBudgetPropertiesEXT
memoryProperties: VkPhysicalDeviceMemoryProperties = 0x0:
memoryTypeCount: uint32_t = 4
memoryTypes: VkMemoryType[VK_MAX_MEMORY_TYPES] = 0x7ffd693ca014
memoryTypes[0]: VkMemoryType = 0x0:
propertyFlags: VkMemoryPropertyFlags = 1 (VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT)
heapIndex: uint32_t = 0
memoryTypes[1]: VkMemoryType = 0x0:
propertyFlags: VkMemoryPropertyFlags = 15 (VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT | VK_MEMORY_PROPERTY_HOST_CACHED_BIT)
heapIndex: uint32_t = 0
memoryTypes[2]: VkMemoryType = 0x0:
propertyFlags: VkMemoryPropertyFlags = 1 (VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT)
heapIndex: uint32_t = 0
memoryTypes[3]: VkMemoryType = 0x0:
propertyFlags: VkMemoryPropertyFlags = 15 (VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT | VK_MEMORY_PROPERTY_HOST_CACHED_BIT)
heapIndex: uint32_t = 0
memoryHeapCount: uint32_t = 1
In this example the host visible and cached memory are both available on the same kind of memory type whereas the program avoids allocating such memory if we look at this line. I assume this was an assumption made at the time and may need to be updated otherwise the test fails on intel devices with the following error
Could not successfully allocate described memory type