Update for VulkanSC-Docs 1.0.9 (initial Vulkan SC public release)
This commit is contained in:
60
json/vkpcc.json
Normal file
60
json/vkpcc.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||
"id": "https://schema.khronos.org/vulkan/vkpcc.json#",
|
||||
"title": "JSON schema for Vulkan pipeline state",
|
||||
"description": "Schema for representing Vulkan pipeline state for use with the offline Pipeline Cache Compiler.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
|
||||
"definitions": {
|
||||
"ShaderInfo" : {
|
||||
"stage" : {"type": "string", "format": "uri"},
|
||||
"filename" : {"type": "string", "format": "uri"}
|
||||
},
|
||||
|
||||
"GraphicsPipelineState": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"Renderpass": {"$ref": "https://schema.khronos.org/vulkan/vk.json#/definitions/VkRenderPassCreateInfo"},
|
||||
"Renderpass2": {"$ref": "https://schema.khronos.org/vulkan/vk.json#/definitions/VkRenderPassCreateInfo2"},
|
||||
"YcbcrSamplers": {"type": "array", "minItems": 0, "maxItems": 255, "items": {"type": "object", "patternProperties": {"^\\w+$": {"$ref": "https://schema.khronos.org/vulkan/vk.json#/definitions/VkSamplerYcbcrConversionCreateInfo"}}}},
|
||||
"ImmutableSamplers": {"type": "array", "minItems": 0, "maxItems": 255, "items": {"type": "object", "patternProperties": {"^\\w+$": {"$ref": "https://schema.khronos.org/vulkan/vk.json#/definitions/VkSamplerCreateInfo"}}}},
|
||||
"DescriptorSetLayouts": {"type": "array", "minItems": 0, "maxItems": 255, "items": {"type": "object", "patternProperties": {"^\\w+$": {"$ref": "https://schema.khronos.org/vulkan/vk.json#/definitions/VkDescriptorSetLayoutCreateInfo"}}}},
|
||||
"PipelineLayout": {"$ref": "https://schema.khronos.org/vulkan/vk.json#/definitions/VkPipelineLayoutCreateInfo"},
|
||||
"GraphicsPipeline": {"$ref": "https://schema.khronos.org/vulkan/vk.json#/definitions/VkGraphicsPipelineCreateInfo"},
|
||||
"ShaderFileNames": {"type": "array", "minItems": 0, "maxItems": 255, "items": {"$ref": "#/definitions/ShaderInfo"}},
|
||||
"PhysicalDeviceFeatures": {"$ref": "https://schema.khronos.org/vulkan/vk.json#/definitions/VkPhysicalDeviceFeatures2"}
|
||||
},
|
||||
"oneOf" : [{"required" : ["Renderpass"]}, {"required" : ["Renderpass2"]}],
|
||||
"required" : ["PipelineLayout", "GraphicsPipeline", "ShaderFileNames"]
|
||||
},
|
||||
|
||||
"ComputePipelineState": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"YcbcrSamplers": {"type": "array", "minItems": 0, "maxItems": 255, "items": {"type": "object", "patternProperties": {"^\\w+$": {"$ref": "https://schema.khronos.org/vulkan/vk.json#/definitions/VkSamplerYcbcrConversionCreateInfo"}}}},
|
||||
"ImmutableSamplers": {"type": "array", "minItems": 0, "maxItems": 255, "items": {"type": "object", "patternProperties": {"^\\w+$": {"$ref": "https://schema.khronos.org/vulkan/vk.json#/definitions/VkSamplerCreateInfo"}}}},
|
||||
"DescriptorSetLayouts": {"type": "array", "minItems": 0, "maxItems": 255, "items": {"type": "object", "patternProperties": {"^\\w+$": {"$ref": "https://schema.khronos.org/vulkan/vk.json#/definitions/VkDescriptorSetLayoutCreateInfo"}}}},
|
||||
"PipelineLayout": {"$ref": "https://schema.khronos.org/vulkan/vk.json#/definitions/VkPipelineLayoutCreateInfo"},
|
||||
"ComputePipeline": {"$ref": "https://schema.khronos.org/vulkan/vk.json#/definitions/VkComputePipelineCreateInfo"},
|
||||
"ShaderFileNames": {"$ref": "#/definitions/ShaderInfo"},
|
||||
"PhysicalDeviceFeatures": {"$ref": "https://schema.khronos.org/vulkan/vk.json#/definitions/VkPhysicalDeviceFeatures2"}
|
||||
},
|
||||
"required" : ["PipelineLayout", "ComputePipeline", "ShaderFileNames"]
|
||||
}
|
||||
},
|
||||
|
||||
"properties": {
|
||||
"GraphicsPipelineState" : {"$ref": "#/definitions/GraphicsPipelineState"},
|
||||
"ComputePipelineState" : {"$ref": "#/definitions/ComputePipelineState"},
|
||||
"PipelineUUID" : {"type": "array", "minItems": 16, "maxItems": 16, "items": {"$ref": "https://schema.khronos.org/vulkan/vk.json#/definitions/uint8_t"}},
|
||||
"DeviceExtensions" : {"type": "array", "items": {"type": "string", "format": "uri"}}
|
||||
},
|
||||
|
||||
"anyOf": [
|
||||
{"required": ["GraphicsPipelineState"]},
|
||||
{"required": ["ComputePipelineState"]}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user