intel: use intel_dev for device creation and heap queries
diff --git a/icd/intel/dev.c b/icd/intel/dev.c
index 2b22da0..759c2cf 100644
--- a/icd/intel/dev.c
+++ b/icd/intel/dev.c
@@ -296,3 +296,46 @@
         f = f->next;
     }
 }
+
+XGL_RESULT XGLAPI intelCreateDevice(
+    XGL_PHYSICAL_GPU                            gpu_,
+    const XGL_DEVICE_CREATE_INFO*               pCreateInfo,
+    XGL_DEVICE*                                 pDevice)
+{
+    struct intel_gpu *gpu = intel_gpu(gpu_);
+
+    return intel_dev_create(gpu, pCreateInfo, (struct intel_dev **) pDevice);
+}
+
+XGL_RESULT XGLAPI intelDestroyDevice(
+    XGL_DEVICE                                  device)
+{
+    struct intel_dev *dev = intel_dev(device);
+
+    intel_dev_destroy(dev);
+
+    return XGL_SUCCESS;
+}
+
+XGL_RESULT XGLAPI intelGetMemoryHeapCount(
+    XGL_DEVICE                                  device,
+    XGL_UINT*                                   pCount)
+{
+    *pCount = 1;
+    return XGL_SUCCESS;
+}
+
+XGL_RESULT XGLAPI intelGetMemoryHeapInfo(
+    XGL_DEVICE                                  device,
+    XGL_UINT                                    heapId,
+    XGL_MEMORY_HEAP_INFO_TYPE                   infoType,
+    XGL_SIZE*                                   pDataSize,
+    XGL_VOID*                                   pData)
+{
+    struct intel_dev *dev = intel_dev(device);
+
+    intel_dev_get_heap_props(dev, pData);
+    *pDataSize = sizeof(XGL_MEMORY_HEAP_PROPERTIES);
+
+    return XGL_SUCCESS;
+}
diff --git a/icd/intel/dev.h b/icd/intel/dev.h
index 2fc0f25..ee045c4 100644
--- a/icd/intel/dev.h
+++ b/icd/intel/dev.h
@@ -91,4 +91,23 @@
 void intel_dev_remove_msg_filter(struct intel_dev *dev,
                                  XGL_INT msg_code);
 
+XGL_RESULT XGLAPI intelCreateDevice(
+    XGL_PHYSICAL_GPU                            gpu,
+    const XGL_DEVICE_CREATE_INFO*               pCreateInfo,
+    XGL_DEVICE*                                 pDevice);
+
+XGL_RESULT XGLAPI intelDestroyDevice(
+    XGL_DEVICE                                  device);
+
+XGL_RESULT XGLAPI intelGetMemoryHeapCount(
+    XGL_DEVICE                                  device,
+    XGL_UINT*                                   pCount);
+
+XGL_RESULT XGLAPI intelGetMemoryHeapInfo(
+    XGL_DEVICE                                  device,
+    XGL_UINT                                    heapId,
+    XGL_MEMORY_HEAP_INFO_TYPE                   infoType,
+    XGL_SIZE*                                   pDataSize,
+    XGL_VOID*                                   pData);
+
 #endif /* DEV_H */
diff --git a/icd/intel/dispatch_tables.c b/icd/intel/dispatch_tables.c
index edda2c2..f067d4d 100644
--- a/icd/intel/dispatch_tables.c
+++ b/icd/intel/dispatch_tables.c
@@ -24,22 +24,9 @@
 
 #include "icd.h"
 #include "dispatch_tables.h"
+#include "dev.h"
 #include "gen7_functions.h"
 
-static XGL_RESULT XGLAPI intelCreateDevice(
-    XGL_PHYSICAL_GPU                            gpu,
-    const XGL_DEVICE_CREATE_INFO*               pCreateInfo,
-    XGL_DEVICE*                                 pDevice)
-{
-    return XGL_ERROR_UNAVAILABLE;
-}
-
-static XGL_RESULT XGLAPI intelDestroyDevice(
-    XGL_DEVICE                                  device)
-{
-    return XGL_ERROR_UNAVAILABLE;
-}
-
 static XGL_RESULT XGLAPI intelGetDeviceQueue(
     XGL_DEVICE                                  device,
     XGL_QUEUE_TYPE                              queueType,
@@ -80,23 +67,6 @@
     return XGL_ERROR_UNAVAILABLE;
 }
 
-static XGL_RESULT XGLAPI intelGetMemoryHeapCount(
-    XGL_DEVICE                                  device,
-    XGL_UINT*                                   pCount)
-{
-    return XGL_ERROR_UNAVAILABLE;
-}
-
-static XGL_RESULT XGLAPI intelGetMemoryHeapInfo(
-    XGL_DEVICE                                  device,
-    XGL_UINT                                    heapId,
-    XGL_MEMORY_HEAP_INFO_TYPE                   infoType,
-    XGL_SIZE*                                   pDataSize,
-    XGL_VOID*                                   pData)
-{
-    return XGL_ERROR_UNAVAILABLE;
-}
-
 static XGL_RESULT XGLAPI intelAllocMemory(
     XGL_DEVICE                                  device,
     const XGL_MEMORY_ALLOC_INFO*                pAllocInfo,