1{ 2 "$schema": "https://json-schema.org/draft/2020-12/schema", 3 "type": "object", 4 "properties": 5 { 6 "register_extension": 7 { 8 "type": "object", 9 "description": "This section must be present for all KHR extensions, for all extensions that were promoted to the core and for all extensions for which aliases should be populated.", 10 "properties": 11 { 12 "type": 13 { 14 "type": "string", 15 "enum": [ 16 "device", 17 "instance" 18 ], 19 "description": "This property specifies if this is device or instance extension." 20 }, 21 "core": 22 { 23 "type": "string", 24 "description": "This property specifies vulkan version to which this extension was fully promoted. Empty string is also accepted and must be used for partialy promoted extensions.", 25 "pattern": "^$|^[1-9]\\.[0-9]\\.[0-9]\\.[0-9]$" 26 } 27 }, 28 "required": [ 29 "type", 30 "core" 31 ], 32 "additionalProperties": false 33 }, 34 "mandatory_features": 35 { 36 "type": "object", 37 "description": "When this section is present it specifies mandatory features for extension or vulkan version.", 38 "patternProperties": 39 { 40 "^VkPhysicalDevice[1-9A-Za-z]*Features(EXT|KHR|VALVE)?$": 41 { 42 "type": "array", 43 "description": "List of mandatory features in given feature structure.", 44 "minItems": 1, 45 "items": 46 { 47 "type": "object", 48 "properties": 49 { 50 "features": 51 { 52 "type": "array", 53 "description": "List of structure attributes - at least one of them must be supported when requirements are meat.", 54 "minItems": 1, 55 "items": 56 { 57 "type": "string" 58 } 59 }, 60 "requirements": 61 { 62 "type": "array", 63 "description": "List of requirements (other features, extensions, vulkan version). This list can be empty.", 64 "items": 65 { 66 "type": "string" 67 } 68 }, 69 "mandatory_variant": 70 { 71 "type": "array", 72 "description": "When this section is present it specifies mandatory features variant.", 73 "items": { 74 "type": "string", 75 "enum": [ 76 "vulkan", 77 "vulkansc" 78 ] 79 } 80 } 81 }, 82 "required": [ 83 "features", 84 "requirements" 85 ], 86 "additionalProperties": false 87 } 88 }, 89 "additionalProperties": { 90 "type": "string" 91 } 92 }, 93 "additionalProperties": false 94 }, 95 "mandatory_extensions": 96 { 97 "type": "array", 98 "description": "When this section is present it specifies mandatory extensions for the given features", 99 "items": 100 { 101 "type": "object", 102 "properties": 103 { 104 "extension": 105 { 106 "type": "string" 107 }, 108 "requirements": 109 { 110 "type": "array", 111 "description": "List of requirements (other features, extensions, vulkan version). This list can be empty.", 112 "minItems": 1, 113 "items": 114 { 115 "type": "string" 116 } 117 }, 118 "mandatory_variant": 119 { 120 "type": "array", 121 "description": "When this section is present it specifies mandatory features variant.", 122 "items": { 123 "type": "string", 124 "enum": [ 125 "vulkan", 126 "vulkansc" 127 ] 128 } 129 } 130 }, 131 "additionalProperties": false 132 } 133 } 134 }, 135 "additionalProperties": false 136} 137