Add vk_layer_utils_minimal.h

Declares what's needed by the imagepipe swapchain because the
definitions have moved around in the newer repo.

Change-Id: I437342abb9c5ace875f3e574bec9b8544d836fb8
diff --git a/layers/vk_layer_table.h b/layers/vk_layer_table.h
index 45b8f6e..cc04ca9 100644
--- a/layers/vk_layer_table.h
+++ b/layers/vk_layer_table.h
@@ -21,6 +21,7 @@
 
 #include "vulkan/vk_layer.h"
 #include "vulkan/vulkan.h"
+#include "vk_layer_utils_minimal.h"
 #include <unordered_map>
 
 typedef std::unordered_map<void *, VkLayerDispatchTable *> device_table_map;
@@ -30,10 +31,6 @@
 VkLayerInstanceDispatchTable *initInstanceTable(VkInstance instance, const PFN_vkGetInstanceProcAddr gpa, instance_table_map &map);
 VkLayerInstanceDispatchTable *initInstanceTable(VkInstance instance, const PFN_vkGetInstanceProcAddr gpa);
 
-typedef void *dispatch_key;
-
-static inline dispatch_key get_dispatch_key(const void *object) { return (dispatch_key) * (VkLayerDispatchTable **)object; }
-
 VkLayerDispatchTable *device_dispatch_table(void *object);
 
 VkLayerInstanceDispatchTable *instance_dispatch_table(void *object);
diff --git a/layers/vk_layer_utils_minimal.h b/layers/vk_layer_utils_minimal.h
new file mode 100644
index 0000000..390f815
--- /dev/null
+++ b/layers/vk_layer_utils_minimal.h
@@ -0,0 +1,35 @@
+/* Copyright (c) 2015-2017, 2019 The Khronos Group Inc.
+ * Copyright (c) 2015-2017, 2019 Valve Corporation
+ * Copyright (c) 2015-2017, 2019 LunarG, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Author: Mark Lobodzinski <mark@lunarg.com>
+ * Author: Courtney Goeltzenleuchter <courtney@LunarG.com>
+ * Author: Dave Houlton <daveh@lunarg.com>
+ */
+
+#pragma once
+
+#include <vulkan/vk_layer.h>
+#include "vk_layer_dispatch_table.h"
+
+#ifdef __cplusplus
+
+typedef void *dispatch_key;
+static inline dispatch_key get_dispatch_key(const void *object) { return (dispatch_key) * (VkLayerDispatchTable **)object; }
+
+VK_LAYER_EXPORT VkLayerInstanceCreateInfo *get_chain_info(const VkInstanceCreateInfo *pCreateInfo, VkLayerFunction func);
+VK_LAYER_EXPORT VkLayerDeviceCreateInfo *get_chain_info(const VkDeviceCreateInfo *pCreateInfo, VkLayerFunction func);
+
+#endif