update vulkan.h for multi-level command buffers (V121)

With minimal changes to keep everything building and functioning.
diff --git a/loader/table_ops.h b/loader/table_ops.h
index 9a523f3..52cb9c1 100644
--- a/loader/table_ops.h
+++ b/loader/table_ops.h
@@ -131,6 +131,7 @@
     table->CreateRenderPass = (PFN_vkCreateRenderPass) gpa(dev, "vkCreateRenderPass");
     table->CmdBeginRenderPass = (PFN_vkCmdBeginRenderPass) gpa(dev, "vkCmdBeginRenderPass");
     table->CmdEndRenderPass = (PFN_vkCmdEndRenderPass) gpa(dev, "vkCmdEndRenderPass");
+    table->CmdExecuteCommands = (PFN_vkCmdExecuteCommands) gpa(dev, "vkCmdExecuteCommands");
 //TODO move into it's own table
 //TODO also consider dropping trampoline code for these device level extensions entirely
 // then don't need loader to know about these at all but then not queryable via GIPA
diff --git a/loader/trampoline.c b/loader/trampoline.c
index 5a47172..242f04e 100644
--- a/loader/trampoline.c
+++ b/loader/trampoline.c
@@ -1125,11 +1125,20 @@
     disp->CmdBeginRenderPass(cmdBuffer, pRenderPassBegin);
 }
 
-LOADER_EXPORT void VKAPI vkCmdEndRenderPass(VkCmdBuffer cmdBuffer, VkRenderPass renderPass)
+LOADER_EXPORT void VKAPI vkCmdEndRenderPass(VkCmdBuffer cmdBuffer)
 {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(cmdBuffer);
 
-    disp->CmdEndRenderPass(cmdBuffer, renderPass);
+    disp->CmdEndRenderPass(cmdBuffer);
+}
+
+LOADER_EXPORT void VKAPI vkCmdExecuteCommands(VkCmdBuffer cmdBuffer, uint32_t cmdBuffersCount, const VkCmdBuffer* pCmdBuffers)
+{
+    const VkLayerDispatchTable *disp;
+
+    disp = loader_get_dispatch(cmdBuffer);
+
+    disp->CmdExecuteCommands(cmdBuffer, cmdBuffersCount, pCmdBuffers);
 }