38                            {
   39 
   40 
   41    log_ctx(
"   heapCount  %u    \n", $memoryProperties.memoryHeapCount);
 
   42    for (uint32_t i = 0; i < $memoryProperties.memoryHeapCount; i++) {
   43        log_ctx(
"   flags   %x    size   %zu    \n", $memoryProperties.memoryHeaps[i].flags, $memoryProperties.memoryHeaps[i].size);
 
   44    };
   45 
   46    log_ctx(
"   heapTypeCount  %u    \n", $memoryProperties.memoryTypeCount);
 
   47    for (uint32_t i = 0; i < $memoryProperties.memoryTypeCount; i++) {
   48        log_ctx(
"   flags   %x    heapIdx   %u    \n", $memoryProperties.memoryTypes[i].propertyFlags, $memoryProperties.memoryTypes[i].heapIndex);
 
   49    };
   50 
   51 
   52    budget = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT };
 
   53 
   54    VkPhysicalDeviceMemoryProperties2KHR memProps2 = {
   55        .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR ,
   57    };
   58 
   59    vkGetPhysicalDeviceMemoryProperties2($physicaldevice, &memProps2);
   60 
   61    for (uint32_t heapIndex = 0; heapIndex < $memoryProperties.memoryHeapCount; heapIndex++)
   62    {
   63        log_ctx(
" Heap[%u]   usage   %zu   budget   %zu    \n", heapIndex, 
budget.heapUsage[heapIndex], 
budget.heapBudget[heapIndex]);
 
   64    };
   65 
   69 
   70 
   71};
struct Temperance::@9 heap
VkPhysicalDeviceMemoryBudgetPropertiesEXT budget