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