intel: Add memory allocs for event, pipeline and query
diff --git a/icd/intel/query.c b/icd/intel/query.c
index 5f65ed6..978ffae 100644
--- a/icd/intel/query.c
+++ b/icd/intel/query.c
@@ -34,21 +34,10 @@
 {
     struct intel_query *query = intel_query_from_obj(obj);
 
+    intel_mem_free(obj->mem);
     intel_query_destroy(query);
 }
 
-static VkResult query_get_memory_requirements(struct intel_base *base,
-                                 VkMemoryRequirements* pRequirements)
-{
-    struct intel_query *query = intel_query_from_base(base);
-
-    pRequirements->size           = query->slot_stride * query->slot_count;
-    pRequirements->alignment      = 64;
-    pRequirements->memoryTypeBits = (1 << INTEL_MEMORY_TYPE_COUNT) - 1;
-
-    return VK_SUCCESS;
-}
-
 static void query_init_pipeline_statistics(
         struct intel_dev *dev,
         const VkQueryPoolCreateInfo *info,
@@ -124,7 +113,13 @@
         return VK_ERROR_INVALID_VALUE;
     }
 
-    query->obj.base.get_memory_requirements = query_get_memory_requirements;
+    VkMemoryAllocInfo mem_reqs;
+    mem_reqs.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOC_INFO;
+    mem_reqs.allocationSize = query->slot_stride * query->slot_count;
+    mem_reqs.pNext = NULL;
+    mem_reqs.memoryTypeIndex = 0;
+    intel_mem_alloc(dev, &mem_reqs, &query->obj.mem);
+
     query->obj.destroy = query_destroy;
 
     *query_ret = query;
@@ -178,9 +173,6 @@
 {
     const uint8_t *ptr;
 
-    if (!query->obj.mem)
-        return VK_ERROR_MEMORY_NOT_BOUND;
-
     if (intel_mem_is_busy(query->obj.mem))
         return VK_NOT_READY;