vkoverhead icon indicating copy to clipboard operation
vkoverhead copied to clipboard

memory allocation failures on Intel devices

Open Rekt3421 opened this issue 1 month ago • 0 comments

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

Rekt3421 avatar Oct 29 '25 22:10 Rekt3421