icd: Support for command pools
diff --git a/icd/intel/cmd.h b/icd/intel/cmd.h
index 75c28d1..2db8c55 100644
--- a/icd/intel/cmd.h
+++ b/icd/intel/cmd.h
@@ -211,6 +211,34 @@
     uint32_t item_used;
 };
 
+struct intel_cmd_pool {
+    struct intel_obj obj;
+    struct intel_dev *dev;
+
+    uint32_t queue_family_index;
+    uint32_t create_flags;
+};
+
+static inline struct intel_cmd_pool *intel_cmd_pool(VkCmdPool pool)
+{
+    return *(struct intel_cmd_pool **) &pool;
+}
+
+static inline struct intel_cmd_pool *intel_cmd_pool_from_base(struct intel_base *base)
+{
+    return (struct intel_cmd_pool *) base;
+}
+
+static inline struct intel_cmd_pool *intel_cmd_pool_from_obj(struct intel_obj *obj)
+{
+    return (struct intel_cmd_pool *) &obj->base;
+}
+
+VkResult intel_cmd_pool_create(struct intel_dev *dev,
+                            const VkCmdPoolCreateInfo *info,
+                            struct intel_cmd_pool **cmd_pool_ret);
+void intel_cmd_pool_destroy(struct intel_cmd_pool *pool);
+
 struct intel_cmd {
     struct intel_obj obj;