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,