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