VulkanMemoryAllocator/tools/GpuMemDumpVis/GpuMemDump.schema.json

164 lines
6.3 KiB
JSON
Raw Permalink Normal View History

{
"$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
}
}
}