intel: add get_info() to intel_base
diff --git a/icd/intel/obj.c b/icd/intel/obj.c
index 65b1834..8a8006f 100644
--- a/icd/intel/obj.c
+++ b/icd/intel/obj.c
@@ -41,6 +41,26 @@
return !intel_gpu_is_valid((const struct intel_gpu *) base);
}
+XGL_RESULT intel_base_get_info(struct intel_base *base, int type,
+ XGL_SIZE *size, XGL_VOID *data)
+{
+ XGL_RESULT ret = XGL_SUCCESS;
+ XGL_SIZE s;
+
+ switch (type) {
+ case XGL_INFO_TYPE_MEMORY_REQUIREMENTS:
+ s = sizeof(XGL_MEMORY_REQUIREMENTS);
+ memset(data, 0, s);
+ *size = s;
+ break;
+ default:
+ ret = XGL_ERROR_INVALID_VALUE;
+ break;
+ }
+
+ return ret;
+}
+
/**
* Initialize intel_base_dbg. It is assumed that the struct has already been
* zero initialized.
@@ -116,24 +136,8 @@
XGL_VOID* pData)
{
struct intel_base *base = intel_base(object);
- XGL_RESULT ret = XGL_SUCCESS;
- switch (infoType) {
- case XGL_INFO_TYPE_MEMORY_REQUIREMENTS:
- /*
- * Since most objects do not need a bo, we could use a callback so
- * that we do not need to embed XGL_MEMORY_REQUIREMENTS.
- */
- memcpy(pData, &base->mem_requirements,
- sizeof(XGL_MEMORY_REQUIREMENTS));
- *pDataSize = sizeof(XGL_MEMORY_REQUIREMENTS);
- break;
- default:
- ret = XGL_ERROR_INVALID_VALUE;
- break;
- }
-
- return ret;
+ return base->get_info(base, infoType, pDataSize, pData);
}
XGL_RESULT XGLAPI intelBindObjectMemory(