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",