• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2	"$schema": "http://json-schema.org/draft-04/schema#",
3	"title": "Command and Structure Validation in Vulkan",
4	"description": "A database of validatable commands and structures in the Vulkan API",
5	"type": "object",
6	"additionalProperties": false,
7	"properties": {
8		"version info": {
9			"additionalProperties": false,
10			"properties": {
11				"schema version": {"type": "integer", "const": 2},
12				"api version": {"type": "string"},
13				"comment": {"type": "string"},
14				"date": {"type": "string"}
15			},
16			"required": [
17				"schema version",
18				"api version",
19				"comment",
20				"date"
21			]
22		},
23		"validation": {
24			"patternProperties": {
25				"^[vV]k[A-Z][A-Za-z0-9]+$": {
26					"title": "Vulkan Command or Structure",
27					"description": "Validation information for a structure or command in the Vulkan API",
28					"patternProperties": {
29						"^[\\w+!|]+$": {
30							"type": "array",
31							"uniqueItems": true,
32							"minItems": 1,
33							"items":
34							{
35								"title": "Valid Usage Statement",
36								"description": "A valid usage statement",
37								"type": "object",
38								"additionalProperties": false,
39								"properties": {
40									"vuid": {
41										"title": "Valid Usage ID",
42										"description": "String identifier for a valid usage statement, corresponding to an anchor in the spec for that statement",
43										"type": "string",
44										"pattern": "VUID-[vV]k[A-Z][A-Za-z0-9]+-[A-Za-z0-9-]*[A-Za-z0-9]"
45									},
46									"text": {
47										"title": "Valid Usage Text",
48										"description": "HTML formatted string of the valid usage statement text",
49										"type": "string"
50									}
51								},
52								"required": [
53									"vuid",
54									"text"
55								]
56							}
57						}
58					}
59				}
60			}
61		}
62	}
63}