mirror of
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
synced 2024-11-14 04:11:48 +00:00
df7648061c
Added GpuMemDump.schema.json. Minor improvement in SaveAllocatorStatsToFile.
164 lines
6.3 KiB
JSON
164 lines
6.3 KiB
JSON
{
|
|
"$id": "https://gpuopen.com/vulkan-memory-allocator/schemas/GpuMemDump",
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"type": "object",
|
|
"properties": {
|
|
"General": {
|
|
"type": "object",
|
|
"properties": {
|
|
"API": {"type": "string", "enum": ["Vulkan", "Direct3D 12"]},
|
|
"GPU": {"type": "string"}
|
|
},
|
|
"required": ["API", "GPU"]
|
|
},
|
|
"Total": {"$ref": "#/$defs/Stats"},
|
|
"MemoryInfo": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"Flags": {
|
|
"type": "array",
|
|
"items": {"type": "string"}
|
|
},
|
|
"Size": {"type": "integer"},
|
|
"Budget": {
|
|
"type": "object",
|
|
"properties": {
|
|
"BudgetBytes": {"type": "integer"},
|
|
"UsageBytes": {"type": "integer"}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"Stats": {"$ref": "#/$defs/Stats"},
|
|
"MemoryPools": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"Flags": {
|
|
"type": "array",
|
|
"items": {"type": "string"}
|
|
},
|
|
"Stats": {"$ref": "#/$defs/Stats"}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": ["Budget", "Stats"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"DefaultPools": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"PreferredBlockSize": {"type": "integer"},
|
|
"Blocks": {
|
|
"type": "object",
|
|
"propertyNames": {"pattern": "[0-9]+"},
|
|
"additionalProperties": {"$ref": "#/$defs/Block"}
|
|
},
|
|
"DedicatedAllocations": {
|
|
"type": "array",
|
|
"items": {"$ref": "#/$defs/DedicatedAllocation"}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"CustomPools": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"Name": {"type": "string"},
|
|
"Flags": {"type": "array"},
|
|
"PreferredBlockSize": {"type": "integer"},
|
|
"Blocks": {
|
|
"type": "object",
|
|
"additionalProperties": {"$ref": "#/$defs/Block"}
|
|
},
|
|
"DedicatedAllocations": {
|
|
"type": "array",
|
|
"items": {"$ref": "#/$defs/DedicatedAllocation"}
|
|
}
|
|
},
|
|
"required": ["PreferredBlockSize"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": ["General", "Total", "MemoryInfo"],
|
|
"additionalProperties": false,
|
|
"$defs": {
|
|
"CustomData": {
|
|
"type": "string",
|
|
"pattern": "^[0-9a-zA-Z]+$"
|
|
},
|
|
"Stats": {
|
|
"type": "object",
|
|
"properties": {
|
|
"BlockCount": {"type": "integer"},
|
|
"BlockBytes": {"type": "integer"},
|
|
"AllocationCount": {"type": "integer"},
|
|
"AllocationBytes": {"type": "integer"},
|
|
"UnusedRangeCount": {"type": "integer"},
|
|
"AllocationSizeMin": {"type": "integer"},
|
|
"AllocationSizeMax": {"type": "integer"},
|
|
"UnusedRangeSizeMin": {"type": "integer"},
|
|
"UnusedRangeSizeMax": {"type": "integer"}
|
|
},
|
|
"required": [
|
|
"BlockCount", "BlockBytes",
|
|
"AllocationCount", "AllocationBytes",
|
|
"UnusedRangeCount"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"Block": {
|
|
"type": "object",
|
|
"properties": {
|
|
"MapRefCount": {"type": "integer"},
|
|
"TotalBytes": {"type": "integer"},
|
|
"UnusedBytes": {"type": "integer"},
|
|
"Allocations": {"type": "integer"},
|
|
"UnusedRanges": {"type": "integer"},
|
|
"Suballocations": {"type": "array", "items": {"$ref": "#/$defs/Suballocation"}}
|
|
},
|
|
"required": ["TotalBytes", "UnusedBytes", "Allocations", "UnusedRanges"]
|
|
},
|
|
"DedicatedAllocation": {
|
|
"type": "object",
|
|
"properties": {
|
|
"Type": {"type": "string"},
|
|
"Size": {"type": "integer"},
|
|
"Usage": {"type": "integer"},
|
|
"CustomData": {"$ref": "#/$defs/CustomData"},
|
|
"Name": {"type": "string"},
|
|
"Layout": {"type": "integer"}
|
|
},
|
|
"required": ["Type", "Size"],
|
|
"additionalProperties": false
|
|
},
|
|
"Suballocation": {
|
|
"type": "object",
|
|
"properties": {
|
|
"Offset": {"type": "integer"},
|
|
"Type": {"type": "string"},
|
|
"Size": {"type": "integer"},
|
|
"Usage": {"type": "integer"},
|
|
"CustomData": {"$ref": "#/$defs/CustomData"},
|
|
"Name": {"type": "string"},
|
|
"Layout": {"type": "integer"}
|
|
},
|
|
"required": ["Offset", "Type", "Size"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|