misc: Support Pipeline caches and multi pipeline create, bug 14033 API changes
diff --git a/vulkan.py b/vulkan.py
index 01112c7..f73942f 100755
--- a/vulkan.py
+++ b/vulkan.py
@@ -198,6 +198,7 @@
"VkDepthStencilView",
"VkShader",
"VkPipeline",
+ "VkPipelineCache",
"VkSampler",
"VkDescriptorSet",
"VkDescriptorSetLayout",
@@ -512,40 +513,43 @@
Param("const VkShaderCreateInfo*", "pCreateInfo"),
Param("VkShader*", "pShader")]),
- Proto("VkResult", "CreateGraphicsPipeline",
+ Proto("VkResult", "CreatePipelineCache",
[Param("VkDevice", "device"),
- Param("const VkGraphicsPipelineCreateInfo*", "pCreateInfo"),
- Param("VkPipeline*", "pPipeline")]),
+ Param("const VkPipelineCacheCreateInfo*", "pCreateInfo"),
+ Param("VkPipelineCache*", "pPipelineCache")]),
- Proto("VkResult", "CreateGraphicsPipelineDerivative",
+ Proto("VkResult", "DestroyPipelineCache",
[Param("VkDevice", "device"),
- Param("const VkGraphicsPipelineCreateInfo*", "pCreateInfo"),
- Param("VkPipeline", "basePipeline"),
- Param("VkPipeline*", "pPipeline")]),
+ Param("VkPipelineCache", "pipelineCache")]),
- Proto("VkResult", "CreateComputePipeline",
+ Proto("size_t", "GetPipelineCacheSize",
[Param("VkDevice", "device"),
- Param("const VkComputePipelineCreateInfo*", "pCreateInfo"),
- Param("VkPipeline*", "pPipeline")]),
+ Param("VkPipelineCache", "pipelineCache")]),
- Proto("VkResult", "StorePipeline",
+ Proto("VkResult", "GetPipelineCacheData",
[Param("VkDevice", "device"),
- Param("VkPipeline", "pipeline"),
- Param("size_t*", "pDataSize"),
+ Param("VkPipelineCache", "pipelineCache"),
Param("void*", "pData")]),
- Proto("VkResult", "LoadPipeline",
+ Proto("VkResult", "MergePipelineCaches",
[Param("VkDevice", "device"),
- Param("size_t", "dataSize"),
- Param("const void*", "pData"),
- Param("VkPipeline*", "pPipeline")]),
+ Param("VkPipelineCache", "destCache"),
+ Param("uint32_t", "srcCacheCount"),
+ Param("const VkPipelineCache*", "pSrcCaches")]),
- Proto("VkResult", "LoadPipelineDerivative",
+ Proto("VkResult", "CreateGraphicsPipelines",
[Param("VkDevice", "device"),
- Param("size_t", "dataSize"),
- Param("const void*", "pData"),
- Param("VkPipeline", "basePipeline"),
- Param("VkPipeline*", "pPipeline")]),
+ Param("VkPipelineCache", "pipelineCache"),
+ Param("uint32_t", "count"),
+ Param("const VkGraphicsPipelineCreateInfo*", "pCreateInfos"),
+ Param("VkPipeline*", "pPipelines")]),
+
+ Proto("VkResult", "CreateComputePipelines",
+ [Param("VkDevice", "device"),
+ Param("VkPipelineCache", "pipelineCache"),
+ Param("uint32_t", "count"),
+ Param("const VkComputePipelineCreateInfo*", "pCreateInfos"),
+ Param("VkPipeline*", "pPipelines")]),
Proto("VkResult", "CreatePipelineLayout",
[Param("VkDevice", "device"),
@@ -942,6 +946,7 @@
"VkDepthStencilView",
"VkShader",
"VkPipeline",
+ "VkPipelineCache",
"VkPipelineLayout",
"VkSampler",
"VkDescriptorSet",