for (unsigned i = 0; i < mem.memoryProperties.memoryHeapCount; i++) {
if (mem.memoryProperties.memoryHeaps[i].flags & VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT) {
/* VRAM */
- info->total_device_memory = mem.memoryProperties.memoryHeaps[i].size / 1024;
- info->avail_device_memory = (budget.heapBudget[i] - budget.heapUsage[i]) / 1024;
+ info->total_device_memory += mem.memoryProperties.memoryHeaps[i].size / 1024;
+ info->avail_device_memory += (budget.heapBudget[i] - budget.heapUsage[i]) / 1024;
} else if (mem.memoryProperties.memoryHeaps[i].flags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) {
/* GART */
- info->total_staging_memory = mem.memoryProperties.memoryHeaps[i].size / 1024;
- info->avail_staging_memory = (budget.heapBudget[i] - budget.heapUsage[i]) / 1024;
+ info->total_staging_memory += mem.memoryProperties.memoryHeaps[i].size / 1024;
+ info->avail_staging_memory += (budget.heapBudget[i] - budget.heapUsage[i]) / 1024;
}
}
/* evictions not yet supported in vulkan */
for (unsigned i = 0; i < screen->info.mem_props.memoryHeapCount; i++) {
if (screen->info.mem_props.memoryHeaps[i].flags & VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT) {
/* VRAM */
- info->total_device_memory = screen->info.mem_props.memoryHeaps[i].size / 1024;
+ info->total_device_memory += screen->info.mem_props.memoryHeaps[i].size / 1024;
/* free real estate! */
- info->avail_device_memory = info->total_device_memory;
+ info->avail_device_memory += info->total_device_memory;
} else if (screen->info.mem_props.memoryHeaps[i].flags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) {
/* GART */
- info->total_staging_memory = screen->info.mem_props.memoryHeaps[i].size / 1024;
+ info->total_staging_memory += screen->info.mem_props.memoryHeaps[i].size / 1024;
/* free real estate! */
- info->avail_staging_memory = info->total_staging_memory;
+ info->avail_staging_memory += info->total_staging_memory;
}
}
}